示例#1
0
        /// <summary>
        /// Adds an entity to the appropriate place in the object graph.
        /// </summary>
        /// <param name="entityInstance"></param>
        public void AddEntity(object entityInstance)
        {
            _entity = entityInstance;

            // Add newly created entityInstance to list (Many) or set it to field (One)
            if (this.IsRoot)
            {
                RootList.Add(entityInstance);
            }
            else if (_relationship.RelationshipInfo.RelationType == RelationshipTypes.Many)
            {
                var list = _parent._entityReferences[_parent.GroupingKeyColumns.GroupingKey]
                           .ChildLists[_relationship.Member.Name];

                list.Add(entityInstance);
            }
            else             // RelationTypes.One
            {
                _relationship.Setter(_parent._entity, entityInstance);
            }

            EntityReference entityRef = new EntityReference(entityInstance);

            if (GroupingKeyColumns.GroupingKey != null && !_entityReferences.ContainsKey(GroupingKeyColumns.GroupingKey))
            {
                _entityReferences.Add(GroupingKeyColumns.GroupingKey, entityRef);
            }

            InitOneToManyChildLists(entityRef);
        }
示例#2
0
    private void LoadOverlay()
    {
        RootList.Add(new EditorMouse());

        OverlayStatus overlay = new OverlayStatus(this);

        RootList.Add(overlay);

        overlay.AddStatus("Floor", new TileOverlay(this, "Content/Editor/Tiles/Floor.txt"));
        overlay.AddStatus("Wall", new TileOverlay(this, "Content/Editor/Tiles/Wall.txt"));
        //overlay.AddStatus("Cave", new TileOverlay(this, "Content/Editor/Tiles/Cave.txt"));
        overlay.AddStatus("Tree", new TileOverlay(this, "Content/Editor/Tiles/Tree.txt"));
        overlay.AddStatus("Items", new EntityOverlay(this, "Content/Editor/Entities/Item.txt"));
        overlay.AddStatus("Objects-1", new EntityOverlay(this, "Content/Editor/Entities/Object.txt"));
        overlay.AddStatus("Objects-2", new EntityOverlay(this, "Content/Editor/Entities/Objects2.txt"));
        //overlay.AddStatus("Cave_Objects", new EntityOverlay(this, "Content/Editor/Entities/Cave_Object.txt"));
        overlay.AddStatus("Enemies", new EntityOverlay(this, "Content/Editor/Entities/Enemy.txt"));
        overlay.AddStatus("Spawn", new EntityOverlay(this, "Content/Editor/Entities/Spawn.txt"));

        LevelGrid levelGrid = GetObject("levelgrid") as LevelGrid;
        Camera    camera    = new Camera();

        camera.SetupCamera = levelGrid.AnchorPosition(5, 5) - GameEnvironment.Screen.ToVector2() / 2;
        RootList.Add(camera);
    }
示例#3
0
        /// <summary>
        /// Adds an entity to the appropriate place in the object graph.
        /// </summary>
        /// <param name="entityInstance"></param>
        public void AddEntity(object entityInstance)
        {
            _entity = entityInstance;

            // Add newly created entityInstance to list (Many) or set it to field (One)
            if (IsRoot)
            {
                RootList.Add(entityInstance);
            }
            else if (_relationship.RelationshipInfo.RelationType == RelationshipTypes.Many)
            {
                var list = _parent._entityReferences[_parent.GroupingKeyColumns.GroupingKey]
                           .ChildLists[_relationship.Member.Name];

                list.Add(entityInstance);
            }
            else // RelationTypes.One
            {
                if (_relationship.IsLazyLoaded)
                {
                    _relationship.Setter(_parent._entity, Activator.CreateInstance(_relationship.MemberType, entityInstance));
                }
                else
                {
                    _relationship.Setter(_parent._entity, entityInstance);
                }
            }

            EntityReference entityRef = new EntityReference(entityInstance);

            _entityReferences.Add(GroupingKeyColumns.GroupingKey, entityRef);

            InitOneToManyChildLists(entityRef);
        }
示例#4
0
    private void LoadTiles(List <string> textlines, int width, Dictionary <char, string> tiletypechar)
    {
        LevelGrid level = new LevelGrid(width, textlines.Count, 0, "levelgrid");

        RootList.Add(level);
        level.CellWidth  = 108;
        level.CellHeight = 54;

        Camera camera = GetObject("camera") as Camera;

        camera.Width  = (width) * level.CellWidth / 2;
        camera.Height = (textlines.Count) * level.CellHeight;

        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < textlines.Count; y++)
            {
                try
                {
                    Tile t = LoadTile(x, y, tiletypechar[textlines[y][x]]);
                    level.Add(t, x, y);
                }
                catch
                {
                    Tile t = LoadTile(x, y, tiletypechar['a']);
                    level.Add(t, x, y);
                }
            }
        }
    }
示例#5
0
    private void LoadEntities(List <string> textlines, int width, Dictionary <char, string> entitytypechar)
    {
        ItemGrid level = new ItemGrid(width, textlines.Count, 0, "itemgrid");

        RootList.Add(level);
        level.CellWidth  = 108;
        level.CellHeight = 54;

        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < textlines.Count; y++)
            {
                try
                {
                    EditorEntity e = LoadEntity(x, y, entitytypechar[textlines[y][x]]);
                    level.Add(e, x, y);
                }
                catch
                {
                    EditorEntity e = LoadEntity(x, y, "None");
                    level.Add(e, x, y);
                }
            }
        }
    }
示例#6
0
 private void GetRoots()
 {
     foreach (KeyValuePair <string, string> kvproot in SubFolders)
     {
         RootList.Add(kvproot.Key, new SyncRoot(ForestName, kvproot.Key, kvproot.Value));
     }
 }
示例#7
0
    public void LoadTiles(List <string> textlines, int width, Dictionary <char, string> tiletypechar)
    {
        LevelGrid level = new LevelGrid(width, textlines.Count, 0, "tiles");

        RootList.Add(level);
        level.CellWidth  = 108;
        level.CellHeight = 54;

        Camera camera = GetObject("camera") as Camera;

        camera.Width  = (width) * level.CellWidth / 2;
        camera.Height = (textlines.Count) * level.CellHeight;

        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < textlines.Count; y++)
            {
                Tile t;
                if (textlines[y][x] == '1')
                {
                    t = LoadPlayer(x, y);
                }
                else
                {
                    t = LoadTile(x, y, tiletypechar[textlines[y][x]]);
                }
                level.Add(t, x, y);
            }
        }
    }
示例#8
0
        void m_worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (m_disposeRequested)
            {
                Dispose();
                return;
            }
            if (e.Error == null)
            {
                if (e.Result is VCServerPathRootViewModel)
                {
                    VCServerPathRootViewModel rootNode = e.Result as VCServerPathRootViewModel;
                    RootList.Add(rootNode);
                }
                else if (e.Result is VCServerPathNodeViewModel)
                {
                    VCServerPathNodeViewModel node = e.Result as VCServerPathNodeViewModel;
                    node.PopulateChildren();

                    if (m_queue.Count > 0)
                    {
                        QueueLoadChildren(m_queue.Dequeue());
                    }
                }
            }
            IsLoading = false;
        }
示例#9
0
    public void LoadLevel(string path)
    {
        GameObjectList entities = new GameObjectList(2, "entities");

        RootList.Add(entities);

        GameObjectList items = new GameObjectList(1, "items");

        entities.Add(items);

        GameObjectList enemies = new GameObjectList(1, "enemies");

        entities.Add(enemies);

        Camera camera = new Camera("player", 0, "camera");

        RootList.Add(camera);

        GameMouse mouse = new GameMouse();

        RootList.Add(mouse);

        LoadOverlays();

        LoadFile(path);
    }
示例#10
0
    private void LoadButtons()
    {
        Vector2 startposition = new Vector2((GameEnvironment.Screen.X / 30) * 8, (GameEnvironment.Screen.Y / 13) * 4);
        Vector2 newPosition;
        int     xOffset = (int)(GameEnvironment.Screen.X / 30) * 5;
        int     yOffset = (int)(GameEnvironment.Screen.Y / 4);

        for (int y = 0; y < 3; y++)
        {
            newPosition = new Vector2(startposition.X, startposition.Y + yOffset * y);
            for (int x = 0; x < 3; x++)
            {
                Button button = new Button("Sprites/Menu/Select_Button", 109);
                buttonList.Add(button);
                button.Sprite.Size = new Vector2(0.6f, 0.6f);
                button.Position    = new Vector2(startposition.X + x * xOffset, newPosition.Y);
                RootList.Add(button);
                int nummer             = (3) * y + x + 1;
                SpriteGameObject level = new SpriteGameObject("Sprites/Menu/Level_Button_" + nummer, 110);
                levelList.Add(level);
                level.Sprite.Size = new Vector2(0.6f, 0.6f);
                level.Position    = new Vector2(startposition.X + x * xOffset, newPosition.Y - 150);
                RootList.Add(level);
            }
        }
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - returnButton.Width / 2, (GameEnvironment.Screen.Y - returnButton.Height) / 16 * 15);
        RootList.Add(returnButton);
    }
示例#11
0
        /// <summary>
        /// 插入节点
        /// </summary>
        /// <param name="ParentNode"></param>
        public ContractBoiNode InsertNode(ContractBoiNode ParentNode = null)
        {
            String          strParentCode;
            String          strMaxCode;
            String          strNewCode;
            int             iNewCode;
            ContractBoiNode nodeNew = new ContractBoiNode();

            if (ParentNode != null)
            {
                strParentCode = ParentNode.ItemCode;
                strMaxCode    = ParentNode.Children.Max(m => m.ItemCode);
                if (String.IsNullOrEmpty(strMaxCode))
                {
                    strNewCode = strParentCode + "001";
                }
                else
                {
                    iNewCode = System.Convert.ToInt32(strMaxCode.Substring(strMaxCode.Length - 3, 3)) + 1;
                    if (iNewCode > 999)
                    {
                        throw new BusinessException("清单项超出限制(子项不多余999项)");
                    }
                    strNewCode = strParentCode + iNewCode.ToString().PadLeft(3, '0');
                }
                ParentNode.Children.Add(nodeNew);
                nodeNew.ParentCode = ParentNode.ItemCode;
            }
            else
            {
                strMaxCode = RootList.Max(m => m.ItemCode);
                if (String.IsNullOrEmpty(strMaxCode))
                {
                    strNewCode = "01";
                }
                else
                {
                    iNewCode = System.Convert.ToInt32(strMaxCode) + 1;
                    if (iNewCode > 99)
                    {
                        throw new BusinessException("清单项超出限制(顶层项不多余99项)");
                    }
                    strNewCode = iNewCode.ToString().PadLeft(2, '0');
                }
                RootList.Add(nodeNew);
            }
            nodeNew.ItemCode      = strNewCode;
            nodeNew.ProjectNo     = ProjectNo;
            nodeNew.BoQNo         = Boq.BoQNo;
            nodeNew.ParentBoiNode = ParentNode;
            CalcNode(nodeNew);
            NodeList.Add(nodeNew);

            if (ListChanged != null)
            {
                ListChanged();
            }
            return(nodeNew);
        }
示例#12
0
        private void InitChanged()
        {
            List <ContractBoqChangeDetailEx> lstDetail = ChangeDetailExList.ToList();
            List <ContractBoqChangeDetailEx> lstDelete = lstDetail.FindAll(m => m.ChangeType == ChangeType.Delete).OrderByDescending(m => m.ItemCode).ToList();
            List <ContractBoqChangeDetailEx> lstUpdate = lstDetail.FindAll(m => m.ChangeType == ChangeType.Update).OrderByDescending(m => m.ItemCode).ToList();
            List <ContractBoqChangeDetailEx> lstNew    = lstDetail.FindAll(m => m.ChangeType == ChangeType.Add).OrderBy(m => m.ItemCode).ToList();
            List <ContractBoqChangeDetailEx> lstDiable = lstDetail.FindAll(m => m.ChangeType == ChangeType.Disable).OrderByDescending(m => m.ItemCode).ToList();
            List <ContractBoqChangeDetailEx> lstEnable = lstDetail.FindAll(m => m.ChangeType == ChangeType.Enable).OrderByDescending(m => m.ItemCode).ToList();
            List <ContractBoiChangeNode>     lstNode   = NodeList.ToList();

            lstDelete.ForEach(m =>
            {
                ContractBoiChangeNode node = lstNode.FirstOrDefault(n => n.ItemNo == m.ItemNo);
                node.ChangeDetailEx        = m;
                ChangeNodeStat(node, false);
            });
            lstNew.ForEach(m =>
            {
                ContractBoiChangeNode nodeAdd = HDAutoMapper.DynamicMap <ContractBoiChangeNode>(m);
                nodeAdd.CtrctPrjPrice         = m.AfPrice;
                nodeAdd.CtrctQty                 = m.AfQty;
                nodeAdd.CtrctAmount              = m.AfAmount;
                nodeAdd.ChangeDetailEx           = m;
                ContractBoiChangeNode parentNode = lstNode.FirstOrDefault(n => n.ItemCode == nodeAdd.ParentCode);
                if (parentNode != null)
                {
                    parentNode.Children.Add(nodeAdd);
                }
                else
                {
                    RootList.Add(nodeAdd);
                }
                NodeList.Add(nodeAdd);
            });
            lstUpdate.ForEach(m =>
            {
                ContractBoiChangeNode node = lstNode.Find(n => n.ItemNo == m.ItemNo);
                node.CtrctAmount           = m.AfAmount;
                node.CtrctPrjPrice         = m.AfPrice;
                node.CtrctQty       = m.AfQty;
                node.IItemCoe       = m.IItemCoe;
                node.Uom            = m.Uom;
                node.ItemName       = m.ItemName;
                node.ChangeDetailEx = m;
            });
            lstDiable.ForEach(m =>
            {
                ContractBoiChangeNode node = lstNode.Find(n => n.ItemNo == m.ItemNo);
                node.ChangeDetailEx        = m;
                ChangeNodeStat(node, false);
            });
            lstEnable.ForEach(m =>
            {
                ContractBoiChangeNode node = lstNode.Find(n => n.ItemNo == m.ItemNo);
                node.ChangeDetailEx        = m;
                ChangeNodeStat(node, true);
            });
        }
示例#13
0
    public SelectEditState()
        : base()
    {
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Menu/Screen1", 100, "background");

        RootList.Add(titleScreen);
        buttonList = new List <Button>();
        levelList  = new List <SpriteGameObject>();
        LoadButtons();
    }
示例#14
0
    public void LoadOverlays()
    {
        OverlayManager overlayManager = new OverlayManager();

        RootList.Add(overlayManager);

        overlayManager.AddOverlay("hud", new Hud(this));
        overlayManager.AddOverlay("inventory", new Inventory(this));

        overlayManager.SwitchTo("hud");
    }
示例#15
0
    public HostSelectionState()
    {
        GameEnvironment.GameSettingsManager.SetValue("level", "1"); //load level 1 by default
        buttonReadyList   = new List <Button>();
        buttonUnreadyList = new List <Button>();
        buttonWarriorList = new List <Button>();
        buttonWizzardList = new List <Button>();
        buttonBardList    = new List <Button>();
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Menu/Screen2", 100, "background");

        RootList.Add(titleScreen);
        SpriteGameObject lobbyBackground = new SpriteGameObject("Sprites/Menu/Screen2", 101, "lobby");

        lobbyBackground.Sprite.Color = Color.DarkBlue;
        lobbyBackground.Sprite.Size  = new Vector2(0.3f, 0.5f);
        lobbyBackground.Origin       = lobbyBackground.Sprite.Center;
        lobbyBackground.Position     = new Vector2((GameEnvironment.Screen.X / 10 * 8), GameEnvironment.Screen.Y / 7 * 3);
        RootList.Add(lobbyBackground);
        startButton          = new Button("Sprites/Menu/Start_Button", 101);
        startButton.Position = new Vector2((GameEnvironment.Screen.X - startButton.Width) / 8 * 1, (GameEnvironment.Screen.Y - startButton.Height) / 6);
        RootList.Add(startButton);
        changeButton          = new Button("Sprites/Menu/Change_Button", 101);
        changeButton.Position = new Vector2((GameEnvironment.Screen.X - changeButton.Width) / 8, (GameEnvironment.Screen.Y - changeButton.Height) / 4);
        RootList.Add(changeButton);
        warriorButton          = new Button("Sprites/Menu/Player_Warrior_Button", 101);
        warriorButton.Position = new Vector2((GameEnvironment.Screen.X - warriorButton.Width) / 8 * 1, (GameEnvironment.Screen.Y - warriorButton.Height) / 12 * 5);
        RootList.Add(warriorButton);
        sorcererButton          = new Button("Sprites/Menu/Player_Wizzard_Button", 101);
        sorcererButton.Position = new Vector2((GameEnvironment.Screen.X - sorcererButton.Width) / 8 * 2, (GameEnvironment.Screen.Y - sorcererButton.Height) / 12 * 5);
        RootList.Add(sorcererButton);
        bardButton          = new Button("Sprites/Menu/Player_Bard_Button", 101);
        bardButton.Position = new Vector2((GameEnvironment.Screen.X - bardButton.Width) / 8 * 3, (GameEnvironment.Screen.Y - bardButton.Height) / 12 * 5);
        RootList.Add(bardButton);
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - returnButton.Width / 2, (GameEnvironment.Screen.Y - returnButton.Height) / 8 * 7);
        RootList.Add(returnButton);

        popup = new MapSelectionPopUp("Sprites/Menu/Screen2", new Vector2(0.5f, 0.78f));
        RootList.Add(popup);
        popup.LoadButtons();
        popup.active = false;

        Selected          = new SpriteGameObject("Sprites/Menu/Selected_Button", 101);
        Selected.Position = new Vector2((GameEnvironment.Screen.X - warriorButton.Width) / 8 * 1, (GameEnvironment.Screen.Y - warriorButton.Height) / 12 * 8);
        RootList.Add(Selected);

        skillbuttons = new string[3, 3];
        skilltext    = new string[3, 3];
        LoadSkillText();
        LoadSkillButtons();

        GameEnvironment.GameSettingsManager.SetValue("character", "Warrior");
    }
示例#16
0
    public void LoadOverlays()
    {
        OverlayManager overlayManager = new OverlayManager();

        RootList.Add(overlayManager);

        overlayManager.AddOverlay("hud", new Hud(this));
        overlayManager.AddOverlay("menu", new InGameMenu(this));
        overlayManager.AddOverlay("die", new Die(this, "Sprites/Overlay/spr_die"));
        overlayManager.AddOverlay("finish", new Die(this, "Sprites/Overlay/spr_finish"));
        overlayManager.SwitchTo("hud");
    }
        private void PopulateRootList()
        {
            var temp = new List <string>();

            if (DirectoryUtils.IsWindows8OrHigher)
            {
                try
                {
                    RootList.Add(new FileTreeViewModel(new DirectoryInfoEx(KnownFolderIds.SkyDrive))
                    {
                        FileExtensionFilter = temp
                    });
                }
                catch { }
            }
            if (DirectoryUtils.IsWindows7OrHigher)
            {
                try
                {
                    RootList.Add(new FileTreeViewModel(new DirectoryInfoEx(KnownFolderIds.Libraries))
                    {
                        FileExtensionFilter = temp
                    });
                }
                catch { }
            }
            if (DirectoryUtils.IsWindows7OrHigher)
            {
                try
                {
                    RootList.Add(new FileTreeViewModel(new DirectoryInfoEx(KnownFolderIds.HomeGroup))
                    {
                        FileExtensionFilter = temp
                    });
                }
                catch { }
            }
            RootList.Add(new FileTreeViewModel(new DirectoryInfoEx(KnownFolderIds.UsersFiles))
            {
                FileExtensionFilter = temp
            });
            RootList.Add(new FileTreeViewModel(DirectoryInfoEx.MyComputerDirectory)
            {
                FileExtensionFilter = temp
            });
            RootList.Add(new FileTreeViewModel(new DirectoryInfoEx(KnownFolderIds.NetworkFolder))
            {
                FileExtensionFilter = temp
            });
        }
示例#18
0
 void m_worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     if (m_disposeRequested)
     {
         Dispose();
         return;
     }
     if (e.Error == null)
     {
         WITQueryNodeViewModel root = e.Result as WITQueryNodeViewModel;
         RootList.Add(root);
         IsLoading = false;
     }
 }
示例#19
0
    public void NewLevel(int width, int height)
    {
        LevelGrid levelGrid = new LevelGrid(width, height, 0, "levelgrid");

        RootList.Add(levelGrid);
        levelGrid.CellWidth  = 108;
        levelGrid.CellHeight = 54;
        levelGrid.SetupGrid();

        ItemGrid itemGrid = new ItemGrid(width, height, 1, "itemgrid");

        RootList.Add(itemGrid);
        itemGrid.CellWidth  = 108;
        itemGrid.CellHeight = 54;
        itemGrid.SetupGrid();
    }
示例#20
0
    public SettingsState()
    {
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Overlay/Menu_BG_Grey", 100, "background");

        RootList.Add(titleScreen);
        startButton          = new Button("Sprites/Menu/Select_Button", 101);
        startButton.Position = new Vector2((GameEnvironment.Screen.X - startButton.Width) / 16 * 13, (GameEnvironment.Screen.Y - startButton.Height) / 4);
        RootList.Add(startButton);
        settingsButton          = new Button("Sprites/Menu/Select_Button", 101);
        settingsButton.Position = new Vector2((GameEnvironment.Screen.X - settingsButton.Width) / 16 * 13, (GameEnvironment.Screen.Y - startButton.Height) / 2);
        RootList.Add(settingsButton);
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2((GameEnvironment.Screen.X - settingsButton.Width) / 16 * 13, (GameEnvironment.Screen.Y - startButton.Height) / 4 * 3);
        RootList.Add(returnButton);
    }
示例#21
0
    public HostClientSelectionState()
    {
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Menu/Screen1", 100, "background");

        RootList.Add(titleScreen);
        createGameButton             = new Button("Sprites/Menu/CreateGame_Button", 101);
        createGameButton.Sprite.Size = new Vector2(2f, 3f);
        createGameButton.Position    = new Vector2(GameEnvironment.Screen.X / 2 - createGameButton.BoundingBox.Width / 2, (GameEnvironment.Screen.Y - createGameButton.BoundingBox.Height) / 4);
        RootList.Add(createGameButton);
        joinGameButton             = new Button("Sprites/Menu/JoinGame_Button", 101);
        joinGameButton.Sprite.Size = new Vector2(2f, 3f);
        joinGameButton.Position    = new Vector2(GameEnvironment.Screen.X / 2 - joinGameButton.BoundingBox.Width / 2, (GameEnvironment.Screen.Y - joinGameButton.BoundingBox.Height) / 2);
        RootList.Add(joinGameButton);
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - returnButton.Width / 2, (GameEnvironment.Screen.Y - returnButton.Height) / 8 * 7);
        RootList.Add(returnButton);
    }
示例#22
0
    public ModeSelectionState()
    {
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Menu/Screen1", 100, "background");

        RootList.Add(titleScreen);
        offlineButton             = new Button("Sprites/Menu/PlayOffline_Button", 101);
        offlineButton.Sprite.Size = new Vector2(2f, 3f);
        offlineButton.Position    = new Vector2(GameEnvironment.Screen.X / 2 - offlineButton.BoundingBox.Width / 2, (GameEnvironment.Screen.Y - offlineButton.BoundingBox.Height) / 4);
        RootList.Add(offlineButton);
        onlineButton             = new Button("Sprites/Menu/PlayOnline_Button", 101);
        onlineButton.Sprite.Size = new Vector2(2f, 3f);
        onlineButton.Position    = new Vector2(GameEnvironment.Screen.X / 2 - onlineButton.BoundingBox.Width / 2, (GameEnvironment.Screen.Y - onlineButton.BoundingBox.Height) / 2);
        RootList.Add(onlineButton);
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - returnButton.Width / 2, (GameEnvironment.Screen.Y - returnButton.Height) / 8 * 7);
        RootList.Add(returnButton);
    }
示例#23
0
    public SettingsState()
    {
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Menu/Screen1", 100, "background");

        RootList.Add(titleScreen);
        fullScreenButton          = new Button("Sprites/Menu/FullScreen_Button", 101);
        fullScreenButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - fullScreenButton.Width / 2, (GameEnvironment.Screen.Y - fullScreenButton.Height) / 4);
        RootList.Add(fullScreenButton);
        volumeUpButton          = new Button("Sprites/Menu/VolumeUp_Button", 101);
        volumeUpButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - volumeUpButton.Width / 2, (GameEnvironment.Screen.Y - fullScreenButton.Height) / 8 * 3);
        RootList.Add(volumeUpButton);
        volumeDownButton          = new Button("Sprites/Menu/VolumeDown_Button", 101);
        volumeDownButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - volumeDownButton.Width / 2, (GameEnvironment.Screen.Y - fullScreenButton.Height) / 2);
        RootList.Add(volumeDownButton);
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - volumeDownButton.Width / 2, (GameEnvironment.Screen.Y - fullScreenButton.Height) / 4 * 3);
        RootList.Add(returnButton);
    }
示例#24
0
    public PortSelectionState()
    {
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Menu/Screen1", 100, "background");

        RootList.Add(titleScreen);
        SpriteGameObject lobby = new SpriteGameObject("Sprites/Menu/Screen2", 101, "lobby");

        lobby.Sprite.Size  = new Vector2(0.75f, 0.5f);
        lobby.Origin       = lobby.Sprite.Center;
        lobby.Position     = new Vector2(GameEnvironment.Screen.X / 2, GameEnvironment.Screen.Y / 2);
        lobby.Sprite.Color = Color.Gray;
        RootList.Add(lobby);
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - returnButton.Width / 2, (GameEnvironment.Screen.Y - returnButton.Height) / 8 * 7);
        RootList.Add(returnButton);

        buttonList = new List <Button>();
    }
示例#25
0
    public ClientSelectionState()
    {
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        buttonReadyList   = new List <Button>();
        buttonUnreadyList = new List <Button>();
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Overlay/Menu_BG_Grey", 100, "background");

        RootList.Add(titleScreen);
        SpriteGameObject lobbyBackground = new SpriteGameObject("Sprites/Menu/Screen2", 101, "lobby");

        lobbyBackground.Sprite.Color = Color.DarkBlue;
        lobbyBackground.Sprite.Size  = new Vector2(0.3f, 0.5f);
        lobbyBackground.Origin       = lobbyBackground.Sprite.Center;
        lobbyBackground.Position     = new Vector2((GameEnvironment.Screen.X / 10 * 8), GameEnvironment.Screen.Y / 7 * 3);
        RootList.Add(lobbyBackground);
        readyButton          = new Button("Sprites/Menu/Ready_Button", 101);
        readyButton.Position = new Vector2((GameEnvironment.Screen.X - readyButton.Width) / 8 * 1, (GameEnvironment.Screen.Y - readyButton.Height) / 6);
        RootList.Add(readyButton);
        warriorButton          = new Button("Sprites/Menu/Player_Warrior_Button", 101);
        warriorButton.Position = new Vector2((GameEnvironment.Screen.X - warriorButton.Width) / 8 * 1, (GameEnvironment.Screen.Y - warriorButton.Height) / 12 * 5);
        RootList.Add(warriorButton);
        sorcererButton          = new Button("Sprites/Menu/Player_Wizzard_Button", 101);
        sorcererButton.Position = new Vector2((GameEnvironment.Screen.X - sorcererButton.Width) / 8 * 2, (GameEnvironment.Screen.Y - sorcererButton.Height) / 12 * 5);
        RootList.Add(sorcererButton);
        bardButton          = new Button("Sprites/Menu/Player_Bard_Button", 101);
        bardButton.Position = new Vector2((GameEnvironment.Screen.X - bardButton.Width) / 8 * 3, (GameEnvironment.Screen.Y - bardButton.Height) / 12 * 5);
        RootList.Add(bardButton);
        returnButton          = new Button("Sprites/Menu/Return_Button", 101);
        returnButton.Position = new Vector2(GameEnvironment.Screen.X / 2 - returnButton.Width / 2, (GameEnvironment.Screen.Y - returnButton.Height) / 8 * 7);
        RootList.Add(returnButton);

        Selected          = new SpriteGameObject("Sprites/Menu/Selected_Button", 101);
        Selected.Position = new Vector2((GameEnvironment.Screen.X - warriorButton.Width) / 8 * 1, (GameEnvironment.Screen.Y - warriorButton.Height) / 12 * 8);
        RootList.Add(Selected);

        skillbuttons = new string[3, 3];
        skilltext    = new string[3, 3];
        LoadSkillText();
        LoadSkillButtons();

        GameEnvironment.GameSettingsManager.SetValue("character", "Warrior");
    }
示例#26
0
    public TitleScreenState()
    {
        //Load all menu sprites (e.g. background images, overlay images, button sprites)
        SpriteGameObject titleScreen = new SpriteGameObject("Sprites/Menu/TitleScreen", 100, "background");

        RootList.Add(titleScreen);
        startButton             = new Button("Sprites/Menu/Play_Button", 101);
        startButton.Position    = new Vector2((GameEnvironment.Screen.X - startButton.Width) / 2, (GameEnvironment.Screen.Y - startButton.Height) / 4);
        startButton.Sprite.Size = new Vector2(1, 1.5f);
        RootList.Add(startButton);
        editorButton          = new Button("Sprites/Menu/LevelEditor_Button", 101);
        editorButton.Position = new Vector2((GameEnvironment.Screen.X - startButton.Width) / 2, (GameEnvironment.Screen.Y - startButton.Height) / 8 * 3);
        RootList.Add(editorButton);
        settingsButton          = new Button("Sprites/Menu/Settings_Button", 101);
        settingsButton.Position = new Vector2((GameEnvironment.Screen.X - startButton.Width) / 2, (GameEnvironment.Screen.Y - startButton.Height) / 2);
        RootList.Add(settingsButton);
        exitButton          = new Button("Sprites/Menu/Quit_Button", 101);
        exitButton.Position = new Vector2((GameEnvironment.Screen.X - exitButton.Width) / 2, (GameEnvironment.Screen.Y - exitButton.Height) / 4 * 3);
        RootList.Add(exitButton);
    }
示例#27
0
    private void LoadSkillButtons()
    {
        for (int y = 0; y < skillbuttons.GetLength(1); y++)
        {
            int nummer = 0;
            if (y > 0)
            {
                nummer = 6 + (y - 1) * 3;
            }
            SkillHoverButton button = new SkillHoverButton("Sprites/Menu/Skills/spr_skill_" + nummer);
            button.Position = new Vector2((GameEnvironment.Screen.X - warriorButton.Width) / 8, 650);
            button.Visible  = false;
            button.Text     = skilltext[0, y];
            RootList.Add(button);
            skillbuttons[0, y] = button.Id;

            int nummer2 = 4;
            if (y > 0)
            {
                nummer2 = 7 - (y - 1) * 5;
            }
            SkillHoverButton button2 = new SkillHoverButton("Sprites/Menu/Skills/spr_skill_" + nummer2);
            button2.Position = new Vector2((GameEnvironment.Screen.X - warriorButton.Width) / 8 + 90, 650);
            button2.Visible  = false;
            button2.Text     = skilltext[1, y];
            RootList.Add(button2);
            skillbuttons[1, y] = button2.Id;

            int nummer3 = 5;
            if (y > 0)
            {
                nummer3 = 8 - (y - 1) * 7;
            }
            SkillHoverButton button3 = new SkillHoverButton("Sprites/Menu/Skills/spr_skill_" + nummer3);
            button3.Position = new Vector2((GameEnvironment.Screen.X - warriorButton.Width) / 8 + 180, 650);
            button3.Visible  = false;
            button3.Text     = skilltext[2, y];
            RootList.Add(button3);
            skillbuttons[2, y] = button3.Id;
        }
    }
示例#28
0
        public SyncRoot AddRoot(string name)
        {
            name = name.ToFileNameValid();

            if (RootList.ContainsKey(name))
            {
                return(RootList[name]);
            }

            SyncRoot ret = new SyncRoot();

            ret.ForestName = this.ForestName;
            ret.RootName   = name;
            ret.RootPath   = Path.Combine(this.ForestPath, name);

            GlobalHelper.CreateDirectory(ret.RootPath);

            RootList.Add(name, ret);

            return(ret);
        }
示例#29
0
    public override void Update(GameTime gameTime)
    {
        base.Update(gameTime);
        if (MultiplayerManager.Lobby != null)
        {
            for (int i = buttonList.Count; i < MultiplayerManager.Lobby.Playerlists.Count; i++) //add buttons
            {
                buttonList.Add(new Button("Sprites/Menu/Standard_Button", 101));
                buttonList[i].Sprite.Size = new Vector2(1.3f, 2f);
                buttonList[i].Position    = new Vector2(GameEnvironment.Screen.X / 2 - (buttonList[i].Width * buttonList[i].Sprite.Size.X) / 2, (GameEnvironment.Screen.Y / 3.3f) + (int)(GameEnvironment.Screen.Y / 9) * i);
                RootList.Add(buttonList[i]);
            }

            for (int i = buttonList.Count; i > MultiplayerManager.Lobby.Playerlists.Count; i--) //remove buttons
            {
                buttonList[i - 1].Visible = false;
                buttonList.RemoveAt(i - 1);
            }
            //Als je een broadcast hebt ontvangen: ConnectionMade("vul hier het ip in");
            //Als je connection hebt verloren: ConnectionLost("vul hier het ip in");
        }
    }
示例#30
0
    private void LoadRemotePlayer()
    {
        ConnectedPlayer connectedPlayer;
        int             i = 1;

        foreach (LobbyPlayer lobbyplayer in MultiplayerManager.Party.playerlist.playerlist)
        {
            if (lobbyplayer.ip.ToString() == Connection.MyIP().ToString())
            {
                PlayerType playerType = (PlayerType)Enum.Parse(typeof(PlayerType), lobbyplayer.character);
                switch (playerType)
                {
                case PlayerType.Bard:
                    connectedPlayer = new ConnectedBard("player" + i);
                    break;

                case PlayerType.Warrior:
                    connectedPlayer = new ConnectedWarrior("player" + i);
                    break;

                case PlayerType.Wizzard:
                    connectedPlayer = new ConnectedWizzard("player" + i);
                    break;

                default:
                    connectedPlayer = new ConnectedWarrior("player" + i);
                    break;
                }
                ;
                RootList.Add(connectedPlayer);
                connectedPlayer.PlayerSetup();
                break;
            }
            i++;
        }
    }
示例#31
0
文件: BasicTests.cs 项目: Jaans/csla
        public void SuppressListChangedEventsDoNotRaiseCollectionChanged()
        {
            bool changed = false;
              var obj = new RootList();
              obj.ListChanged += (o, e) =>
              {
            changed = true;
              };
              var child = new RootListChild(); // object is marked as child

              Assert.IsTrue(obj.RaiseListChangedEvents);
              using (obj.SuppressListChangedEvents)
              {
            Assert.IsFalse(obj.RaiseListChangedEvents);

            obj.Add(child);
              }
              Assert.IsFalse(changed, "Should not raise ListChanged event");
              Assert.IsTrue(obj.RaiseListChangedEvents);
              Assert.AreEqual(child, obj[0]);
        }