add ckg
plantilla base para movimiento básico
This commit is contained in:
@@ -0,0 +1,513 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
|
||||
[CanEditMultipleObjects]
|
||||
[CustomEditor (typeof(zeroGravityRoomSystem))]
|
||||
public class zeroGravityRoomSystemEditor : Editor
|
||||
{
|
||||
SerializedProperty roomHasRegularGravity;
|
||||
SerializedProperty roomHasZeroGravity;
|
||||
SerializedProperty gravityDirectionTransform;
|
||||
SerializedProperty explanation;
|
||||
SerializedProperty useNewGravityOutside;
|
||||
SerializedProperty outsideHasZeroGravity;
|
||||
SerializedProperty outsideGravityDirectionTransform;
|
||||
SerializedProperty objectsAffectedByGravity;
|
||||
SerializedProperty changeGravityForceForObjects;
|
||||
SerializedProperty newGravityForceForObjects;
|
||||
SerializedProperty charactersAffectedByGravity;
|
||||
SerializedProperty changeGravityForceForCharacters;
|
||||
SerializedProperty newGravityForceForCharacters;
|
||||
SerializedProperty addForceToObjectsOnZeroGravityState;
|
||||
SerializedProperty forceAmountToObjectOnZeroGravity;
|
||||
SerializedProperty forceDirectionToObjectsOnZeroGravity;
|
||||
SerializedProperty forceModeToObjectsOnZeroGravity;
|
||||
SerializedProperty addInitialForceToObjectsOnZeroGravityState;
|
||||
SerializedProperty initialForceToObjectsOnZeroGravity;
|
||||
SerializedProperty initialForceRadiusToObjectsOnZeroGravity;
|
||||
SerializedProperty initialForcePositionToObjectsOnZeroGravity;
|
||||
SerializedProperty playerTag;
|
||||
SerializedProperty nonAffectedObjectsTagList;
|
||||
SerializedProperty charactersTagList;
|
||||
SerializedProperty highestPointPoisition;
|
||||
SerializedProperty lowestPointPosition;
|
||||
SerializedProperty roomPointsParent;
|
||||
SerializedProperty roomPointsList;
|
||||
SerializedProperty charactersInsideListAtStart;
|
||||
SerializedProperty charactersInsideList;
|
||||
SerializedProperty addObjectsInsideParent;
|
||||
SerializedProperty objectsInsideParent;
|
||||
SerializedProperty objectsInsideList;
|
||||
SerializedProperty useSounds;
|
||||
SerializedProperty mainAudioSource;
|
||||
SerializedProperty regularGravitySound;
|
||||
SerializedProperty regularGravityAudioElement;
|
||||
SerializedProperty zeroGravitySound;
|
||||
SerializedProperty zeroGravityAudioElement;
|
||||
SerializedProperty customGravitySound;
|
||||
SerializedProperty customGravityAudioElement;
|
||||
SerializedProperty useSoundsOnCharacters;
|
||||
SerializedProperty soundOnEntering;
|
||||
SerializedProperty onEnteringAudioElement;
|
||||
SerializedProperty soundOnExiting;
|
||||
SerializedProperty onExitingAudioElement;
|
||||
|
||||
SerializedProperty debugModeActive;
|
||||
SerializedProperty debugModeListActive;
|
||||
|
||||
SerializedProperty showDebugPrint;
|
||||
|
||||
SerializedProperty objectInfoList;
|
||||
SerializedProperty showGizmo;
|
||||
SerializedProperty centerGizmoScale;
|
||||
SerializedProperty roomCenterColor;
|
||||
SerializedProperty gizmoLabelColor;
|
||||
SerializedProperty linesColor;
|
||||
SerializedProperty useHandleForWaypoints;
|
||||
|
||||
zeroGravityRoomSystem manager;
|
||||
string labelText;
|
||||
GUIStyle style = new GUIStyle ();
|
||||
|
||||
Quaternion currentWaypointRotation;
|
||||
Vector3 oldPoint;
|
||||
Vector3 newPoint;
|
||||
Transform waypoint;
|
||||
string currentName;
|
||||
|
||||
GUIStyle buttonStyle = new GUIStyle ();
|
||||
|
||||
void OnEnable ()
|
||||
{
|
||||
roomHasRegularGravity = serializedObject.FindProperty ("roomHasRegularGravity");
|
||||
roomHasZeroGravity = serializedObject.FindProperty ("roomHasZeroGravity");
|
||||
gravityDirectionTransform = serializedObject.FindProperty ("gravityDirectionTransform");
|
||||
explanation = serializedObject.FindProperty ("explanation");
|
||||
useNewGravityOutside = serializedObject.FindProperty ("useNewGravityOutside");
|
||||
outsideHasZeroGravity = serializedObject.FindProperty ("outsideHasZeroGravity");
|
||||
outsideGravityDirectionTransform = serializedObject.FindProperty ("outsideGravityDirectionTransform");
|
||||
objectsAffectedByGravity = serializedObject.FindProperty ("objectsAffectedByGravity");
|
||||
changeGravityForceForObjects = serializedObject.FindProperty ("changeGravityForceForObjects");
|
||||
newGravityForceForObjects = serializedObject.FindProperty ("newGravityForceForObjects");
|
||||
charactersAffectedByGravity = serializedObject.FindProperty ("charactersAffectedByGravity");
|
||||
changeGravityForceForCharacters = serializedObject.FindProperty ("changeGravityForceForCharacters");
|
||||
newGravityForceForCharacters = serializedObject.FindProperty ("newGravityForceForCharacters");
|
||||
addForceToObjectsOnZeroGravityState = serializedObject.FindProperty ("addForceToObjectsOnZeroGravityState");
|
||||
forceAmountToObjectOnZeroGravity = serializedObject.FindProperty ("forceAmountToObjectOnZeroGravity");
|
||||
forceDirectionToObjectsOnZeroGravity = serializedObject.FindProperty ("forceDirectionToObjectsOnZeroGravity");
|
||||
forceModeToObjectsOnZeroGravity = serializedObject.FindProperty ("forceModeToObjectsOnZeroGravity");
|
||||
addInitialForceToObjectsOnZeroGravityState = serializedObject.FindProperty ("addInitialForceToObjectsOnZeroGravityState");
|
||||
initialForceToObjectsOnZeroGravity = serializedObject.FindProperty ("initialForceToObjectsOnZeroGravity");
|
||||
initialForceRadiusToObjectsOnZeroGravity = serializedObject.FindProperty ("initialForceRadiusToObjectsOnZeroGravity");
|
||||
initialForcePositionToObjectsOnZeroGravity = serializedObject.FindProperty ("initialForcePositionToObjectsOnZeroGravity");
|
||||
playerTag = serializedObject.FindProperty ("playerTag");
|
||||
|
||||
nonAffectedObjectsTagList = serializedObject.FindProperty ("nonAffectedObjectsTagList");
|
||||
charactersTagList = serializedObject.FindProperty ("charactersTagList");
|
||||
highestPointPoisition = serializedObject.FindProperty ("highestPointPoisition");
|
||||
lowestPointPosition = serializedObject.FindProperty ("lowestPointPosition");
|
||||
roomPointsParent = serializedObject.FindProperty ("roomPointsParent");
|
||||
roomPointsList = serializedObject.FindProperty ("roomPointsList");
|
||||
charactersInsideListAtStart = serializedObject.FindProperty ("charactersInsideListAtStart");
|
||||
charactersInsideList = serializedObject.FindProperty ("charactersInsideList");
|
||||
addObjectsInsideParent = serializedObject.FindProperty ("addObjectsInsideParent");
|
||||
objectsInsideParent = serializedObject.FindProperty ("objectsInsideParent");
|
||||
objectsInsideList = serializedObject.FindProperty ("objectsInsideList");
|
||||
useSounds = serializedObject.FindProperty ("useSounds");
|
||||
mainAudioSource = serializedObject.FindProperty ("mainAudioSource");
|
||||
regularGravitySound = serializedObject.FindProperty ("regularGravitySound");
|
||||
regularGravityAudioElement = serializedObject.FindProperty ("regularGravityAudioElement");
|
||||
zeroGravitySound = serializedObject.FindProperty ("zeroGravitySound");
|
||||
zeroGravityAudioElement = serializedObject.FindProperty ("zeroGravityAudioElement");
|
||||
customGravitySound = serializedObject.FindProperty ("customGravitySound");
|
||||
customGravityAudioElement = serializedObject.FindProperty ("customGravityAudioElement");
|
||||
useSoundsOnCharacters = serializedObject.FindProperty ("useSoundsOnCharacters");
|
||||
soundOnEntering = serializedObject.FindProperty ("soundOnEntering");
|
||||
onEnteringAudioElement = serializedObject.FindProperty ("onEnteringAudioElement");
|
||||
soundOnExiting = serializedObject.FindProperty ("soundOnExiting");
|
||||
onExitingAudioElement = serializedObject.FindProperty ("onExitingAudioElement");
|
||||
|
||||
showDebugPrint = serializedObject.FindProperty ("showDebugPrint");
|
||||
|
||||
debugModeActive = serializedObject.FindProperty ("debugModeActive");
|
||||
debugModeListActive = serializedObject.FindProperty ("debugModeListActive");
|
||||
objectInfoList = serializedObject.FindProperty ("objectInfoList");
|
||||
|
||||
showGizmo = serializedObject.FindProperty ("showGizmo");
|
||||
centerGizmoScale = serializedObject.FindProperty ("centerGizmoScale");
|
||||
roomCenterColor = serializedObject.FindProperty ("roomCenterColor");
|
||||
gizmoLabelColor = serializedObject.FindProperty ("gizmoLabelColor");
|
||||
linesColor = serializedObject.FindProperty ("linesColor");
|
||||
useHandleForWaypoints = serializedObject.FindProperty ("useHandleForWaypoints");
|
||||
|
||||
manager = (zeroGravityRoomSystem)target;
|
||||
}
|
||||
|
||||
void OnSceneGUI ()
|
||||
{
|
||||
if (!Application.isPlaying) {
|
||||
if (manager.showGizmo) {
|
||||
style.normal.textColor = manager.gizmoLabelColor;
|
||||
style.alignment = TextAnchor.MiddleCenter;
|
||||
|
||||
if (manager.roomPointsList.Count > 0) {
|
||||
|
||||
for (int i = 0; i < manager.roomPointsList.Count; i++) {
|
||||
if (manager.roomPointsList [i]) {
|
||||
waypoint = manager.roomPointsList [i];
|
||||
|
||||
Handles.Label (waypoint.position, waypoint.name, style);
|
||||
|
||||
if (manager.useHandleForWaypoints) {
|
||||
currentWaypointRotation = Tools.pivotRotation == PivotRotation.Local ? waypoint.rotation : Quaternion.identity;
|
||||
|
||||
EditorGUI.BeginChangeCheck ();
|
||||
|
||||
oldPoint = waypoint.position;
|
||||
oldPoint = Handles.DoPositionHandle (oldPoint, currentWaypointRotation);
|
||||
if (EditorGUI.EndChangeCheck ()) {
|
||||
Undo.RecordObject (waypoint, "move waypoint" + i);
|
||||
waypoint.position = oldPoint;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
currentName = manager.gameObject.name;
|
||||
Handles.Label (manager.roomCenter, currentName, style);
|
||||
|
||||
Handles.Label (manager.highestPointPoisition.position, "Highest \n position", style);
|
||||
Handles.Label (manager.lowestPointPosition.position, "Lowest \n position", style);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI ()
|
||||
{
|
||||
GUILayout.BeginVertical (GUILayout.Height (30));
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
buttonStyle = new GUIStyle (GUI.skin.button);
|
||||
|
||||
buttonStyle.fontStyle = FontStyle.Bold;
|
||||
buttonStyle.fontSize = 12;
|
||||
|
||||
GUILayout.BeginVertical ("Main Settings", "window");
|
||||
EditorGUILayout.PropertyField (roomHasRegularGravity);
|
||||
EditorGUILayout.PropertyField (roomHasZeroGravity);
|
||||
EditorGUILayout.PropertyField (gravityDirectionTransform);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (explanation);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("New Gravity Outside Of Room Settings", "window");
|
||||
EditorGUILayout.PropertyField (useNewGravityOutside);
|
||||
if (useNewGravityOutside.boolValue) {
|
||||
EditorGUILayout.PropertyField (outsideHasZeroGravity);
|
||||
EditorGUILayout.PropertyField (outsideGravityDirectionTransform);
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Objects Affected Settings", "window");
|
||||
EditorGUILayout.PropertyField (objectsAffectedByGravity);
|
||||
if (objectsAffectedByGravity.boolValue) {
|
||||
EditorGUILayout.PropertyField (changeGravityForceForObjects);
|
||||
if (changeGravityForceForObjects.boolValue) {
|
||||
EditorGUILayout.PropertyField (newGravityForceForObjects);
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Characters Affected Settings", "window");
|
||||
EditorGUILayout.PropertyField (charactersAffectedByGravity);
|
||||
if (charactersAffectedByGravity.boolValue) {
|
||||
EditorGUILayout.PropertyField (changeGravityForceForCharacters);
|
||||
if (changeGravityForceForCharacters.boolValue) {
|
||||
EditorGUILayout.PropertyField (newGravityForceForCharacters);
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Zero Gravity Settings", "window");
|
||||
EditorGUILayout.PropertyField (addForceToObjectsOnZeroGravityState);
|
||||
EditorGUILayout.PropertyField (forceAmountToObjectOnZeroGravity);
|
||||
EditorGUILayout.PropertyField (forceDirectionToObjectsOnZeroGravity);
|
||||
EditorGUILayout.PropertyField (forceModeToObjectsOnZeroGravity);
|
||||
|
||||
EditorGUILayout.PropertyField (addInitialForceToObjectsOnZeroGravityState);
|
||||
EditorGUILayout.PropertyField (initialForceToObjectsOnZeroGravity);
|
||||
EditorGUILayout.PropertyField (initialForceRadiusToObjectsOnZeroGravity);
|
||||
EditorGUILayout.PropertyField (initialForcePositionToObjectsOnZeroGravity);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Tags To Affect", "window");
|
||||
EditorGUILayout.PropertyField (playerTag);
|
||||
showGameObjectList (nonAffectedObjectsTagList, "No Affected Objects Tag List", "Tag");
|
||||
showGameObjectList (charactersTagList, "Characters Tag List", "Tag");
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Room Points List", "window");
|
||||
EditorGUILayout.PropertyField (highestPointPoisition);
|
||||
EditorGUILayout.PropertyField (lowestPointPosition);
|
||||
EditorGUILayout.PropertyField (roomPointsParent);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
showRoomPointList (roomPointsList, "Room Points List");
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Characters Inside Room List", "window");
|
||||
|
||||
showGameObjectList (charactersInsideListAtStart, "Characters Inside Room List At Start", "Characters");
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
showGameObjectList (charactersInsideList, "Characters Inside Room List", "Characters");
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Objects Inside Room List", "window");
|
||||
EditorGUILayout.PropertyField (addObjectsInsideParent);
|
||||
if (addObjectsInsideParent.boolValue) {
|
||||
EditorGUILayout.PropertyField (objectsInsideParent);
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
showGameObjectList (objectsInsideList, "Objects Inside Room List", "Objects");
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Sound Settings", "window");
|
||||
EditorGUILayout.PropertyField (useSounds);
|
||||
if (useSounds.boolValue) {
|
||||
EditorGUILayout.PropertyField (mainAudioSource);
|
||||
EditorGUILayout.PropertyField (regularGravitySound);
|
||||
EditorGUILayout.PropertyField (regularGravityAudioElement);
|
||||
EditorGUILayout.PropertyField (zeroGravitySound);
|
||||
EditorGUILayout.PropertyField (zeroGravityAudioElement);
|
||||
EditorGUILayout.PropertyField (customGravitySound);
|
||||
EditorGUILayout.PropertyField (customGravityAudioElement);
|
||||
EditorGUILayout.PropertyField (useSoundsOnCharacters);
|
||||
if (useSoundsOnCharacters.boolValue) {
|
||||
EditorGUILayout.PropertyField (soundOnEntering);
|
||||
EditorGUILayout.PropertyField (onEnteringAudioElement);
|
||||
EditorGUILayout.PropertyField (soundOnExiting);
|
||||
EditorGUILayout.PropertyField (onExitingAudioElement);
|
||||
}
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Debug Settings", "window");
|
||||
EditorGUILayout.PropertyField (debugModeActive);
|
||||
if (debugModeActive.boolValue) {
|
||||
EditorGUILayout.PropertyField (debugModeListActive);
|
||||
|
||||
showObjectsInfoList (objectInfoList);
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField (showDebugPrint);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Gizmo Settings", "window");
|
||||
EditorGUILayout.PropertyField (showGizmo);
|
||||
if (showGizmo.boolValue) {
|
||||
EditorGUILayout.PropertyField (centerGizmoScale);
|
||||
EditorGUILayout.PropertyField (roomCenterColor);
|
||||
EditorGUILayout.PropertyField (gizmoLabelColor);
|
||||
EditorGUILayout.PropertyField (linesColor);
|
||||
EditorGUILayout.PropertyField (useHandleForWaypoints);
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
if (GUI.changed) {
|
||||
serializedObject.ApplyModifiedProperties ();
|
||||
EditorUtility.SetDirty (target);
|
||||
}
|
||||
}
|
||||
|
||||
void showGameObjectList (SerializedProperty list, string listName, string objectsTypeName)
|
||||
{
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (GUILayout.Button ("Show/Hide " + listName, buttonStyle)) {
|
||||
list.isExpanded = !list.isExpanded;
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (list.isExpanded) {
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.Label ("Number Of " + objectsTypeName + ": \t" + list.arraySize);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginHorizontal ();
|
||||
if (GUILayout.Button ("Add Element")) {
|
||||
list.arraySize++;
|
||||
}
|
||||
if (GUILayout.Button ("Clear")) {
|
||||
list.ClearArray ();
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
|
||||
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);
|
||||
}
|
||||
if (GUILayout.Button ("x")) {
|
||||
list.DeleteArrayElementAtIndex (i);
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void showRoomPointList (SerializedProperty list, string listName)
|
||||
{
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (GUILayout.Button ("Show/Hide " + listName, buttonStyle)) {
|
||||
list.isExpanded = !list.isExpanded;
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (list.isExpanded) {
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.Label ("Number Of Points: \t" + list.arraySize);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginHorizontal ();
|
||||
if (GUILayout.Button ("Add Point")) {
|
||||
manager.addRoomPoint ();
|
||||
}
|
||||
if (GUILayout.Button ("Clear")) {
|
||||
manager.removeAllRoomPoints ();
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (GUILayout.Button ("Rename Room Points")) {
|
||||
manager.renameRoomPoints ();
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
if (GUILayout.Button ("x")) {
|
||||
manager.removeRoomPoint (i);
|
||||
}
|
||||
if (GUILayout.Button ("+")) {
|
||||
manager.addRoomPoint (i);
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void showObjectsInfoList (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 ("Number Of Objects: \t" + list.arraySize);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginHorizontal ();
|
||||
if (GUILayout.Button ("Expand All")) {
|
||||
for (int i = 0; i < list.arraySize; i++) {
|
||||
list.GetArrayElementAtIndex (i).isExpanded = true;
|
||||
}
|
||||
}
|
||||
if (GUILayout.Button ("Collapse All")) {
|
||||
for (int i = 0; i < list.arraySize; i++) {
|
||||
list.GetArrayElementAtIndex (i).isExpanded = false;
|
||||
}
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
for (int i = 0; i < list.arraySize; i++) {
|
||||
GUILayout.BeginHorizontal ();
|
||||
GUILayout.BeginHorizontal ("box");
|
||||
EditorGUILayout.Space ();
|
||||
if (i < list.arraySize && i >= 0) {
|
||||
EditorGUILayout.BeginVertical ();
|
||||
|
||||
EditorGUILayout.PropertyField (list.GetArrayElementAtIndex (i), false);
|
||||
if (list.GetArrayElementAtIndex (i).isExpanded) {
|
||||
showObjectsInfoListElement (list.GetArrayElementAtIndex (i));
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
|
||||
GUILayout.EndHorizontal ();
|
||||
}
|
||||
EditorGUILayout.Space ();
|
||||
GUILayout.EndVertical ();
|
||||
}
|
||||
}
|
||||
|
||||
void showObjectsInfoListElement (SerializedProperty list)
|
||||
{
|
||||
GUILayout.BeginVertical ("box");
|
||||
EditorGUILayout.PropertyField (list.FindPropertyRelative ("objectTransform"));
|
||||
EditorGUILayout.PropertyField (list.FindPropertyRelative ("isInside"));
|
||||
GUILayout.EndVertical ();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user