Ejemplo n.º 1
0
        public override void Setup(Roster target, SerializedProperty property, FieldInfo fieldInfo, PropertyAttribute attribute)
        {
            _roster   = target;
            _owner    = property.serializedObject.targetObject;
            _controls = new List <CreatureReferenceControl>();

            _listControl.Setup(_roster)
            .MakeDrawable(DrawCreature)
            .MakeRemovable(_removeButton)
            .MakeCollapsable(property.serializedObject.targetObject.GetType() + "." + property.propertyPath + ".IsOpen")
            .MakeReorderable()
            .MakeHeaderButton(_addSpeciesButton, _addSpeciesMenu, Color.white)
            .MakeHeaderButton(_addCreatureButton, _addCreatureMenu, Color.white)
            .MakeCustomHeight(GetCreatureHeight)
            .MakeEmptyLabel(_emptyLabel);

            var species = AssetHelper.GetAssetList <Species>(false, false);

            for (var i = 0; i < species.Assets.Count; i++)
            {
                if (species.Assets[i] != null)
                {
                    _addSpeciesMenu.AddItem(species.Names[i], false, AddSpecies, species.Assets[i]);
                    _addCreatureMenu.AddItem(species.Names[i], false, AddCreature, species.Assets[i]);
                }
            }
        }
Ejemplo n.º 2
0
        void OnEnable()
        {
            _building = target as Building;

            if (_building.Facade == null)
            {
                _building.Facade = CreatePart <Building.Part>("Facade", 0, SpriteDrawMode.Tiled);
            }

            if (_building.Roof == null)
            {
                _building.Roof = CreatePart <Building.Part>("Roof", 1, SpriteDrawMode.Tiled);
            }

            _doorsControl.Setup(_building.Doors)
            .MakeDrawable(DrawDoor)
            .MakeAddable(_addDoorIcon, AddDoor)
            .MakeRemovable(_removeDoorIcon, RemoveDoor)
            .MakeCustomHeight(DoorHeight);

            _accessoriesControl.Setup(_building.Accessories)
            .MakeDrawable(DrawAccessory)
            .MakeAddable(_addAccessoryIcon, AddAccessory)
            .MakeRemovable(_removeAccessoryIcon, RemoveAccessory)
            .MakeCustomHeight(AccessoryHeight);
        }
Ejemplo n.º 3
0
        void OnEnable()
        {
            _composition = target as CommandSet;

            _customCommandsList.Setup(_composition.CustomCommands)
            .MakeRemovable(_removeCommandButton, Remove)
            .MakeDrawable(Draw)
            .MakeHeaderButton(_addExpressionCommandButton, new AddPopup(new AddExpressionContent(this), _addCustomCommandLabel), Color.white)
            .MakeCollapsable(typeof(CommandSet).Name + "." + nameof(CommandSet.CustomCommands) + ".IsOpen")
            .MakeEmptyLabel(_customCommandsEmptyLabel)
            .MakeReorderable()
            .MakeCustomHeight(GetCommandHeight);
        }
Ejemplo n.º 4
0
        void OnEnable()
        {
            _ruleTile = target as RuleTile;

            _neighborTypesControl.Setup(_ruleTile.NeighborTypes)
            .MakeDrawable(DrawNeighbor)
            .MakeAddable(_addNeighborTypeButton, OnAddNeighbor)
            .MakeRemovable(_removeNeightborTypeButton, OnRemoveNeighbor)
            .MakeEmptyLabel(_neighborTypesEmptyContent);

            _rulesControl.Setup(_ruleTile.Rules)
            .MakeDrawable(DrawRule)
            .MakeAddable(_addRuleButton, OnAddRule)
            .MakeRemovable(_removeRuleButton, OnRemoveRule)
            .MakeReorderable(OnReorder)
            .MakeCustomHeight(GetElementHeight)
            .MakeHeaderButton(_createRulesButton, CreateRules, Color.white);
        }
Ejemplo n.º 5
0
        private void UpdateOverrides()
        {
            if (_ruleOverrideTile.OverrideTile)
            {
                if (_ruleOverrideTile.OverrideTile.Rules.Count > _ruleOverrideTile.Rules.Count)
                {
                    _ruleOverrideTile.Rules.AddRange(Enumerable.Repeat(new RuleOverrideTile.Rule(), _ruleOverrideTile.OverrideTile.Rules.Count - _ruleOverrideTile.Rules.Count));
                }
                else
                {
                    _ruleOverrideTile.Rules.RemoveRange(_ruleOverrideTile.OverrideTile.Rules.Count, _ruleOverrideTile.Rules.Count - _ruleOverrideTile.OverrideTile.Rules.Count);
                }
            }
            else
            {
                _ruleOverrideTile.Rules.Clear();
            }

            _rulesControl = new ObjectListControl();
            _rulesControl.Setup(_ruleOverrideTile.Rules)
            .MakeDrawable(DrawRule)
            .MakeCustomHeight(GetElementHeight)
            .MakeHeaderButton(_createRulesIcon, CreateRules, Color.white);
        }
Ejemplo n.º 6
0
        void OnEnable()
        {
            _world = target as World;

            _mainSceneProperty              = serializedObject.FindProperty(nameof(World.MainScene));
            _defaultZoneTransitionProperty  = serializedObject.FindProperty(nameof(World.DefaultZoneTransition));
            _defaultSpawnTransitionProperty = serializedObject.FindProperty(nameof(World.DefaultSpawnTransition));
            _backgroundMusicProperty        = serializedObject.FindProperty(nameof(World.BackgroundMusic));
            _worldSchemaProperty            = serializedObject.FindProperty(nameof(World.WorldSchema));
            _playerSchemaProperty           = serializedObject.FindProperty(nameof(World.PlayerSchema));
            _npcSchemaProperty              = serializedObject.FindProperty(nameof(World.NpcSchema));
            _mapLayersProperty              = serializedObject.FindProperty(nameof(World.MapLayers));

            _uiScenesControl.Setup(serializedObject.FindProperty(nameof(World.UiScenes)))
            .MakeAddable(_addSceneButton)
            .MakeRemovable(_removeSceneButton)
            .MakeReorderable()
            .MakeCollapsable("MonsterRpgGameKit.WorldEditor.ScenesOpen");

            _zonesControl.Setup(_world.Zones)
            .MakeDrawable(DrawZone)
            .MakeReorderable()
            .MakeCollapsable("MonsterRpgGameKit.WorldEditor.ZonesOpen");
        }
Ejemplo n.º 7
0
        public override void Setup(MoveList target, SerializedProperty property, FieldInfo fieldInfo, PropertyAttribute attribute)
        {
            _list  = target;
            _owner = property.serializedObject.targetObject;

            _listControl.Setup(_list)
            .MakeEditable(_editButton)
            .MakeRemovable(_removeButton)
            .MakeDrawable(DrawMove)
            .MakeCollapsable(property.serializedObject.targetObject.GetType() + "." + property.propertyPath + ".IsOpen")
            .MakeReorderable()
            .MakeHeaderButton(_addButton, _addMenu, Color.white)
            .MakeEmptyLabel(_emptyLabel);

            var abilities = AssetHelper.GetAssetList <Ability>(false, false);

            for (var i = 0; i < abilities.Assets.Count; i++)
            {
                if (abilities.Assets[i] != null)
                {
                    _addMenu.AddItem(abilities.Names[i], false, AddMove, abilities.Assets[i]);
                }
            }
        }
Ejemplo n.º 8
0
        public override void Setup(Inventory target, SerializedProperty property, FieldInfo fieldInfo, PropertyAttribute attribute)
        {
            _inventory = target;
            _owner     = property.serializedObject.targetObject;

            _listControl.Setup(_inventory.Items)
            .MakeEditable(_editButton)
            .MakeRemovable(_removeButton)
            .MakeDrawable(DrawItem)
            .MakeCollapsable(property.serializedObject.targetObject.GetType().Name + "." + property.propertyPath + ".IsOpen")
            .MakeReorderable()
            .MakeHeaderButton(_addButton, _addMenu, Color.white)
            .MakeEmptyLabel(_itemsEmptyLabel);

            var items = AssetHelper.GetAssetList <Item>(false, false);

            for (var i = 0; i < items.Assets.Count; i++)
            {
                if (items.Assets[i] != null)
                {
                    _addMenu.AddItem(items.Names[i], false, AddItem, items.Assets[i]);
                }
            }
        }
 private void Refresh()
 {
     _caller.UpdateVariables();
     _inputs.Setup(_caller.Inputs as IList);
     _outputs.Setup(_caller.Outputs as IList);
 }