Editor Updated & Cleanup

This commit is contained in:
Syntriax 2022-11-21 14:01:01 +03:00
parent 4305d26d17
commit f25a9b676b
2 changed files with 11 additions and 18 deletions

View File

@ -49,7 +49,7 @@ namespace Syntriax.Modules.Movement.Config
public void AddAssemblyToFactory(Assembly assembly) public void AddAssemblyToFactory(Assembly assembly)
{ {
foreach (Type type in assembly.GetTypes().Where(predicate)) foreach (Type type in assembly.GetTypes().Where(predicate))
Types.Add(GetTypeName(type), type); Types.Add(type.FullName, type);
} }
public Component AddToGameObject(GameObject gameObject, string name) public Component AddToGameObject(GameObject gameObject, string name)
@ -59,13 +59,5 @@ namespace Syntriax.Modules.Movement.Config
return gameObject.AddComponent(Types[name]); return gameObject.AddComponent(Types[name]);
} }
public static string GetTypeName(Type type)
{
if (string.IsNullOrEmpty(type.Namespace))
return type.Name;
return $"{type.Namespace}.{type.Name}";
}
} }
} }

View File

@ -3,6 +3,7 @@ using UnityEditor;
using UnityEditorInternal; using UnityEditorInternal;
using Syntriax.Modules.Movement.Config; using Syntriax.Modules.Movement.Config;
using System; using System;
using Syntriax.Modules.Factory;
namespace Syntriax.Modules.Movement.Editor namespace Syntriax.Modules.Movement.Editor
{ {
@ -55,12 +56,12 @@ namespace Syntriax.Modules.Movement.Editor
GUILayout.Space(10); GUILayout.Space(10);
GUILayout.Label("Tip: MovementConfigs->TypeName and MonoBehaviours have the same naming system"); GUILayout.Label("Tip: MovementConfigs->TypeName and MonoBehaviours use the type.FullName value");
GUILayout.Label("If under a namespace: \"Namespace.ClassName\""); GUILayout.Label("If under a namespace: \"Namespace.ClassName\"");
GUILayout.Label("If not under a namespace: \"ClassName\""); GUILayout.Label("If not under a namespace: \"ClassName\"");
GUILayout.Space(5); GUILayout.Space(5);
GUILayout.Label($"Tip: Apply these to your GameObjects by using {nameof(MovementDefinitionFactory)}"); GUILayout.Label($"Tip: Apply these to your GameObjects by using {nameof(MovementDefinitionFactory)} or the {nameof(MovementDefinitionApplier)} component");
GUILayout.Label($"{nameof(MovementDefinitionFactory)}.Instance.ApplyDefinitionToGameObject(\"{movementName.stringValue}\");"); GUILayout.Label($"{nameof(FactorySingleton<MovementDefinitionFactory>)}<{nameof(MovementDefinitionFactory)}>.Instance.ApplyDefinitionToGameObject(\"{movementName.stringValue}\");");
if (quickPresetButtonPressed) LoadPresetQuick(); if (quickPresetButtonPressed) LoadPresetQuick();
if (longerPresetButtonPressed) LoadPresetLonger(); if (longerPresetButtonPressed) LoadPresetLonger();
@ -74,12 +75,12 @@ namespace Syntriax.Modules.Movement.Editor
movementDefinition.MovementConfigs = new MovementConfig[] movementDefinition.MovementConfigs = new MovementConfig[]
{ {
new MovementConfig(MovementFactory.GetTypeName(typeof(Implementations.GroundMovement1D)), 5f) new MovementConfig(typeof(Implementations.GroundMovement1D).FullName, 5f)
}; };
movementDefinition.MonoBehaviours = new string[] movementDefinition.MonoBehaviours = new string[]
{ {
MovementFactory.GetTypeName(typeof(MovementController)) typeof(MovementController).FullName
}; };
UpdateSerializedObject(); UpdateSerializedObject();
@ -91,14 +92,14 @@ namespace Syntriax.Modules.Movement.Editor
movementDefinition.MovementConfigs = new MovementConfig[] movementDefinition.MovementConfigs = new MovementConfig[]
{ {
new MovementConfig(MovementFactory.GetTypeName(typeof(Implementations.AirMovement1D)), 5f), new MovementConfig(typeof(Implementations.AirMovement1D).FullName, 5f),
new MovementConfig(MovementFactory.GetTypeName(typeof(Implementations.GroundMovement1D)), 5f) new MovementConfig(typeof(Implementations.GroundMovement1D).FullName, 5f)
}; };
movementDefinition.MonoBehaviours = new string[] movementDefinition.MonoBehaviours = new string[]
{ {
MovementFactory.GetTypeName(typeof(MovementController)), typeof(MovementController).FullName,
MovementFactory.GetTypeName(typeof(ToggleState.ToggleStateMonoBehaviour)) typeof(ToggleState.ToggleStateMonoBehaviour).FullName
}; };
UpdateSerializedObject(); UpdateSerializedObject();