add ckg
plantilla base para movimiento básico
This commit is contained in:
@@ -0,0 +1,390 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor (typeof(mapObjectInformation))]
|
||||
public class mapObjectInformationEditor : Editor
|
||||
{
|
||||
SerializedProperty ID;
|
||||
|
||||
SerializedProperty mapObjectName;
|
||||
|
||||
SerializedProperty description;
|
||||
SerializedProperty mapObjectProp;
|
||||
SerializedProperty typeNameList;
|
||||
SerializedProperty typeIndex;
|
||||
SerializedProperty typeName;
|
||||
SerializedProperty visibleInAllBuildings;
|
||||
SerializedProperty visibleInAllFloors;
|
||||
SerializedProperty calculateFloorAtStart;
|
||||
|
||||
SerializedProperty buildingIndex;
|
||||
|
||||
SerializedProperty currentBuilding;
|
||||
SerializedProperty floorIndex;
|
||||
SerializedProperty currentFloor;
|
||||
SerializedProperty useCustomValues;
|
||||
SerializedProperty offset;
|
||||
SerializedProperty extraIconSizeOnMap;
|
||||
SerializedProperty followCameraRotation;
|
||||
|
||||
SerializedProperty followObjectRotation;
|
||||
|
||||
SerializedProperty canChangeBuildingAndFloor;
|
||||
SerializedProperty activateAtStart;
|
||||
SerializedProperty disableWhenPlayerHasReached;
|
||||
SerializedProperty useCloseDistance;
|
||||
SerializedProperty showOffScreenIcon;
|
||||
SerializedProperty showMapWindowIcon;
|
||||
SerializedProperty showDistance;
|
||||
SerializedProperty showDistanceOffScreen;
|
||||
SerializedProperty triggerRadius;
|
||||
SerializedProperty triggerColor;
|
||||
SerializedProperty objectiveOffset;
|
||||
SerializedProperty removeComponentWhenObjectiveReached;
|
||||
SerializedProperty setCustomCompassSettings;
|
||||
SerializedProperty useCompassIcon;
|
||||
SerializedProperty compassIconPrefab;
|
||||
SerializedProperty verticalOffset;
|
||||
SerializedProperty useCustomObjectiveColor;
|
||||
SerializedProperty removeCustomObjectiveColor;
|
||||
SerializedProperty objectiveColor;
|
||||
SerializedProperty callEventWhenPointReached;
|
||||
SerializedProperty pointReachedEvent;
|
||||
SerializedProperty belongToMapPart;
|
||||
SerializedProperty mapPartList;
|
||||
SerializedProperty mapPartName;
|
||||
SerializedProperty mapPartIndex;
|
||||
SerializedProperty useEventsOnChangeFloor;
|
||||
SerializedProperty useEventOnEnabledFloor;
|
||||
SerializedProperty evenOnEnabledFloor;
|
||||
SerializedProperty useEventOnDisabledFloor;
|
||||
SerializedProperty evenOnDisabledFloor;
|
||||
SerializedProperty showGizmo;
|
||||
SerializedProperty gizmoLabelOffset;
|
||||
SerializedProperty gizmoLabelColor;
|
||||
SerializedProperty offsetShowGizmo;
|
||||
SerializedProperty offsetGizmoColor;
|
||||
SerializedProperty offsetRadius;
|
||||
|
||||
SerializedProperty mainScreenObjectivesManagerName;
|
||||
|
||||
SerializedProperty mainMapCreatorManagerName;
|
||||
|
||||
SerializedProperty mapCreatorManager;
|
||||
|
||||
SerializedProperty checkIfIncludedOnScreenObjectiveOnRemoveMapObject;
|
||||
|
||||
mapObjectInformation mapObject;
|
||||
|
||||
GUIStyle style = new GUIStyle ();
|
||||
|
||||
void OnEnable ()
|
||||
{
|
||||
ID = serializedObject.FindProperty ("ID");
|
||||
|
||||
mapObjectName = serializedObject.FindProperty ("mapObjectName");
|
||||
|
||||
description = serializedObject.FindProperty ("description");
|
||||
mapObjectProp = serializedObject.FindProperty ("mapObject");
|
||||
typeNameList = serializedObject.FindProperty ("typeNameList");
|
||||
typeIndex = serializedObject.FindProperty ("typeIndex");
|
||||
typeName = serializedObject.FindProperty ("typeName");
|
||||
visibleInAllBuildings = serializedObject.FindProperty ("visibleInAllBuildings");
|
||||
visibleInAllFloors = serializedObject.FindProperty ("visibleInAllFloors");
|
||||
calculateFloorAtStart = serializedObject.FindProperty ("calculateFloorAtStart");
|
||||
|
||||
buildingIndex = serializedObject.FindProperty ("buildingIndex");
|
||||
|
||||
currentBuilding = serializedObject.FindProperty ("currentBuilding");
|
||||
floorIndex = serializedObject.FindProperty ("floorIndex");
|
||||
currentFloor = serializedObject.FindProperty ("currentFloor");
|
||||
useCustomValues = serializedObject.FindProperty ("useCustomValues");
|
||||
offset = serializedObject.FindProperty ("offset");
|
||||
extraIconSizeOnMap = serializedObject.FindProperty ("extraIconSizeOnMap");
|
||||
followCameraRotation = serializedObject.FindProperty ("followCameraRotation");
|
||||
|
||||
followObjectRotation = serializedObject.FindProperty ("followObjectRotation");
|
||||
|
||||
canChangeBuildingAndFloor = serializedObject.FindProperty ("canChangeBuildingAndFloor");
|
||||
activateAtStart = serializedObject.FindProperty ("activateAtStart");
|
||||
disableWhenPlayerHasReached = serializedObject.FindProperty ("disableWhenPlayerHasReached");
|
||||
useCloseDistance = serializedObject.FindProperty ("useCloseDistance");
|
||||
showOffScreenIcon = serializedObject.FindProperty ("showOffScreenIcon");
|
||||
showMapWindowIcon = serializedObject.FindProperty ("showMapWindowIcon");
|
||||
showDistance = serializedObject.FindProperty ("showDistance");
|
||||
showDistanceOffScreen = serializedObject.FindProperty ("showDistanceOffScreen");
|
||||
triggerRadius = serializedObject.FindProperty ("triggerRadius");
|
||||
triggerColor = serializedObject.FindProperty ("triggerColor");
|
||||
objectiveOffset = serializedObject.FindProperty ("objectiveOffset");
|
||||
removeComponentWhenObjectiveReached = serializedObject.FindProperty ("removeComponentWhenObjectiveReached");
|
||||
setCustomCompassSettings = serializedObject.FindProperty ("setCustomCompassSettings");
|
||||
useCompassIcon = serializedObject.FindProperty ("useCompassIcon");
|
||||
compassIconPrefab = serializedObject.FindProperty ("compassIconPrefab");
|
||||
verticalOffset = serializedObject.FindProperty ("verticalOffset");
|
||||
useCustomObjectiveColor = serializedObject.FindProperty ("useCustomObjectiveColor");
|
||||
removeCustomObjectiveColor = serializedObject.FindProperty ("removeCustomObjectiveColor");
|
||||
objectiveColor = serializedObject.FindProperty ("objectiveColor");
|
||||
callEventWhenPointReached = serializedObject.FindProperty ("callEventWhenPointReached");
|
||||
pointReachedEvent = serializedObject.FindProperty ("pointReachedEvent");
|
||||
belongToMapPart = serializedObject.FindProperty ("belongToMapPart");
|
||||
mapPartList = serializedObject.FindProperty ("mapPartList");
|
||||
mapPartName = serializedObject.FindProperty ("mapPartName");
|
||||
mapPartIndex = serializedObject.FindProperty ("mapPartIndex");
|
||||
useEventsOnChangeFloor = serializedObject.FindProperty ("useEventsOnChangeFloor");
|
||||
useEventOnEnabledFloor = serializedObject.FindProperty ("useEventOnEnabledFloor");
|
||||
evenOnEnabledFloor = serializedObject.FindProperty ("evenOnEnabledFloor");
|
||||
useEventOnDisabledFloor = serializedObject.FindProperty ("useEventOnDisabledFloor");
|
||||
evenOnDisabledFloor = serializedObject.FindProperty ("evenOnDisabledFloor");
|
||||
showGizmo = serializedObject.FindProperty ("showGizmo");
|
||||
gizmoLabelOffset = serializedObject.FindProperty ("gizmoLabelOffset");
|
||||
gizmoLabelColor = serializedObject.FindProperty ("gizmoLabelColor");
|
||||
offsetShowGizmo = serializedObject.FindProperty ("offsetShowGizmo");
|
||||
offsetGizmoColor = serializedObject.FindProperty ("offsetGizmoColor");
|
||||
offsetRadius = serializedObject.FindProperty ("offsetRadius");
|
||||
|
||||
mainScreenObjectivesManagerName = serializedObject.FindProperty ("mainScreenObjectivesManagerName");
|
||||
|
||||
mainMapCreatorManagerName = serializedObject.FindProperty ("mainMapCreatorManagerName");
|
||||
|
||||
mapCreatorManager = serializedObject.FindProperty ("mapCreatorManager");
|
||||
|
||||
checkIfIncludedOnScreenObjectiveOnRemoveMapObject = serializedObject.FindProperty ("checkIfIncludedOnScreenObjectiveOnRemoveMapObject");
|
||||
|
||||
mapObject = (mapObjectInformation)target;
|
||||
}
|
||||
|
||||
void OnSceneGUI ()
|
||||
{
|
||||
if (!Application.isPlaying) {
|
||||
|
||||
if (mapObject.showGizmo) {
|
||||
if (mapObject.disableWhenPlayerHasReached) {
|
||||
style.normal.textColor = mapObject.gizmoLabelColor;
|
||||
style.alignment = TextAnchor.MiddleCenter;
|
||||
|
||||
Handles.Label (mapObject.transform.position + mapObject.transform.up * mapObject.triggerRadius + mapObject.transform.up * mapObject.gizmoLabelOffset,
|
||||
"Objective: " + mapObject.gameObject.name, style);
|
||||
}
|
||||
|
||||
if (mapObject.offsetShowGizmo) {
|
||||
style.normal.textColor = mapObject.offsetGizmoColor;
|
||||
style.alignment = TextAnchor.MiddleCenter;
|
||||
|
||||
Handles.Label (mapObject.transform.position + mapObject.offset, "Offset \n Position", style);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI ()
|
||||
{
|
||||
GUILayout.BeginVertical (GUILayout.Height (30));
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("ID Settings", "window");
|
||||
GUILayout.Label ("Map Object ID: " + ID.intValue);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Main Settings", "window");
|
||||
|
||||
EditorGUILayout.PropertyField (mapObjectName);
|
||||
EditorGUILayout.PropertyField (description);
|
||||
EditorGUILayout.PropertyField (mapObjectProp);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (mainScreenObjectivesManagerName);
|
||||
EditorGUILayout.PropertyField (mainMapCreatorManagerName);
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Map Object Settings", "window");
|
||||
if (typeNameList.arraySize > 0) {
|
||||
typeIndex.intValue = EditorGUILayout.Popup ("Map Icon Type", typeIndex.intValue, mapObject.typeNameList);
|
||||
typeName.stringValue = mapObject.typeNameList [typeIndex.intValue];
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField (visibleInAllBuildings);
|
||||
EditorGUILayout.PropertyField (visibleInAllFloors);
|
||||
EditorGUILayout.PropertyField (calculateFloorAtStart);
|
||||
|
||||
if (mapObject.buildingList != null && mapObject.buildingList.Length > 0) {
|
||||
buildingIndex.intValue = EditorGUILayout.Popup ("Building Number", buildingIndex.intValue, mapObject.buildingList);
|
||||
|
||||
if (buildingIndex.intValue >= 0 && mapObject.typeNameList.Length > buildingIndex.intValue) {
|
||||
currentBuilding.stringValue = mapObject.typeNameList [buildingIndex.intValue];
|
||||
}
|
||||
|
||||
if (mapObject.floorList != null && mapObject.floorList.Length > 0) {
|
||||
floorIndex.intValue = EditorGUILayout.Popup ("Floor Number", floorIndex.intValue, mapObject.floorList);
|
||||
|
||||
if (floorIndex.intValue >= 0 && mapObject.floorList.Length > floorIndex.intValue) {
|
||||
currentFloor.stringValue = mapObject.floorList [floorIndex.intValue];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField (useCustomValues);
|
||||
|
||||
EditorGUILayout.PropertyField (offset);
|
||||
EditorGUILayout.PropertyField (extraIconSizeOnMap);
|
||||
EditorGUILayout.PropertyField (followCameraRotation);
|
||||
EditorGUILayout.PropertyField (followObjectRotation);
|
||||
EditorGUILayout.PropertyField (canChangeBuildingAndFloor);
|
||||
EditorGUILayout.PropertyField (activateAtStart);
|
||||
|
||||
EditorGUILayout.PropertyField (checkIfIncludedOnScreenObjectiveOnRemoveMapObject);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (GUILayout.Button ("Update Map Values")) {
|
||||
mapObject.getMapObjectInformation ();
|
||||
mapObject.checkIfMapObjectInformationFound ();
|
||||
}
|
||||
|
||||
// if (GUILayout.Button ("Change Names")) {
|
||||
// mapObject.changeNames ();
|
||||
// }
|
||||
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Advanced Settings", "window");
|
||||
EditorGUILayout.PropertyField (disableWhenPlayerHasReached);
|
||||
if (disableWhenPlayerHasReached.boolValue) {
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUI.color = Color.cyan;
|
||||
EditorGUILayout.HelpBox ("Configure the Objective options", MessageType.None);
|
||||
GUI.color = Color.white;
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (useCloseDistance);
|
||||
EditorGUILayout.PropertyField (showOffScreenIcon);
|
||||
EditorGUILayout.PropertyField (showMapWindowIcon);
|
||||
EditorGUILayout.PropertyField (showDistance);
|
||||
EditorGUILayout.PropertyField (showDistanceOffScreen);
|
||||
EditorGUILayout.PropertyField (triggerRadius);
|
||||
EditorGUILayout.PropertyField (triggerColor);
|
||||
EditorGUILayout.PropertyField (objectiveOffset);
|
||||
|
||||
EditorGUILayout.PropertyField (removeComponentWhenObjectiveReached);
|
||||
|
||||
|
||||
EditorGUILayout.PropertyField (setCustomCompassSettings);
|
||||
if (setCustomCompassSettings.boolValue) {
|
||||
EditorGUILayout.PropertyField (useCompassIcon);
|
||||
EditorGUILayout.PropertyField (compassIconPrefab);
|
||||
EditorGUILayout.PropertyField (verticalOffset);
|
||||
}
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (useCustomObjectiveColor);
|
||||
if (useCustomObjectiveColor.boolValue) {
|
||||
EditorGUILayout.PropertyField (removeCustomObjectiveColor);
|
||||
if (!removeCustomObjectiveColor.boolValue) {
|
||||
EditorGUILayout.PropertyField (objectiveColor);
|
||||
}
|
||||
}
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Unity Event When Point Reached Settings", "window");
|
||||
EditorGUILayout.PropertyField (callEventWhenPointReached);
|
||||
if (callEventWhenPointReached.boolValue) {
|
||||
EditorGUILayout.PropertyField (pointReachedEvent);
|
||||
}
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Map Part Owner Settings", "window");
|
||||
EditorGUILayout.PropertyField (belongToMapPart);
|
||||
if (belongToMapPart.boolValue) {
|
||||
if (mapPartList.arraySize > 0) {
|
||||
mapPartIndex.intValue = EditorGUILayout.Popup ("Map Part Owner", mapPartIndex.intValue, mapObject.mapPartList);
|
||||
if (mapPartList.arraySize > mapPartIndex.intValue) {
|
||||
mapPartName.stringValue = mapObject.mapPartList [mapPartIndex.intValue];
|
||||
}
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Floor Changed Events Settings", "window");
|
||||
EditorGUILayout.PropertyField (useEventsOnChangeFloor);
|
||||
if (useEventsOnChangeFloor.boolValue) {
|
||||
EditorGUILayout.PropertyField (useEventOnEnabledFloor);
|
||||
if (useEventOnEnabledFloor.boolValue) {
|
||||
EditorGUILayout.PropertyField (evenOnEnabledFloor);
|
||||
}
|
||||
EditorGUILayout.PropertyField (useEventOnDisabledFloor);
|
||||
if (useEventOnDisabledFloor.boolValue) {
|
||||
EditorGUILayout.PropertyField (evenOnDisabledFloor);
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Debug Options", "window");
|
||||
EditorGUILayout.PropertyField (buildingIndex);
|
||||
EditorGUILayout.PropertyField (floorIndex);
|
||||
if (GUILayout.Button ("Set Current Building/Floor Index")) {
|
||||
if (Application.isPlaying) {
|
||||
mapObject.setNewBuildingAndFloorIndexByInspector ();
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Gizmo Settings", "window");
|
||||
EditorGUILayout.PropertyField (showGizmo);
|
||||
if (showGizmo.boolValue) {
|
||||
EditorGUILayout.PropertyField (gizmoLabelOffset);
|
||||
EditorGUILayout.PropertyField (gizmoLabelColor);
|
||||
|
||||
if (offset.vector3Value != Vector3.zero) {
|
||||
EditorGUILayout.PropertyField (offsetShowGizmo);
|
||||
if (offsetShowGizmo.boolValue) {
|
||||
EditorGUILayout.PropertyField (offsetGizmoColor);
|
||||
EditorGUILayout.PropertyField (offsetRadius);
|
||||
}
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Debug", "window");
|
||||
EditorGUILayout.PropertyField (mapCreatorManager);
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
if (GUI.changed) {
|
||||
serializedObject.ApplyModifiedProperties ();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user