fGameMenuC.cpp 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include <tchar.h>
  4. #pragma hdrstop
  5. #include "fGameMenuC.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. #pragma link "GLS.BaseClasses"
  9. #pragma link "GLS.BitmapFont"
  10. #pragma link "GLS.Cadencer"
  11. #pragma link "GLS.Coordinates"
  12. #pragma link "GLS.Material"
  13. #pragma link "GLS.Objects"
  14. #pragma link "GLS.Scene"
  15. #pragma link "GLS.SceneViewer"
  16. #pragma link "GLS.WindowsFont"
  17. #pragma resource "*.dfm"
  18. TForm1 *Form1;
  19. //---------------------------------------------------------------------------
  20. __fastcall TForm1::TForm1(TComponent* Owner)
  21. : TForm(Owner)
  22. {
  23. }
  24. //---------------------------------------------------------------------------
  25. void __fastcall TForm1::FormCreate(TObject *Sender)
  26. {
  27. TFileName Path = GetCurrentAssetPath();
  28. GLMaterialLibrary1->Materials->Items[0]->Material->Texture->Image->LoadFromFile("GLScene.bmp");
  29. GameMenu = (TGLGameMenu *)GLScene1->Objects->AddNewChild(__classid(TGLGameMenu));
  30. GameMenu->MaterialLibrary = GLMaterialLibrary1;
  31. GameMenu->TitleMaterialName = "LibMaterial";
  32. GameMenu->TitleHeight = 80;
  33. GameMenu->TitleWidth = 200;
  34. GameMenu->Font = GLWindowsBitmapFont1;
  35. GameMenu->Items->Add("test line 1");
  36. GameMenu->Items->Add("test line 2");
  37. GameMenu->Items->Add("test line 3");
  38. GameMenu->Items->Add("test line 4");
  39. GameMenu->Items->Add("test line 5");
  40. GameMenu->Items->Add("test line 6");
  41. GameMenu->Spacing = 1;
  42. GameMenu->Selected = 0;
  43. GameMenu->Position->Y = 200;
  44. }
  45. //---------------------------------------------------------------------------
  46. void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
  47. {
  48. if (IsKeyDown('w') || IsKeyDown('W') || IsKeyDown(VK_UP))
  49. GameMenu->SelectPrev();
  50. if (IsKeyDown('s') || IsKeyDown('S') || IsKeyDown(VK_DOWN))
  51. GameMenu->SelectNext();
  52. if (IsKeyDown(VK_RETURN))
  53. {
  54. if (GameMenu->Selected != -1)
  55. ShowMessage("You have selected option: " + GameMenu->SelectedText);
  56. }
  57. }
  58. //---------------------------------------------------------------------------
  59. void __fastcall TForm1::GLCadencer1Progress(TObject *Sender, const double deltaTime,
  60. const double newTime)
  61. {
  62. GLSceneViewer1->Invalidate();
  63. }
  64. //---------------------------------------------------------------------------
  65. void __fastcall TForm1::GLSceneViewer1MouseMove(TObject *Sender, TShiftState Shift,
  66. int X, int Y)
  67. {
  68. GameMenu->MouseMenuSelect(X, Y);
  69. }
  70. //---------------------------------------------------------------------------
  71. void __fastcall TForm1::GLSceneViewer1MouseDown(TObject *Sender, TMouseButton Button,
  72. TShiftState Shift, int X, int Y)
  73. {
  74. GameMenu->MouseMenuSelect(X, Y);
  75. if (GameMenu->Selected != -1)
  76. ShowMessage("You have selected option: " + GameMenu->SelectedText);
  77. }
  78. //---------------------------------------------------------------------------
  79. void __fastcall TForm1::ShowTitleCheckboxClick(TObject *Sender)
  80. {
  81. if (GameMenu->TitleHeight == 0)
  82. GameMenu->TitleHeight = 80;
  83. else
  84. GameMenu->TitleHeight = 0;
  85. }
  86. //---------------------------------------------------------------------------
  87. void __fastcall TForm1::MainPanelResize(TObject *Sender)
  88. {
  89. GameMenu->Position->X = MainPanel->Width / 2;
  90. }