コード例 #1
0
        private ScrollableGrid InitializeInventory(Living creature)
        {
            ScrollableGrid grid = new ScrollableGrid(4, CharacterMenuLayout.GetInventoryBounds(), int.MaxValue, true, TextureLoader.FontMainMenuFont12x, 10);

            Dictionary <int, List <Item> > inventoryItems = creature.Inventory.GetAllInventoryItems();

            foreach (KeyValuePair <int, List <Item> > item in inventoryItems)
            {
                int itemCount = this.CountAllItems(item.Value);

                Rectangle        imageBounds = new Rectangle(0, 0, 32, 32);
                RenderableImage  itemImage   = new RenderableImage(imageBounds, item.Value[0].TextureName, true);
                RenderableString itemName    = new RenderableString(ItemFont, item.Value[0].Name, Rendering.Text.SimpleTextRenderer.Alignment.Left);

                double           stackWeight = item.Value[0].ItemWeight * itemCount;
                RenderableString itemWeight  = new RenderableString(ItemFont, "Weight: " + stackWeight.ToString(), Rendering.Text.SimpleTextRenderer.Alignment.Left);

                RenderableString itemNumber = new RenderableString(ItemFont, "Count: " + itemCount.ToString(), Rendering.Text.SimpleTextRenderer.Alignment.Right);

                grid.Add(0, itemImage);
                grid.Add(1, itemName);
                grid.Add(2, itemWeight);
                grid.Add(3, itemNumber);
            }

            return(grid);
        }
コード例 #2
0
        private ListBox InitializeSkills(Living creature)
        {
            List <GUIElement> skills = new List <GUIElement>();

            foreach (MagicalLifeAPI.Entity.Skills.Skill item in creature.CreatureSkills)
            {
                string skillText = "" + item.DisplayName + ": ("
                                   + item.SkillAmount.GetValue().ToString() + "), ";

                if (item.Learnable)
                {
                    skillText += item.Experience.CurrentXP.ToString()
                                 + "/" + item.Experience.NextLevelXPRequired.ToString() + "XP";
                }
                else
                {
                    skillText += "Not Able to Learn";
                }

                RenderableString result = new RenderableString(ItemFont, skillText, Rendering.Text.SimpleTextRenderer.Alignment.Center);
                skills.Add(result);
            }

            return(new ListBox(
                       CharacterMenuLayout.GetSkillsBounds(),
                       int.MaxValue, true,
                       TextureLoader.FontMainMenuFont12x, 10, skills));
        }
コード例 #3
0
        private void Overwrite()
        {
            int selected = SaveGameMenu.menu.SavesList.SelectedIndex;

            if (selected != -1)
            {
                RenderableString selectedItem = (RenderableString)SaveGameMenu.menu.SavesList.Items[selected];
                WorldStorage.SerializeWorld(selectedItem.Text, new WorldDiskSink());
            }
            MenuHandler.Back();
        }
コード例 #4
0
        public override void Click(MouseEventArgs e, GUIContainer container)
        {
            int selected = LoadGameMenu.Menu.SaveSelectListBox.SelectedIndex;

            if (selected != -1)
            {
                FMODUtil.RaiseEvent(SoundsTable.UIClick);
                World.Mode = MagicalLifeAPI.Networking.EngineMode.ServerAndClient;
                RenderableString selectedItem = (RenderableString)LoadGameMenu.Menu.SaveSelectListBox.Items[selected];
                WorldStorage.LoadWorld(selectedItem.Text);

                Server.Load();
                ClientSendRecieve.Initialize(new MagicalLifeAPI.Networking.NetworkSettings(MagicalLifeAPI.Networking.EngineMode.ServerAndClient));
                ServerSendRecieve.Initialize(new MagicalLifeAPI.Networking.NetworkSettings(MagicalLifeAPI.Networking.EngineMode.ServerAndClient));
                Client.Load();
                Server.StartGame();
                BoundHandler.RemoveContainer(LoadGameMenu.Menu);
                MenuHandler.Clear();
                BoundHandler.HideAll();
                InGameGUI.Initialize();
                BoundHandler.Popup(InGameGUI.InGame);
            }
        }
コード例 #5
0
ファイル: LoadSaveButton.cs プロジェクト: xchsp/MagicalLife
        private void LoadSaveButton_ClickEvent(object sender, Reusable.Event.ClickEventArgs e)
        {
            int selected = LoadGameMenu.Menu.SaveSelectListBox.SelectedIndex;

            if (selected != -1)
            {
                FMODUtil.RaiseEvent(SoundsTable.UIClick);
                World.Mode = MagicalLifeAPI.Networking.EngineMode.ServerAndClient;
                RenderableString selectedItem = (RenderableString)LoadGameMenu.Menu.SaveSelectListBox.Items[selected];
                WorldStorage.LoadWorld(selectedItem.Text);

                Server.Load();
                ClientSendRecieve.Initialize(new MagicalLifeAPI.Networking.NetworkSettings(MagicalLifeAPI.Networking.EngineMode.ServerAndClient));
                ServerSendRecieve.Initialize(new MagicalLifeAPI.Networking.NetworkSettings(MagicalLifeAPI.Networking.EngineMode.ServerAndClient));
                Client.Load();
                Server.StartGame();
                BoundHandler.RemoveContainer(LoadGameMenu.Menu);
                MenuHandler.Clear();
                BoundHandler.HideAll();
                InGameGUI.Initialize();
                BoundHandler.Popup(InGameGUI.InGame);
                RenderInfo.Camera2D.InitializeForDimension(0);
            }
        }