//--------------------------------------------------------------- /// <summary> /// Loading main content /// </summary> public void LoadContent(TGraphicEngine GraphicEngine) { // Loading content by the engine (same for all programs) // In this example, there is no content, we load it manually #region LoadContentEngine // 1. Загружаем заставку // Loading the splash screen GameBase.LoadIntro(); // 2. Загружаем ядро описывающее все данные программы // Load the kernel describing all program data Content.LoadCore(); // 3. Загружаем стартовые события игры (там инициализируются события - например примение настроек под конкретную игру, загрузочный экран) // We load the starting events of the game (events are initialized there - for example, applying settings for a specific game, loading screen) GameBase.LoadEvents(Content); // 5. Загружаем настройки пользователей // Loading user settings //Content.LoadGameOptions("SimpleDraw", "GameOptions"); // 6. Загружаем стартовую сцену и те бинарные данные которые нужны для нее // We load the starting scene and the binary data that is needed for it //Content.LoadScene("MainScene"); //Content.LoadScene("Scene_TestMonoForms"); Content.LoadScene(""); // 7. Загружаем стартовую логику игры (там инициализируются логические скрипты) // We load the starting logic of the game (logic scripts are initialized there) GameBase.LoadLogic(Content); #endregion // EXAMPLE // An example of working with content and data model. All game objects can be created in xml // ! Displayed objects are described in the core folder in the content folder (Test.xml) // ! Textures and models are in the mods folder in the content folder // Referencing created to Test.xml items Content["My3DModelObject"].ToModel3D().OnClick_MouseButton += OnClick_MouseButton; Content["My3DTextureAnimatedObject"].ToTexture3D().OnClick_MouseButton += OnClick_MouseButton; // Run script for My3DTextureAnimatedObject (it is set in Test.xml, see ) Content.Add(new TScript_Test()); }
//--------------------------------------------------------------- /// <summary> /// Loading main content /// </summary> public void LoadContent(TGraphicEngine GraphicEngine) { // Loading content by the engine (same for all programs) // In this example, there is no content, we load it manually #region LoadContentEngine // 1. Загружаем заставку // Loading the splash screen GameBase.LoadIntro(); // 2. Загружаем ядро описывающее все данные программы // Load the kernel describing all program data Content.LoadCore(); // 3. Загружаем стартовые события игры (там инициализируются события - например примение настроек под конкретную игру, загрузочный экран) // We load the starting events of the game (events are initialized there - for example, applying settings for a specific game, loading screen) GameBase.LoadEvents(Content); // 5. Загружаем настройки пользователей // Loading user settings //Content.LoadGameOptions("SimpleDraw", "GameOptions"); // 6. Загружаем стартовую сцену и те бинарные данные которые нужны для нее // We load the starting scene and the binary data that is needed for it //Content.LoadScene("MainScene"); //Content.LoadScene("Scene_TestMonoForms"); Content.LoadScene(""); // 7. Загружаем стартовую логику игры (там инициализируются логические скрипты) // We load the starting logic of the game (logic scripts are initialized there) GameBase.LoadLogic(Content); #endregion // EXAMPLE FOR 3D TEXTURE // 1. Create a geometric object (there can be three options - 3D texture, 3D model and sprite) TTexture3D Texture3D = new TTexture3D(Content.Game.Render); // 2. Load image from file Texture3D.LoadTexture(AstraEngine.Engine.ETypeTextures.ColorTexture, TFile.GetCurrentPath() + "\\ImageTest.png"); // 3. Specifying the position and rotation of the object Texture3D.Position = new Vector3(0, 0, -1000); Texture3D.Rotation = new Vector3(0, 30, 30); // 4. Using the lighting controller and setting the light Texture3D.ControlLight.AddDirectionLight(Color.Red, 1.0f, new Vector3(0, 1000, 1000)); // 5. Bind the click event on the object Texture3D.OnClick_MouseButton += OnClick_MouseButton; // 6. We add the created geometry object to the universal content part. // This is necessary for creating complex programs and universal processing with scripts. Content.Add(new TContentPart("ImageTest", Texture3D)); // Referring to the part recorded in the content by name var MyTestTexture3D = Content["ImageTest"]; // Writing an additional arbitrary variable to a universal object MyTestTexture3D.SetData("MyTime", DateTime.Now); // Reading back var ReturnMyTime = MyTestTexture3D.ToDateTime("MyTime"); // EXAMPLE FOR 3D MODEL // 1. Create a geometric object (there can be three options - 3D texture, 3D model and sprite) TModel3D Model3D = new TModel3D(Content.Game.Render); // 2. Load model from file Model3D.LoadModel(TFile.GetCurrentPath() + "\\ModelTest.fbx"); // 3. Load color and normal maps Model3D.LoadTexture(AstraEngine.Engine.ETypeTextures.ColorTexture, TFile.GetCurrentPath() + "\\DiffuseMap.jpg"); Model3D.LoadTexture(AstraEngine.Engine.ETypeTextures.NormalTexture, TFile.GetCurrentPath() + "\\NormalMap.jpg"); // 4. Specifying the position and scale of the object Model3D.Position = new Vector3(500, 0, -1000); Model3D.Scale = new Vector3(2, 2, 2); // 5. Using the lighting controller and setting the light Model3D.ControlLight.SetAmbientLight(Color.White, 0.1f); Model3D.ControlLight.AddDirectionLight(Color.White, 0.5f, new Vector3(0, 1000, 1000)); // 6. Bind the click event on the object Model3D.OnClick_MouseButton += OnClick_MouseButton; // EXAMPLE FOR 2D SPRITE AND TEXT // 1. Create a geometric object (there can be three options - 3D texture, 3D model and sprite) TSprite2D Sprite2D = new TSprite2D(Content.Game.Render); // 2. Using the font controller, set the font settings Sprite2D.ControlFont.SetFont(AstraEngine.Geometry.EFont.Arial, 20); Sprite2D.ControlFont.SetColour(Color.Green); // 3. Specifying the position of the object Sprite2D.Position = new Vector3(0, 0, 0); // 4. We add the created geometry object to the universal content part. // This is necessary for creating complex programs and universal processing with scripts. Content.Add(new TContentPart("MySrite", Sprite2D)); }