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]); } } }
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); }
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); }
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); }
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); }
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"); }
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]); } } }
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); }