Exemplo n.º 1
0
        private void PopulatePlayerPage(TabPage tabPage, int playerPosition)
        {
            var playerInfo = _defaultPlayerInfo[playerPosition];

            tabPage.Name = playerPosition.ToString(CultureInfo.InvariantCulture);
            var playerName  = playerInfo.Item1;
            var playerColor = playerInfo.Item2;

            var objectEditor = new ObjectEditor <Player>(ControlManager.Manager, tabPage, spacing: Margin);

            objectEditor.Add(typeof(Color), new ColorEditSystem());
            objectEditor.Add(typeof(Texture2D), new ImageSelectorEditSystem(Constants.DefaultPlayerInfo.AvatarImages, playerPosition));
            objectEditor.CreateInterface();


            var nameControl = objectEditor.GetControl("Name");

            nameControl.TextChanged += (sender, args) => tabPage.Text = (((TextBox)sender).Text);
            nameControl.Text         = playerName;

            var colorControl = objectEditor.GetControl("PlayerColor");

            colorControl.Color = playerColor;

            var endLocation = objectEditor.SizeY;

            tabPage.MinimumHeight = endLocation;

            _playerObjectEditors.Add(tabPage, objectEditor);
        }
Exemplo n.º 2
0
        public void CreateGameRules(TabPage tabPage, String[] worldNames)
        {
            tabPage.Text      = "Game rules";
            _gameLoaderEditor = new ObjectEditor <GameInfoLoader>(ControlManager.Manager, tabPage, spacing: Margin);
            _gameLoaderEditor.Add(typeof(WorldLoaderDropDown), new WorldLoaderDropDowner(worldNames));
            _gameLoaderEditor.CreateInterface();

            var gameRuleType = (ComboBox)_gameLoaderEditor.GetControl("GameRuleType");

            gameRuleType.ItemIndexChanged += (sender, args) => {
                var visible = gameRuleType.GetValue() == GameRuleType.Retirement.ToString();
                _gameLoaderEditor.GetControl("AgeCounterTarget").Visible      = visible;
                _gameLoaderEditor.GetControl("AgeCounterTargetLabel").Visible = visible;
            };
            _gameLoaderEditor.GetControl("AgeCounterTarget").Text = "100";
        }
Exemplo n.º 3
0
        public void CreateInterface(Node node)
        {
            foreach (var child in Controls.First().Controls.ToList()) Controls.First().Remove(child);

            _node = node;

            int yPos = 16;

            // Create the node editing section
            var nodeEditing = new GroupPanel(Manager) { Text = "Node Details" };
            nodeEditing.Init();
            // nodeEditing.Anchor = Anchors.Left | Anchors.Right | Anchors.Top;
            nodeEditing.Left = 16;
            nodeEditing.Top = yPos;
            nodeEditing.Width = Width - 48;
            nodeEditing.Parent = this;
            nodeEditing.Visible = true;

            _nodeEditor = new ObjectEditor<Node>(Manager, nodeEditing);
            _nodeEditor.SetInstance(node);
            _nodeEditor.CreateInterface();
            yPos += nodeEditing.Height + 16;

            // Create the binded logic section
            var bindedLogicEditing = new GroupPanel(Manager) { Text = "Node Details" };
            bindedLogicEditing.Init();
            //bindedLogicEditing.Anchor = Anchors.Left | Anchors.Right | Anchors.Top;
            bindedLogicEditing.Left = 16;
            bindedLogicEditing.Top = yPos;
            bindedLogicEditing.Width = Width - 48;
            bindedLogicEditing.Parent = this;
            bindedLogicEditing.Visible = true;

            _bindedLogicEditor = new ObjectEditor<BindedLogic>(Manager, bindedLogicEditing);
            _bindedLogicEditor.SetInstance(node.BindedLogic);
            _bindedLogicEditor.CreateInterface();

            yPos += bindedLogicEditing.Height + 16;

            // Create the pure logic section
            pureLogicEditing = new GroupPanel(Manager) {
                Text = "Node Details",
                AutoScroll = true,
                Left = 16,
                Top = yPos,
                Width = Width - 48,
                Parent = this,
                Visible = true,
                Height = 80
            };

            pureLogicEditing.Init();

            CreatePureLogicEditor(pureLogicEditing);

            Invalidate();
            Refresh();

            pureLogicEditing.Invalidate();
            pureLogicEditing.Refresh();
        }
Exemplo n.º 4
0
        private void PureLogicChanged(Type newLogic, Control pureLogicContainer)
        {
            foreach (var child in pureLogicContainer.Controls.First().Controls.ToList()) pureLogicContainer.Controls.First().Remove(child);
            _pureLogicEditor = new ObjectEditor<PureLogic>(Manager, pureLogicContainer);

            if (newLogic == _node.BindedLogic.PureLogic.GetType()) {
                _pureLogicEditor.SetInstance(_node.BindedLogic.PureLogic);
            }
            var interfaceCreated = _pureLogicEditor.CreateInterface(newLogic);

            if (interfaceCreated) {
                pureLogicContainer.Visible = true;
                pureLogicEditing.Height = pureLogicContainer.Height + 16 * 5;
            } else {
                pureLogicContainer.Visible = false;
                pureLogicEditing.Height = 80;
            }

            Show();
        }
Exemplo n.º 5
0
        private void PopulatePlayerPage(TabPage tabPage, int playerPosition)
        {
            var playerInfo = _defaultPlayerInfo[playerPosition];
            tabPage.Name = playerPosition.ToString(CultureInfo.InvariantCulture);
            var playerName = playerInfo.Item1;
            var playerColor = playerInfo.Item2;

            var objectEditor = new ObjectEditor<Player>(ControlManager.Manager, tabPage, spacing: Margin);
            objectEditor.Add(typeof(Color), new ColorEditSystem());
            objectEditor.Add(typeof(Texture2D), new ImageSelectorEditSystem(Constants.DefaultPlayerInfo.AvatarImages, playerPosition));
            objectEditor.CreateInterface();

            var nameControl = objectEditor.GetControl("Name");
            nameControl.TextChanged += (sender, args) => tabPage.Text = (((TextBox)sender).Text);
            nameControl.Text = playerName;

            var colorControl = objectEditor.GetControl("PlayerColor");
            colorControl.Color = playerColor;

            var endLocation = objectEditor.SizeY;
            tabPage.MinimumHeight = endLocation;

            _playerObjectEditors.Add(tabPage, objectEditor);
        }
Exemplo n.º 6
0
        public void CreateGameRules(TabPage tabPage, String[] worldNames)
        {
            tabPage.Text = "Game rules";
            _gameLoaderEditor = new ObjectEditor<GameInfoLoader>(ControlManager.Manager, tabPage, spacing: Margin);
            _gameLoaderEditor.Add(typeof(WorldLoaderDropDown), new WorldLoaderDropDowner(worldNames));
            _gameLoaderEditor.CreateInterface();

            var gameRuleType = (ComboBox)_gameLoaderEditor.GetControl("GameRuleType");
            gameRuleType.ItemIndexChanged += (sender, args) => {
                var visible = gameRuleType.GetValue() == GameRuleType.Retirement.ToString();
                _gameLoaderEditor.GetControl("AgeCounterTarget").Visible = visible;
                _gameLoaderEditor.GetControl("AgeCounterTargetLabel").Visible = visible;
            };
            _gameLoaderEditor.GetControl("AgeCounterTarget").Text = "100";
        }