Example #1
0
        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);
        }
Example #2
0
 /// <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);
 }
Example #3
0
        protected override void Awake()
        {
            base.Awake();

            image = Owner.GetComponent <UiImageRendererComponent>();
            Random rnd = new Random();

            xYDelta = (float)rnd.NextDouble();
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        /// <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);
        }