protected override void InitializeScene() { TextureGenerator.Initialize(true); BasicCamera mainCamera = new BasicCamera( Matrix4.CreatePerspectiveFieldOfView(MathHelper.DegreesToRadians(75f), GameEngine.Instance.Width / (float)GameEngine.Instance.Height, 0.01f, 1000f), Vector3.Zero); object mc = mainCamera; //EngineConfig.LoadConfig("assets/configs/camera_menu.xml", ref mc); Add(mainCamera); SetCamera(mainCamera); menubg = GenerateMenuBackground(); UiImageRendererComponent bg = new UiImageRendererComponent(menubg.Copy(), false, 1, DefaultFilepaths.DefaultUiImageShader); GameObject bgobj = new GameObject("BG"); bgobj.AddComponent(new BackgroundMover()); bgobj.AddComponent(bg); Add(bgobj); //Positions are wrong(0.5 => 5) out of the screen because the correct positions are defined in CreateButtonAnimation. CreateButton("assets/textures/btn/btn", "Start Game", new Vector2(-5f, 0.5f), new Vector2(0.2f, 0.1f), CreateButtonAnimation(new Vector2(-0.5f, 0.5f), 0), btnStartGame); CreateButton("assets/textures/btn/btn", "Credits", new Vector2(-5f, 0.25f), new Vector2(0.2f, 0.1f), CreateButtonAnimation(new Vector2(-0.5f, 0.25f), 0.2f)); CreateButton("assets/textures/btn/btn", "Exit", new Vector2(-5f, 0.0f), new Vector2(0.2f, 0.1f), CreateButtonAnimation(new Vector2(-0.5f, 0.0f), 0.4f), btnExit); DebugConsoleComponent c = DebugConsoleComponent.CreateConsole().GetComponent <DebugConsoleComponent>(); Add(c.Owner); }
/// <summary> /// Awake function getting all the references in need and also adding a few basic commands /// </summary> protected override void Awake() { graphData = new Queue <float>(); MemoryTracer.SetDebugComponent(this); consoleOutBuffer = new Queue <string>(); consoleOutBuffer.Enqueue("Console Initialized.."); title = Owner.GetChildWithName("Title").GetComponent <UiTextRendererComponent>(); consoleInput = Owner.GetChildWithName("ConsoleInput").GetComponent <UiTextRendererComponent>(); consoleOutput = Owner.GetChildWithName("ConsoleOutput").GetComponent <UiTextRendererComponent>(); bgImage = Owner.GetChildWithName("BackgroundImage").GetComponent <UiImageRendererComponent>(); hintText = Owner.GetChildWithName("HintText").GetComponent <UiTextRendererComponent>(); graph = Owner.GetChildWithName("Graph").GetComponent <GraphDrawingComponent>(); graph.Enabled = false; consoleOutputImage = Owner.GetChildWithName("BackgroundOutputImage").GetComponent <UiImageRendererComponent>(); sb = new StringBuilder(); outSb = new StringBuilder(); AddCommand("help", cmd_ListCmds); AddCommand("h", cmd_ListCmds); AddCommand("q", cmd_Exit); AddCommand("exit", cmd_Exit); AddCommand("quit", cmd_Exit); AddCommand("cls", cmd_Clear); AddCommand("clear", cmd_Clear); AddCommand("lmem", MemoryTracer.CmdListMemoryInfo); AddCommand("llmem", MemoryTracer.CmdListLastMemoryInfo); AddCommand("cmd", CmdExOnConsole); AddCommand("tg", cmd_ToggleGraph); AddCommand("togglegraph", cmd_ToggleGraph); AddCommand("reload", cmd_ReLoadScene); AddCommand("load", cmd_LoadScene); AddCommand("listscenes", cmd_ListScenes); AddCommand("ls", cmd_ListScenes); }
protected override void Awake() { base.Awake(); image = Owner.GetComponent <UiImageRendererComponent>(); Random rnd = new Random(); xYDelta = (float)rnd.NextDouble(); }
protected override void Awake() { Instance = this; GameObject enemiesLeftObj = new GameObject("EnemiesLeft"); EnemiesLeftText = new UiTextRendererComponent("Arial", false, 1, DefaultFilepaths.DefaultLitShader); enemiesLeftObj.AddComponent(EnemiesLeftText); EnemiesLeftText.Position = new Vector2(0.2f, -0.45f); EnemiesLeftText.Scale = new Vector2(2f); EnemiesLeftText.Text = "Enemies Left: 0/0"; Owner.Add(enemiesLeftObj); Bitmap bmp = new Bitmap(1, 1); GameObject playerHPBarBGObj = new GameObject("PlayerHPBar"); bmp.SetPixel(0, 0, Color.Black); PlayerHPBarBGObj = new UiImageRendererComponent(TextureLoader.BitmapToTexture(bmp, "UI_HPBar_BG"), false, 1, DefaultFilepaths.DefaultUiImageShader); playerHPBarBGObj.AddComponent(PlayerHPBarBGObj); PlayerHPBarBGObj.Position = new Vector2(0.0f, 0.9f); PlayerHPBarBGObj.Scale = new Vector2(0.31f, 0.05f * GameEngine.Instance.AspectRatio * 1.2f); Owner.Add(playerHPBarBGObj); GameObject playerHPBarObj = new GameObject("PlayerHPBar"); bmp.SetPixel(0, 0, Color.Red); PlayerHPBarObj = new UiImageRendererComponent(TextureLoader.BitmapToTexture(bmp, "UI_HPBar"), false, 1, DefaultFilepaths.DefaultUiImageShader); playerHPBarObj.AddComponent(PlayerHPBarObj); PlayerHPBarObj.Position = new Vector2(0.0f, 0.9f); PlayerHPBarObj.Scale = new Vector2(0.3f, 0.05f * GameEngine.Instance.AspectRatio); Owner.Add(playerHPBarObj); }
public void LoadLoadingScreen(Texture background = null) { LoadingSymbol = TextureLoader.FileToTexture("assets/textures/LoadingSymbol.jpg"); bg = new GameObject("Background"); if (background == null) { BlackBG = HoBMenuScene.menubg; } else { BlackBG = background; } UiImageRendererComponent bgImage = new UiImageRendererComponent(BlackBG, false, 1, DefaultFilepaths.DefaultUiImageShader); bgImage.RenderQueue = -1; bg.AddComponent(bgImage); bg.AddComponent(new BackgroundMover()); Add(bg); GameObject text = new GameObject("text"); GameFont f = FontLibrary.LoadFontDirect("assets/fonts/default_font.ttf", 64); UiTextRendererComponent tr = new UiTextRendererComponent(f, false, 1, DefaultFilepaths.DefaultUiTextShader); text.AddComponent(tr); bg.Add(text); tr.Text = "Loading..."; tr.SystemColor = Color.Black; tr.Scale = Vector2.One * 3; tr.RenderQueue = -1; tr.Position = new Vector2(-0.7f, -0.7f); loading = new GameObject("Loading"); UiImageRendererComponent loadingImage = new UiImageRendererComponent(LoadingSymbol, false, 1, DefaultFilepaths.DefaultUiImageShader); loadingImage.RenderQueue = -1; loading.AddComponent(loadingImage); Add(loading); float size = 0.05f; loadingImage.Position = new Vector2(0.7f, -0.7f); loadingImage.Scale = new Vector2(size, GameEngine.Instance.AspectRatio * size); LinearAnimation loadAnim = new LinearAnimation(); Interpolator intP = new Arc2Interpolator(); loadAnim.Interpolator = intP; loadAnim.StartPos = loadingImage.Position; loadAnim.EndPos = loadingImage.Position + Vector2.UnitY * 0.1f; loadAnim.MaxAnimationTime = 0.5f; loadAnim.Trigger = AnimationTrigger.None; loadAnim.AnimationDelay = 0f; Animator anim = new Animator(new List <Animation> { loadAnim }, loadingImage); loading.AddComponent(anim); LoopTimer(anim, loadAnim); GameObject obj = new GameObject("Timer"); GeneralTimer timer = new GeneralTimer(0.5f, () => LoopTimer(anim, loadAnim), true); obj.AddComponent(timer); Add(obj); }
/// <summary> /// Static function that will assemble the Console /// </summary> /// <returns>A gameobject ready to be added to the game</returns> public static GameObject CreateConsole() { GameObject obj = new GameObject("Console"); GameObject _in = new GameObject("ConsoleInput"); GameObject _out = new GameObject("ConsoleOutput"); GameObject titleObj = new GameObject("Title"); GameObject bgObj = new GameObject("BackgroundImage"); GameObject bgOutObj = new GameObject("BackgroundOutputImage"); GameObject hint = new GameObject("HintText"); GameObject graph = new GameObject("Graph"); obj.Add(_in); obj.Add(_out); obj.Add(titleObj); obj.Add(bgObj); obj.Add(hint); obj.Add(bgOutObj); obj.Add(graph); Bitmap bmp = new Bitmap(1, 1); bmp.SetPixel(0, 0, Color.Black); UiImageRendererComponent bgImage = new UiImageRendererComponent(TextureLoader.BitmapToTexture(bmp, "DebugConsoleBackground"), false, 0.65f, DefaultFilepaths.DefaultUiImageShader); UiImageRendererComponent bgOutImage = new UiImageRendererComponent(TextureLoader.BitmapToTexture(bmp, "DebugConsoleOutputBackground"), false, 0.4f, DefaultFilepaths.DefaultUiImageShader); UiTextRendererComponent tText = new UiTextRendererComponent(DefaultFilepaths.DefaultFont, false, 1f, DefaultFilepaths.DefaultUiTextShader) { Text = "GameEngine Console:" }; UiTextRendererComponent tHint = new UiTextRendererComponent(DefaultFilepaths.DefaultFont, false, 1f, DefaultFilepaths.DefaultUiTextShader) { Text = "GameEngine Console:" }; UiTextRendererComponent tIn = new UiTextRendererComponent(DefaultFilepaths.DefaultFont, false, 1f, DefaultFilepaths.DefaultUiTextShader) { Text = "" }; UiTextRendererComponent tOut = new UiTextRendererComponent(DefaultFilepaths.DefaultFont, false, 1f, DefaultFilepaths.DefaultUiTextShader) { Text = "Console Initialized.." }; GraphDrawingComponent gDraw = new GraphDrawingComponent(DefaultFilepaths.DefaultUiGraphShader, false, 1f); bgOutObj.AddComponent(bgOutImage); bgObj.AddComponent(bgImage); graph.AddComponent(gDraw); _in.AddComponent(tIn); _out.AddComponent(tOut); titleObj.AddComponent(tText); hint.AddComponent(tHint); gDraw.Scale = new Vector2(0.5f, 0.5f); gDraw.Position = new Vector2(0.5f); gDraw.Points = new[] { new Vector2(0f, 0f), new Vector2(1f, 1f) }; tText.Position = new Vector2(-0.39f, 0.353f) * 2; tText.Scale = new Vector2(2f, 2f); tOut.Position = new Vector2(-0.33f, 0.31f) * 2; tOut.Scale = new Vector2(0.8f, 0.8f); tIn.Position = new Vector2(-0.39f, -0.39f) * 2; tIn.Scale = new Vector2(1.5f, 1.5f); tHint.Position = new Vector2(-0.46f, -0.46f) * 2; tHint.Scale = new Vector2(1.5f, 1.5f); bgImage.Scale = new Vector2(0.8f); bgOutImage.Scale = new Vector2(0.7f); obj.AddComponent(new DebugConsoleComponent()); return(obj); }