add ckg
plantilla base para movimiento básico
This commit is contained in:
@@ -0,0 +1,199 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using UnityEngine.Events;
|
||||
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor (typeof (characterFactionManager))]
|
||||
public class characterFactionManagerEditor : Editor
|
||||
{
|
||||
SerializedProperty factionManager;
|
||||
|
||||
SerializedProperty characterTransform;
|
||||
SerializedProperty checkForFriendlyFactionAttackers;
|
||||
SerializedProperty changeFactionRelationWithFriendlyAttackers;
|
||||
SerializedProperty factionStringList;
|
||||
SerializedProperty factionIndex;
|
||||
SerializedProperty factionName;
|
||||
SerializedProperty currentDetectedEnemyList;
|
||||
|
||||
SerializedProperty mainManagerName;
|
||||
|
||||
SerializedProperty factionManagerAssigned;
|
||||
|
||||
SerializedProperty ignoreCharacterFactionEnabled;
|
||||
|
||||
SerializedProperty removeAsTargetIfIgnoreCharacterFactionIsActivated;
|
||||
|
||||
SerializedProperty useEventsOnIgnoreCharacterFactionStateChange;
|
||||
SerializedProperty eventOnIgnoreCharacterFactionEnabled;
|
||||
SerializedProperty eventOnIgnoreCharacterFactionDisabled;
|
||||
|
||||
|
||||
characterFactionManager manager;
|
||||
|
||||
GUIStyle buttonStyle = new GUIStyle ();
|
||||
|
||||
void OnEnable ()
|
||||
{
|
||||
factionManager = serializedObject.FindProperty ("factionManager");
|
||||
characterTransform = serializedObject.FindProperty ("characterTransform");
|
||||
|
||||
checkForFriendlyFactionAttackers = serializedObject.FindProperty ("checkForFriendlyFactionAttackers");
|
||||
changeFactionRelationWithFriendlyAttackers = serializedObject.FindProperty ("changeFactionRelationWithFriendlyAttackers");
|
||||
factionStringList = serializedObject.FindProperty ("factionStringList");
|
||||
factionIndex = serializedObject.FindProperty ("factionIndex");
|
||||
factionName = serializedObject.FindProperty ("factionName");
|
||||
currentDetectedEnemyList = serializedObject.FindProperty ("currentDetectedEnemyList");
|
||||
|
||||
mainManagerName = serializedObject.FindProperty ("mainManagerName");
|
||||
|
||||
factionManagerAssigned = serializedObject.FindProperty ("factionManagerAssigned");
|
||||
|
||||
ignoreCharacterFactionEnabled = serializedObject.FindProperty ("ignoreCharacterFactionEnabled");
|
||||
|
||||
removeAsTargetIfIgnoreCharacterFactionIsActivated = serializedObject.FindProperty ("removeAsTargetIfIgnoreCharacterFactionIsActivated");
|
||||
|
||||
useEventsOnIgnoreCharacterFactionStateChange = serializedObject.FindProperty ("useEventsOnIgnoreCharacterFactionStateChange");
|
||||
eventOnIgnoreCharacterFactionEnabled = serializedObject.FindProperty ("eventOnIgnoreCharacterFactionEnabled");
|
||||
eventOnIgnoreCharacterFactionDisabled = serializedObject.FindProperty ("eventOnIgnoreCharacterFactionDisabled");
|
||||
|
||||
|
||||
manager = (characterFactionManager)target;
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI ()
|
||||
{
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
buttonStyle = new GUIStyle (GUI.skin.button);
|
||||
|
||||
buttonStyle.fontStyle = FontStyle.Bold;
|
||||
buttonStyle.fontSize = 12;
|
||||
|
||||
GUILayout.BeginVertical (GUILayout.Height (30));
|
||||
|
||||
GUILayout.BeginVertical ("Main Components", "window");
|
||||
|
||||
EditorGUILayout.PropertyField (factionManager);
|
||||
|
||||
EditorGUILayout.PropertyField (characterTransform);
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Main Settings", "window");
|
||||
|
||||
EditorGUILayout.PropertyField (ignoreCharacterFactionEnabled);
|
||||
|
||||
EditorGUILayout.PropertyField (removeAsTargetIfIgnoreCharacterFactionIsActivated);
|
||||
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (checkForFriendlyFactionAttackers);
|
||||
EditorGUILayout.PropertyField (changeFactionRelationWithFriendlyAttackers);
|
||||
|
||||
EditorGUILayout.PropertyField (mainManagerName);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (factionStringList.arraySize > 0) {
|
||||
factionIndex.intValue = EditorGUILayout.Popup ("Faction ", factionIndex.intValue, manager.getFactionStringList ());
|
||||
|
||||
if (factionIndex.intValue < manager.factionStringList.Length) {
|
||||
factionName.stringValue = manager.factionStringList [factionIndex.intValue];
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Events Settings", "window");
|
||||
EditorGUILayout.PropertyField (useEventsOnIgnoreCharacterFactionStateChange);
|
||||
if (useEventsOnIgnoreCharacterFactionStateChange.boolValue) {
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (eventOnIgnoreCharacterFactionEnabled);
|
||||
EditorGUILayout.PropertyField (eventOnIgnoreCharacterFactionDisabled);
|
||||
}
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Detected Enemy List (Debug)", "window");
|
||||
showSimpleList (currentDetectedEnemyList);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (factionManagerAssigned);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (GUILayout.Button ("Get Faction List")) {
|
||||
manager.getFactionListFromEditor ();
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Debug", "window");
|
||||
if (GUILayout.Button ("Toggle Ignore Character Faction Enabled")) {
|
||||
manager.toggleIngoreCharacterFactionEnabled ();
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
if (GUI.changed) {
|
||||
serializedObject.ApplyModifiedProperties ();
|
||||
}
|
||||
}
|
||||
|
||||
void showSimpleList (SerializedProperty list)
|
||||
{
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (GUILayout.Button ("Show/Hide " + list.displayName, buttonStyle)) {
|
||||
list.isExpanded = !list.isExpanded;
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (list.isExpanded) {
|
||||
GUILayout.BeginVertical ("box");
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.Label ("Amount: \t" + list.arraySize);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
for (int i = 0; i < list.arraySize; i++) {
|
||||
GUILayout.BeginHorizontal ();
|
||||
if (i < list.arraySize && i >= 0) {
|
||||
EditorGUILayout.PropertyField (list.GetArrayElementAtIndex (i), new GUIContent ("", null, ""), false);
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user