/// <summary> /// Creates a wizard for the target RuleOverrideTIle /// </summary> /// <param name="target">The RuleOverrideTile to be edited by the wizard</param> public static void CreateWizard(RuleOverrideTile target) { PopulateRuleOverideTileWizard wizard = DisplayWizard <PopulateRuleOverideTileWizard>("Populate Override", "Populate"); wizard.m_tileset = target; }
public override void OnInspectorGUI() { serializedObject.UpdateIfRequiredOrScript(); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Tile")); if (overrideTile.m_InstanceTile) { SerializedObject instanceTileSerializedObject = new SerializedObject(overrideTile.m_InstanceTile); overrideTile.m_InstanceTile.hideFlags = HideFlags.None; RuleTileEditor.DrawCustomFields(overrideTile.m_InstanceTile, instanceTileSerializedObject); overrideTile.m_InstanceTile.hideFlags = HideFlags.NotEditable; instanceTileSerializedObject.ApplyModifiedProperties(); } EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Advanced")); serializedObject.ApplyModifiedProperties(); if (EditorGUI.EndChangeCheck()) { UpdateInstanceTile(); SaveTile(); } if (!overrideTile.m_Advanced) { using (new EditorGUI.DisabledScope(overrideTile.m_Tile == null)) { EditorGUI.BeginChangeCheck(); overrideTile.GetOverrides(m_Sprites); m_SpriteList.list = m_Sprites; m_SpriteList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { for (int i = 0; i < targets.Length; i++) { RuleOverrideTile tile = targets[i] as RuleOverrideTile; tile.ApplyOverrides(m_Sprites); SaveTile(); } } } } else { using (new EditorGUI.DisabledScope(overrideTile.m_Tile == null)) { overrideTile.GetOverrides(m_Rules); m_RuleList.list = m_Rules; m_RuleList.DoLayoutList(); } } }
private void UpdateOverrideTiles() { string[] overrideTileGuids = AssetDatabase.FindAssets("t:RuleOverrideTile"); foreach (string overrideTileGuid in overrideTileGuids) { string overrideTilePath = AssetDatabase.GUIDToAssetPath(overrideTileGuid); RuleOverrideTile overrideTile = AssetDatabase.LoadAssetAtPath <RuleOverrideTile>(overrideTilePath); if (overrideTile.m_Tile == target) { overrideTile.Override(); } } }
public override void OnInspectorGUI() { serializedObject.UpdateIfRequiredOrScript(); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Tile")); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_OverrideSelf")); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Advanced")); serializedObject.ApplyModifiedProperties(); using (new EditorGUI.DisabledScope(overrideTile.m_Tile == null)) { if (GUILayout.Button("Populate based on sprite sheet...")) { foreach (UnityEngine.Object obj in serializedObject.targetObjects) { PopulateRuleOverideTileWizard.CreateWizard(obj as RuleOverrideTile); } } } if (!overrideTile.m_Advanced) { using (new EditorGUI.DisabledScope(overrideTile.m_Tile == null)) { EditorGUI.BeginChangeCheck(); overrideTile.GetOverrides(m_Sprites); m_SpriteList.list = m_Sprites; m_SpriteList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { for (int i = 0; i < targets.Length; i++) { RuleOverrideTile tile = targets[i] as RuleOverrideTile; tile.ApplyOverrides(m_Sprites); } } } } else { using (new EditorGUI.DisabledScope(overrideTile.m_Tile == null)) { overrideTile.GetOverrides(m_Rules); m_RuleList.list = m_Rules; m_RuleList.DoLayoutList(); } } }
/// <summary> /// Gets all RuleOverrideTiles which override the given RuleTile /// </summary> /// <param name="target">RuleTile which has been updated</param> /// <returns>A list of RuleOverrideTiles which override the given RuleTile</returns> public static List <RuleOverrideTile> FindAffectedOverrideTiles(RuleTile target) { List <RuleOverrideTile> overrideTiles = new List <RuleOverrideTile>(); string[] overrideTileGuids = AssetDatabase.FindAssets("t:" + typeof(RuleOverrideTile).Name); foreach (string overrideTileGuid in overrideTileGuids) { string overrideTilePath = AssetDatabase.GUIDToAssetPath(overrideTileGuid); RuleOverrideTile overrideTile = AssetDatabase.LoadAssetAtPath <RuleOverrideTile>(overrideTilePath); if (overrideTile.m_Tile == target) { overrideTiles.Add(overrideTile); } } return(overrideTiles); }
public override void OnInspectorGUI() { serializedObject.UpdateIfRequiredOrScript(); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Tile")); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_OverrideSelf")); EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Advanced")); serializedObject.ApplyModifiedProperties(); if (EditorGUI.EndChangeCheck()) { SaveTile(); } if (!overrideTile.m_Advanced) { using (new EditorGUI.DisabledScope(overrideTile.m_Tile == null)) { EditorGUI.BeginChangeCheck(); overrideTile.GetOverrides(m_Sprites); m_SpriteList.list = m_Sprites; m_SpriteList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { for (int i = 0; i < targets.Length; i++) { RuleOverrideTile tile = targets[i] as RuleOverrideTile; tile.ApplyOverrides(m_Sprites); } } } } else { using (new EditorGUI.DisabledScope(overrideTile.m_Tile == null)) { overrideTile.GetOverrides(m_Rules); m_RuleList.list = m_Rules; m_RuleList.DoLayoutList(); } } }
public override void OnInspectorGUI() { serializedObject.UpdateIfRequiredOrScript(); DrawTileField(); DrawCustomFields(); // Sprite List EditorGUI.BeginChangeCheck(); overrideTile.GetOverrides(m_Sprites); m_SpriteList.list = m_Sprites; m_SpriteList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { for (int i = 0; i < targets.Length; i++) { RuleOverrideTile tile = targets[i] as RuleOverrideTile; tile.ApplyOverrides(m_Sprites); SaveTile(); } } // GameObject List EditorGUI.BeginChangeCheck(); overrideTile.GetOverrides(m_GameObjects); m_GameObjectList.list = m_GameObjects; m_GameObjectList.DoLayoutList(); if (EditorGUI.EndChangeCheck()) { for (int i = 0; i < targets.Length; i++) { RuleOverrideTile tile = targets[i] as RuleOverrideTile; tile.ApplyOverrides(m_GameObjects); SaveTile(); } } }
void OnEnable() { _ruleOverrideTile = target as RuleOverrideTile; UpdateOverrides(); }
private static bool MenuOptionValidation(MenuCommand menuCommand) { RuleOverrideTile tile = menuCommand.context as RuleOverrideTile; return(tile.m_Tile); }
static bool MenuOptionValidation(MenuCommand menuCommand) { RuleOverrideTile tile = menuCommand.context as RuleOverrideTile; return(tile.m_Tile && !tile.m_Advanced); }