/// <summary>
        /// This method initializes the element of the interface
        /// </summary>
        /// <param name="name"> A name to pass to generate the overaly </param>
        protected override void Load(string name)
        {
            base.Load(name);
            time  = new Timer();
            lives = new List <SceneNode>();

            healthBar = OverlayManager.Singleton.GetOverlayElement("HealthBar");
            hRatio    = healthBar.Width / (float)characterStats.Health.Max;

            shieldBar = OverlayManager.Singleton.GetOverlayElement("ShieldBar");
            sRatio    = shieldBar.Width / (float)characterStats.Shield.Max;

            scoreText         = OverlayManager.Singleton.GetOverlayElement("ScoreText");
            scoreText.Caption = score;
            scoreText.Left    = mWindow.Width * 0.5f;

            timeText         = OverlayManager.Singleton.GetOverlayElement("TimerText");
            timeText.Caption = timer;
            timeText.Left    = mWindow.Width * 0.5f;

            gameOver         = OverlayManager.Singleton.GetOverlayElement("GameOver");
            gameOver.Caption = gover;
            gameOver.Left    = mWindow.Width * 0.5f;
            gameOver.Hide();

            scoreGameOver = OverlayManager.Singleton.GetOverlayElement("ScoreGameOver");

            scoreGameOver.Left = mWindow.Width * 0.5f;
            gameOver.Hide();

            levelCompleted         = OverlayManager.Singleton.GetOverlayElement("LevelCompleted");
            levelCompleted.Caption = levelCompletedText;
            levelCompleted.Left    = mWindow.Width * 0.5f;
            levelCompleted.Hide();

            newLevel         = OverlayManager.Singleton.GetOverlayElement("NewLevel");
            newLevel.Caption = newLevelText;
            newLevel.Left    = mWindow.Width * 0.5f;
            newLevel.Hide();



            panelGameMessage =
                (PanelOverlayElement)OverlayManager.Singleton.GetOverlayElement("GameMessage");
            panelGameMessage.Width = mWindow.Width;
            panelGameMessage.Hide();

            panel =
                (PanelOverlayElement)OverlayManager.Singleton.GetOverlayElement("GreenBackground");
            panel.Width = mWindow.Width;
            LoadOverlay3D();
        }
Example #2
0
        public override void Update(FrameEvent evt)
        {
            base.Update(evt);

            Animate(evt);

            if (lives.Count > characterStats.Lives.Value && characterStats.Lives.Value >= 0)
            {
                SceneNode life = lives[lives.Count - 1];
                RemoveAndDestroyLife(life);
            }
            if (lives.Count < characterStats.Lives.Value)
            {
                AddHeart(characterStats.Lives.Value);
            }

            healthBar.Width   = hRatio * characterStats.Health.Value;
            shieldBar.Width   = sRatio * characterStats.Shield.Value;
            scoreText.Caption = score + ((PlayerStats)characterStats).Score.Value;

            if (Tutorial.win == true)
            {
                winText.Show();
            }
            else if (clockText == "0:00")
            {
                //clockText = "0:00";
                gameOverText.Show();
                gameOver.Show();
                timeText.Hide();
                scoreText.Hide();
                healthBar.Hide();
            }
            else
            {
                clockText        = convertTime(clock - time.Milliseconds);
                timeText.Caption = timer + clockText;
            }

            if (characterStats.Lives.Value == 0)
            {
                gameOverText.Show();
                gameOver.Show();
                timeText.Hide();
                scoreText.Hide();
                healthBar.Hide();
            }

            levelText.Caption = leveltxt;
        }
Example #3
0
        /// <summary>
        /// This method disposes of the elements generated in the interface
        /// </summary>
        public override void Dispose()
        {
            base.Dispose();
            List <SceneNode> toRemove = new List <SceneNode>();

            foreach (SceneNode life in lives)
            {
                toRemove.Add(life);
            }
            foreach (SceneNode life in toRemove)
            {
                RemoveAndDestroyLife(life);
            }
            lifeEntity.Dispose();
            toRemove.Clear();

            shieldBar.Hide();
            healthBar.Hide();
            ammoText.Hide();
            scoreText.Hide();
            levelText.Hide();
            timeText.Hide();
            panel.Hide();
            overlay3D.Hide();


            shieldBar.Dispose();
            healthBar.Dispose();
            ammoText.Dispose();
            scoreText.Dispose();
            levelText.Dispose();
            timeText.Dispose();
            panel.Dispose();
            overlay3D.Dispose();
        }
Example #4
0
        //private bool dragging;
        public ListView(string name, float left, float top, float height, float width, List <string> columnNames)
        {
            listview        = OverlayManager.Singleton.CreateOverlayElementFromTemplate("AMGE/UI/ListView", "BorderPanel", name) as OverlayContainer;
            scroll          = listview.GetChild(name + "/ListViewScroll") as BorderPanelOverlayElement;
            drag            = scroll.GetChild(name + "/ListViewScroll" + "/ListViewDrag") as OverlayElement;
            this.name       = name;
            this.top        = top;
            this.height     = height;
            this.width      = width;
            this.left       = left;
            listview.Top    = top;
            listview.Left   = left;
            listview.Height = height;
            listview.Width  = width;
            scroll.Height   = height - 0.016f;
            drag.Hide();

            //remove column's height
            maxShowItem     = System.Math.Floor(Convert.ToDouble(float.Parse((height - 0.04f).ToString("0.00")) / 0.045f));
            columns         = new List <ListViewColumn>();
            items           = new List <ListViewItem>();
            visibleItems    = new List <ListViewItem>();
            allUsedElements = new List <OverlayElement>();

            mElement = listview;

            LoadColumns(columnNames);
        }
        public void hideMessage()
        {
            //  this.level = level;

            panelGameMessage.Hide();
            levelCompleted.Hide();
            newLevel.Hide();
        }
Example #6
0
        private void CreateMessageContainer()
        {
            // BetaGUI.GUI gui = new GUI();
            // Window w = gui.createWindow();
            // w.createStaticImage()

            backgroundElement.Hide();
            iconOverlay             = OverlayManager.Singleton.GetByName("Wof/MessageBar");
            iconElement             = OverlayManager.Singleton.GetOverlayElement("Wof/MessageBarIcon");
            iconElement.MetricsMode = GuiMetricsMode.GMM_RELATIVE;
            iconElement.SetDimensions(radioIconWidth, radioIconWidth);
            iconElement.Show();
            iconOverlay.Hide();     // zewnetrzny kontener ukryje wszystko


            iconDefaultDimesions.x = Mogre.StringConverter.ParseReal(iconElement.GetParameter("width"));
            iconDefaultDimesions.y = Mogre.StringConverter.ParseReal(iconElement.GetParameter("height"));

            messageElement = OverlayManager.Singleton.CreateOverlayElement(
                "TextArea", "messageElement " + DateTime.Now.Ticks);
            messageContainer = (OverlayContainer)OverlayManager.Singleton.CreateOverlayElement(
                "Panel", "messageContainer " + DateTime.Now.Ticks);

            messageElement.SetDimensions(mainViewport.ActualWidth, mainViewport.ActualHeight);
            messageElement.MetricsMode = GuiMetricsMode.GMM_PIXELS;

            messageElement.SetParameter("font_name", FontManager.CurrentFont);

            messageElement.MetricsMode = GuiMetricsMode.GMM_RELATIVE;
            messageElement.SetParameter("char_height", StringConverter.ToString(EngineConfig.CurrentFontSize));
            messageElement.SetParameter("colour_top", "0.1 0.1 0.1");
            messageElement.SetParameter("colour_bottom", "0.5 0.1 0.1");
            messageElement.Caption = "";


            messageContainer.MetricsMode = GuiMetricsMode.GMM_RELATIVE;
            messageContainer.SetDimensions(1.0f, 0.05f);
            // messageContainer.SetPosition(0.055f, 0.015f);

            messageContainer.AddChild(messageElement);
            messageOverlay.Add2D(messageContainer);
            messageContainer.Show();
        }
Example #7
0
        public void AddItem(List <string> item)
        {
            float        left = 0.01f;
            ListViewItem lvi  = new ListViewItem();

            if (items.Count == 0)
            {
                lvi.Top = top + 0.042f;
            }
            else
            {
                ListViewItem lastLvi = items.Last();
                lvi.Top = lastLvi.Top + 0.048f;
            }
            for (int i = 0; i < item.Count; i++)
            {
                PanelOverlayElement ListViewCell = OverlayManager.Singleton.CreateOverlayElementFromTemplate("ListView/ListViewCell", "Panel", "item" + Guid.NewGuid()) as PanelOverlayElement;
                var txtArea = ListViewCell.GetChild(ListViewCell.Name + "/ListViewCellCaption");
                txtArea.Caption = item[i];
                lvi.Items.Add(ListViewCell);
                ListViewCell.Top   = lvi.Top;
                ListViewCell.Left  = left;
                ListViewCell.Width = width / item.Count - 0.005f;
                var line = OverlayManager.Singleton.CreateOverlayElementFromTemplate("AMGE/UI/HorizalLine", "Panel", "colhorline" + Guid.NewGuid()) as PanelOverlayElement;;
                line.Left  = 0.0f;
                line.Top   = 0.0f;
                line.Width = ListViewCell.Width;
                line.Show();
                ListViewCell.AddChild(line);
                left = left + ListViewCell.Width;
                if (items.Count >= maxShowItem)
                {
                    ListViewCell.Hide();
                }
                else
                {
                    ListViewCell.Show();
                }

                listview.AddChild(ListViewCell);
            }
            items.Add(lvi);



            if (items.Count >= maxShowItem)
            {
                drag.Show();
                drag.Height = (float)(maxShowItem * 0.045f * Convert.ToDouble(maxShowItem / items.Count));
            }
            else
            {
                drag.Hide();
            }
        }
Example #8
0
        protected override void Load(string name)
        {
            base.Load(name);

            lives = new List <SceneNode>();
            //time = new Timer();
            //time = new System.Timers.Timer(10000);
            time = new Mogre.Timer();
            //time.Milliseconds();

            healthBar = OverlayManager.Singleton.GetOverlayElement("HealthBar");
            hRatio    = healthBar.Width / (float)characterStats.Health.Max;

            shieldBar = OverlayManager.Singleton.GetOverlayElement("ShieldBar");
            sRatio    = shieldBar.Width / (float)characterStats.Shield.Max;

            scoreText         = OverlayManager.Singleton.GetOverlayElement("ScoreText");
            scoreText.Caption = score;
            scoreText.Left    = mWindow.Width * 0.5f;

            //OverlayManager.Singleton.CreateOverlayElement("timeText", "TimeText");
            timeText         = OverlayManager.Singleton.GetOverlayElement("TimeText");
            timeText.Caption = timer;
            timeText.Left    = mWindow.Width * 0.5f;
            timeText.Top     = mWindow.Height * 0.05f;

            levelText         = OverlayManager.Singleton.GetOverlayElement("LevelText");
            levelText.Caption = leveltxt;
            levelText.Left    = mWindow.Width * 0.3f;
            levelText.Top     = mWindow.Height * 0.025f;

            winText         = OverlayManager.Singleton.GetOverlayElement("WinText");
            winText.Caption = win;
            winText.Left    = mWindow.Width * 0.5f;
            winText.Top     = mWindow.Height * 0.5f;
            winText.Hide();

            gameOverText         = OverlayManager.Singleton.GetOverlayElement("GameOverText");
            gameOverText.Caption = gameOverTime;
            gameOverText.Left    = mWindow.Width * 0.5f;
            gameOverText.Top     = mWindow.Height * 0.1f;
            gameOverText.Hide();

            gameOver = (PanelOverlayElement)OverlayManager.Singleton.GetOverlayElement("GameOver");
            gameOver.Hide();

            panel       = (PanelOverlayElement)OverlayManager.Singleton.GetOverlayElement("GreenBackground");
            panel.Width = mWindow.Width;
            LoadOverlay3D();
        }
Example #9
0
        public void DestroyMessageContainer()
        {
            try
            {
                MaterialPtr mat = MaterialManager.Singleton.GetByName("MessageBarIcon");
                mat.GetBestTechnique().GetPass(0).GetTextureUnitState(0).SetTextureName("radio.png");
            }
            catch (Exception)
            {
            }

            if (messageOverlay != null)
            {
                messageOverlay.Hide();
                messageOverlay.Dispose();
                messageOverlay = null;
            }

            if (backgroundElement != null)
            {
                backgroundElement.Hide();
                backgroundElement.Dispose();
                backgroundElement = null;
            }

            messageContainer.Hide();

            OverlayManager.Singleton.DestroyOverlayElement(messageElement);
            messageElement = null;
            messageContainer.Dispose();
            messageContainer = null;

            if (iconOverlay != null)
            {
                iconElement.Hide();
                iconElement.Dispose();
                iconElement = null;
                iconOverlay.Hide();
                iconOverlay.Dispose();
                iconOverlay = null;
            }
        }
Example #10
0
        public GuiCursor(Panel cursor, List <string> subCursorList, int subCursorIndex)
            : base(cursor)
        {
            this.subCursorList  = subCursorList;
            this.subCursorIndex = subCursorIndex;

            //sychronize cursors at start
            for (int index = 0; index < subCursorList.Count; index++)
            {
                OverlayElement subCursor = ((OverlayElementContainer)element).GetChild(subCursorList[index]);
                if (subCursorIndex == index)
                {
                    subCursor.Show();
                }
                else
                {
                    subCursor.Hide();
                }
            }
        }
Example #11
0
        public SimplePanelScrollableWidget(string name, float width = 0, float height = 0, float left = 0, float top = 0, float eachRowHeight = 0.03f, int col = 1, bool hasBorder = true) : base(name, width, height, left, top, (int)(height / eachRowHeight), col, hasBorder)
        {
            visualWidgets = new List <Widget>();
            string scrollName = name + "_Scroll";

            scroll = OverlayManager.Singleton.CreateOverlayElementFromTemplate("ScrollComponet", "BorderPanel", scrollName) as BorderPanelOverlayElement;
            drag   = scroll.GetChild(scrollName + "/Drag") as OverlayElement;

            for (int i = 0; i < Rows.Count; i++)
            {
                Rows[i].Type = ValueType.Auto;
            }

            scroll.Left = -0.01f;
            scroll.Top  = 0;
            AddChildOverlayElement(scroll);
            initDragTop = drag.Top;

            scroll.Hide();
            drag.Hide();
        }
        /// <summary>
        /// This method updates the interface
        /// </summary>
        /// <param name="evt"></param>
        public override void Update(FrameEvent evt)                                                      ////////////Update
        {
            if (Globals.freezeGame == false)
            {
                base.Update(evt);

                Animate(evt);

                if (lives.Count > characterStats.Lives.Value && characterStats.Lives.Value >= 0)
                {
                    SceneNode life = lives[lives.Count - 1];
                    RemoveAndDestroyLife(life);
                }
                if (lives.Count < characterStats.Lives.Value)
                {
                    AddHeart(characterStats.Lives.Value);
                }

                healthBar.Width   = hRatio * characterStats.Health.Value;
                shieldBar.Width   = sRatio * characterStats.Shield.Value;
                scoreText.Caption = score + ((PlayerStats)characterStats).Score.Value;


                timeText.Caption = timer + DecreaseTime(time.Milliseconds);

                if (timeText.Caption.Contains("-") || (playerStats.Lives.Value == 0 && playerStats.Health.Value <= 0))
                {
                    //
                    //    timeText.Caption = "-time's up-";
                    timeText.Hide();

                    panel.Hide();
                    panelGameMessage.Show();
                    gameOver.Show();
                    scoreGameOver.Caption = score + ((PlayerStats)characterStats).Score.Value;
                    scoreGameOver.Show();
                    Globals.freezeGame = true;
                }
            }
        }
Example #13
0
        /// <summary>
        /// This method initializes the element of the interface
        /// </summary>
        /// <param name="name"> A name to pass to generate the overaly </param>
        protected override void Load(string name)
        {
            base.Load(name);

            lives = new List <SceneNode>();

            healthBar = OverlayManager.Singleton.GetOverlayElement("HealthBar");
            hRatio    = healthBar.Width / (float)characterStats.Health.Max;

            shieldBar = OverlayManager.Singleton.GetOverlayElement("ShieldBar");
            //sRatio = shieldBar.Width / (float)characterStats.Shield.Max;
            sRatio            = shieldBar.Width / (float)characterStats.Shield.Value;
            scoreText         = OverlayManager.Singleton.GetOverlayElement("ScoreText");
            scoreText.Caption = score;
            scoreText.Left    = mWindow.Width * 0.5f;

            panel =
                (PanelOverlayElement)OverlayManager.Singleton.GetOverlayElement("GreenBackground");
            panel.Width = mWindow.Width;
            LoadOverlay3D();

            time             = new Timer();
            timeText         = OverlayManager.Singleton.GetOverlayElement("TimeText");
            timeText.Caption = timeDisplay;
            timeText.Left    = mWindow.Width * 0.5f;

            gameWonText         = OverlayManager.Singleton.GetOverlayElement("GameWonText");
            gameWonText.Caption = wonDisplay;
            gameWonText.Left    = mWindow.Width * 0.5f;
            //gameWonText.Top = mWindow.Height * 0.5f;
            gameWonText.Hide();

            gameLostText         = OverlayManager.Singleton.GetOverlayElement("GameLostText");
            gameLostText.Caption = "Game Over!";
            gameLostText.Left    = mWindow.Width * 0.5f;
            //gameLostText.Top = mWindow.Height * 0.5f;
            gameLostText.Hide();
        }
Example #14
0
        public override void Run()
        {
            meshLayer        = OverlayManager.Singleton.Create("CharacterPreview");
            meshLayer.ZOrder = 999;

            SceneManager scm = ScreenManager.Instance.Camera.SceneManager;

            ent       = scm.CreateEntity(Guid.NewGuid().ToString(), meshName);
            sceneNode = scm.CreateSceneNode();
            sceneNode.Translate(new Mogre.Vector3(0, 0, 0));
            sceneNode.Rotate(Quaternion.IDENTITY);
            float lenght = ent.BoundingBox.Size.Length * 2;

            sceneNode.Translate(new Mogre.Vector3(-7f, 5f, -1.0f * lenght));
            ent.RenderQueueGroup   = (byte)RenderQueueGroupID.RENDER_QUEUE_MAX;
            ent.Skeleton.BlendMode = SkeletonAnimationBlendMode.ANIMBLEND_CUMULATIVE;

            baseAnim         = ent.GetAnimationState(animNames[1]);
            topAnim          = ent.GetAnimationState(animNames[0]);
            baseAnim.Enabled = true;
            topAnim.Enabled  = true;
            baseAnim.Loop    = true;
            topAnim.Loop     = true;

            sceneNode.AttachObject(ent);
            meshLayer.Add3D(sceneNode);
            meshLayer.Show();

            equipmentPanel = OverlayManager.Singleton.CreateOverlayElementFromTemplate("CharacterEquipment", "BorderPanel", "inventoryPanelLeftArea") as OverlayContainer;
            previewPanel   = OverlayManager.Singleton.CreateOverlayElementFromTemplate("CharacterPreview", "BorderPanel", "inventoryPanelMiddleArea") as OverlayContainer;
            backpackPanel  = OverlayManager.Singleton.CreateOverlayElementFromTemplate("CharacterBackpack", "BorderPanel", "inventoryPanelRightArea") as OverlayContainer;
            row            = (int)System.Math.Round((backpackPanel.Height - 0.04) / INV_WIDTH);
            col            = (int)System.Math.Round((backpackPanel.Width - 0.04) / INV_WIDTH);

            int   row_counter = 1;
            int   col_counter = 1;
            float topValue    = 0.0f;
            float leftValue   = 0.0f;

            for (int i = 0; i < 35; i++)
            {
                if (i == 0)
                {
                    topValue  = 0.02f;
                    leftValue = 0.02f;
                }
                else if (col_counter <= col)
                {
                    leftValue += INV_WIDTH;
                }
                else
                {
                    topValue   += INV_WIDTH;
                    col_counter = 1;
                    row_counter++;
                    leftValue = 0.02f;
                }
                OverlayElement invSlotElement = OverlayManager.Singleton.CreateOverlayElementFromTemplate("InventorySlot", "BorderPanel", "INV_NO_" + i.ToString());
                invSlotElement.MetricsMode = GuiMetricsMode.GMM_RELATIVE;
                invSlotElement.Left        = leftValue;
                invSlotElement.Top         = topValue;
                invSlotElement.Width       = INV_WIDTH;
                invSlotElement.Height      = INV_WIDTH;
                if (row_counter <= row)
                {
                    backpackPanel.AddChild(invSlotElement);
                }
                else
                {
                    invSlotElement.Hide();
                    backpackPanel.AddChild(invSlotElement);
                }
                elements.Add(invSlotElement);
                col_counter++;
            }
            GameManager.Instance.trayMgr.getTraysLayer().Add2D(equipmentPanel);
            GameManager.Instance.trayMgr.getTraysLayer().Add2D(previewPanel);
            GameManager.Instance.trayMgr.getTraysLayer().Add2D(backpackPanel);
        }
Example #15
0
 public void Hide()
 {
     element.Hide();
 }
Example #16
0
        public void UpdateControl(float timeSinceLastFrame)
        {
            if (currentMessage == null)
            {
                if (messageQueue.Count != 0)
                {
                    //   Console.WriteLine("Enqueuing");
                    currentMessage = messageQueue[0];
                    PrepareMessage();
                    messageQueue.RemoveAt(0);

                    if (currentMessage.NoBackground && messageElement != null && !messageElement.IsVisible)
                    {
                        ShowCurrentMessage();
                    }


                    if (instantBackground && messageElement != null && !messageElement.IsVisible)
                    {
                        currentBgOpacity = bgAnimationMaxOpacity;
                        SetBgOpacity(currentBgOpacity);
                        ShowCurrentMessage();
                    }

                    if (!currentMessage.NoBackground)
                    {
                        backgroundElement.Show();
                        isIncreasingBgOpacity = true;
                    }
                }
                else
                {
                }
            }
            else
            {
                if (!currentMessage.NoBackground)
                {
                    // BACKGROUND
                    if (isIncreasingBgOpacity)
                    {
                        if (currentBgOpacity < bgAnimationMaxOpacity)
                        {
                            SetBgOpacity(currentBgOpacity);
                            currentBgOpacity += timeSinceLastFrame / bgAnimationLength;
                            return;
                        }
                        else
                        {
                            isIncreasingBgOpacity = false;
                            currentBgOpacity      = bgAnimationMaxOpacity;

                            // pokaz
                            ShowCurrentMessage();
                            backgroundElement.Show();
                        }
                    }
                    else
                    if (isDecreasingBgOpacity)
                    {
                        if (currentBgOpacity > 0.0f)
                        {
                            SetBgOpacity(currentBgOpacity);
                            currentBgOpacity -= timeSinceLastFrame / bgAnimationLength;
                            return;
                        }
                        else
                        {
                            isDecreasingBgOpacity = false;
                            currentBgOpacity      = 0;
                            // ukryj
                            backgroundElement.Hide();
                            ClearMessage();
                            return;
                        }
                    }
                    else
                    {
                        UpdateMessage();
                    }
                }
                else
                {
                    // no background

                    // show
                    //  Console.WriteLine("Showing");
                    if (messageElement != null && !messageElement.IsVisible)
                    {
                        ShowCurrentMessage();
                    }
                    isDecreasingBgOpacity = false;
                    isIncreasingBgOpacity = false;
                }


                TimeSpan diff = DateTime.Now.Subtract(startTime);
                if (!currentMessage.Permanent && diff.TotalMilliseconds > currentMessage.Time)
                {
                    //     Console.WriteLine("Clearing");

                    isDecreasingBgOpacity = true;
                    if (messageElement != null)
                    {
                        messageElement.Hide();
                    }
                    if (iconOverlay != null && iconOverlay.IsVisible)
                    {
                        iconOverlay.Hide();
                    }
                    if (instantBackground)
                    {
                        backgroundElement.Hide();
                        ClearMessage();
                    }

                    if (currentMessage.NoBackground)
                    {
                        ClearMessage();
                        isDecreasingBgOpacity = false;
                        isIncreasingBgOpacity = false;
                    }
                }
            }
        }