790 lines
34 KiB
C#
790 lines
34 KiB
C#
|
|
using UnityEngine;
|
|||
|
|
using System.Collections;
|
|||
|
|
|
|||
|
|
#if UNITY_EDITOR
|
|||
|
|
using UnityEditor;
|
|||
|
|
|
|||
|
|
[CustomEditor (typeof (gravitySystem))]
|
|||
|
|
public class gravitySystemEditor : Editor
|
|||
|
|
{
|
|||
|
|
SerializedProperty gravityPowerEnabled;
|
|||
|
|
SerializedProperty gravityPowerInputEnabled;
|
|||
|
|
SerializedProperty liftToSearchEnabled;
|
|||
|
|
SerializedProperty randomRotationOnAirEnabled;
|
|||
|
|
SerializedProperty layer;
|
|||
|
|
SerializedProperty searchSurfaceSpeed;
|
|||
|
|
SerializedProperty airControlSpeed;
|
|||
|
|
SerializedProperty accelerateSpeed;
|
|||
|
|
SerializedProperty highGravityMultiplier;
|
|||
|
|
SerializedProperty hoverSpeed;
|
|||
|
|
SerializedProperty hoverAmount;
|
|||
|
|
SerializedProperty hoverSmooth;
|
|||
|
|
SerializedProperty rotateToSurfaceSpeed;
|
|||
|
|
SerializedProperty rotateToRegularGravitySpeed;
|
|||
|
|
SerializedProperty preserveVelocityWhenDisableGravityPower;
|
|||
|
|
|
|||
|
|
SerializedProperty searchNewSurfaceOnHighFallSpeed;
|
|||
|
|
SerializedProperty minSpeedToSearchNewSurface;
|
|||
|
|
|
|||
|
|
SerializedProperty pauseSearchNewSurfaceOnHighFallSpeedOnReverseGravityInput;
|
|||
|
|
|
|||
|
|
SerializedProperty shakeCameraOnHighFallSpeed;
|
|||
|
|
SerializedProperty minSpeedToShakeCamera;
|
|||
|
|
SerializedProperty checkSurfaceBelowOnRegularState;
|
|||
|
|
SerializedProperty timeToSetNullParentOnAir;
|
|||
|
|
SerializedProperty stopAimModeWhenSearchingSurface;
|
|||
|
|
SerializedProperty checkGravityArrowStateActive;
|
|||
|
|
SerializedProperty currentNormal;
|
|||
|
|
SerializedProperty circumnavigateRotationSpeed;
|
|||
|
|
SerializedProperty useLerpRotation;
|
|||
|
|
SerializedProperty tagForCircumnavigate;
|
|||
|
|
SerializedProperty tagForMovingObjects;
|
|||
|
|
SerializedProperty checkCircumnavigateSurfaceOnZeroGravity;
|
|||
|
|
SerializedProperty checkSurfaceBelowLedge;
|
|||
|
|
SerializedProperty surfaceBelowLedgeRaycastDistance;
|
|||
|
|
SerializedProperty belowLedgeRotationSpeed;
|
|||
|
|
SerializedProperty surfaceBelowRaycastTransform;
|
|||
|
|
SerializedProperty checkSurfaceInFront;
|
|||
|
|
SerializedProperty surfaceInFrontRaycastDistance;
|
|||
|
|
SerializedProperty surfaceInFrontRotationSpeed;
|
|||
|
|
SerializedProperty surfaceInFrontRaycastTransform;
|
|||
|
|
SerializedProperty gravityAdherenceRaycastParent;
|
|||
|
|
SerializedProperty useEventsOnUseGravityPowerStateChange;
|
|||
|
|
SerializedProperty eventsOnUseGravityPowerStateEnabled;
|
|||
|
|
SerializedProperty eventsOnUseGravityPowerStateDisabled;
|
|||
|
|
SerializedProperty startWithZeroGravityMode;
|
|||
|
|
SerializedProperty canResetRotationOnZeroGravityMode;
|
|||
|
|
SerializedProperty canAdjustToForwardSurface;
|
|||
|
|
SerializedProperty forwardSurfaceRayPosition;
|
|||
|
|
SerializedProperty maxDistanceToAdjust;
|
|||
|
|
SerializedProperty resetRotationZeroGravitySpeed;
|
|||
|
|
SerializedProperty adjustToForwardSurfaceSpeed;
|
|||
|
|
SerializedProperty useEventsOnZeroGravityModeStateChange;
|
|||
|
|
SerializedProperty evenOnZeroGravityModeStateEnabled;
|
|||
|
|
SerializedProperty eventOnZeroGravityModeStateDisabled;
|
|||
|
|
|
|||
|
|
SerializedProperty setOnGroundStateOnTeleportToSurfaceOnZeroGravity;
|
|||
|
|
|
|||
|
|
SerializedProperty canActivateFreeFloatingMode;
|
|||
|
|
SerializedProperty useEventsOnFreeFloatingModeStateChange;
|
|||
|
|
SerializedProperty evenOnFreeFloatingModeStateEnabled;
|
|||
|
|
SerializedProperty eventOnFreeFloatingModeStateDisabled;
|
|||
|
|
SerializedProperty startWithNewGravity;
|
|||
|
|
SerializedProperty usePlayerRotation;
|
|||
|
|
SerializedProperty adjustRotationToSurfaceFound;
|
|||
|
|
SerializedProperty newGravityToStart;
|
|||
|
|
SerializedProperty gravityCenter;
|
|||
|
|
SerializedProperty cursor;
|
|||
|
|
SerializedProperty arrow;
|
|||
|
|
SerializedProperty playerRenderer;
|
|||
|
|
SerializedProperty changeModelColor;
|
|||
|
|
SerializedProperty materialToChange;
|
|||
|
|
SerializedProperty powerColor;
|
|||
|
|
SerializedProperty debugGravityDirection;
|
|||
|
|
SerializedProperty playerCameraGameObject;
|
|||
|
|
SerializedProperty pivotCameraTransform;
|
|||
|
|
SerializedProperty gravityCenterCollider;
|
|||
|
|
SerializedProperty playerControllerManager;
|
|||
|
|
SerializedProperty powers;
|
|||
|
|
SerializedProperty playerCollider;
|
|||
|
|
SerializedProperty playerInput;
|
|||
|
|
SerializedProperty weaponsManager;
|
|||
|
|
SerializedProperty mainRigidbody;
|
|||
|
|
SerializedProperty playerCameraManager;
|
|||
|
|
SerializedProperty mainCameraTransform;
|
|||
|
|
|
|||
|
|
SerializedProperty usedByAI;
|
|||
|
|
SerializedProperty gravityPowerActive;
|
|||
|
|
SerializedProperty powerActivated;
|
|||
|
|
SerializedProperty choosingDirection;
|
|||
|
|
SerializedProperty recalculatingSurface;
|
|||
|
|
SerializedProperty searchingSurface;
|
|||
|
|
SerializedProperty searchingNewSurfaceBelow;
|
|||
|
|
SerializedProperty searchAround;
|
|||
|
|
SerializedProperty firstPersonView;
|
|||
|
|
SerializedProperty zeroGravityModeOn;
|
|||
|
|
SerializedProperty circumnavigateCurrentSurfaceActive;
|
|||
|
|
SerializedProperty freeFloatingModeOn;
|
|||
|
|
SerializedProperty hovering;
|
|||
|
|
SerializedProperty turning;
|
|||
|
|
|
|||
|
|
|
|||
|
|
SerializedProperty raycastDistanceToCheckBelowPlayer;
|
|||
|
|
|
|||
|
|
SerializedProperty useInfiniteRaycastDistanceToCheckBelowPlayer;
|
|||
|
|
|
|||
|
|
SerializedProperty useCustomDirectionOnResetZeroGravityRotation;
|
|||
|
|
SerializedProperty customDirectionOnResetZeroGravityRotation;
|
|||
|
|
|
|||
|
|
SerializedProperty updateCurrentNormalByExternalTransformActive;
|
|||
|
|
|
|||
|
|
SerializedProperty showCircumnavigationhSettings;
|
|||
|
|
SerializedProperty showZeroGravitySettings;
|
|||
|
|
SerializedProperty showFreeFloatingModeSettings;
|
|||
|
|
SerializedProperty showEventsSettings;
|
|||
|
|
SerializedProperty showOtherSettings;
|
|||
|
|
SerializedProperty showDebugSettings;
|
|||
|
|
SerializedProperty showAllSettings;
|
|||
|
|
SerializedProperty showComponents;
|
|||
|
|
|
|||
|
|
SerializedProperty showGizmo;
|
|||
|
|
|
|||
|
|
Color buttonColor;
|
|||
|
|
gravitySystem manager;
|
|||
|
|
|
|||
|
|
string buttonMessage;
|
|||
|
|
|
|||
|
|
GUIStyle style = new GUIStyle ();
|
|||
|
|
|
|||
|
|
GUIStyle buttonStyle = new GUIStyle ();
|
|||
|
|
|
|||
|
|
void OnEnable ()
|
|||
|
|
{
|
|||
|
|
gravityPowerEnabled = serializedObject.FindProperty ("gravityPowerEnabled");
|
|||
|
|
gravityPowerInputEnabled = serializedObject.FindProperty ("gravityPowerInputEnabled");
|
|||
|
|
liftToSearchEnabled = serializedObject.FindProperty ("liftToSearchEnabled");
|
|||
|
|
randomRotationOnAirEnabled = serializedObject.FindProperty ("randomRotationOnAirEnabled");
|
|||
|
|
layer = serializedObject.FindProperty ("layer");
|
|||
|
|
searchSurfaceSpeed = serializedObject.FindProperty ("searchSurfaceSpeed");
|
|||
|
|
airControlSpeed = serializedObject.FindProperty ("airControlSpeed");
|
|||
|
|
accelerateSpeed = serializedObject.FindProperty ("accelerateSpeed");
|
|||
|
|
highGravityMultiplier = serializedObject.FindProperty ("highGravityMultiplier");
|
|||
|
|
hoverSpeed = serializedObject.FindProperty ("hoverSpeed");
|
|||
|
|
hoverAmount = serializedObject.FindProperty ("hoverAmount");
|
|||
|
|
hoverSmooth = serializedObject.FindProperty ("hoverSmooth");
|
|||
|
|
rotateToSurfaceSpeed = serializedObject.FindProperty ("rotateToSurfaceSpeed");
|
|||
|
|
rotateToRegularGravitySpeed = serializedObject.FindProperty ("rotateToRegularGravitySpeed");
|
|||
|
|
preserveVelocityWhenDisableGravityPower = serializedObject.FindProperty ("preserveVelocityWhenDisableGravityPower");
|
|||
|
|
|
|||
|
|
searchNewSurfaceOnHighFallSpeed = serializedObject.FindProperty ("searchNewSurfaceOnHighFallSpeed");
|
|||
|
|
minSpeedToSearchNewSurface = serializedObject.FindProperty ("minSpeedToSearchNewSurface");
|
|||
|
|
|
|||
|
|
pauseSearchNewSurfaceOnHighFallSpeedOnReverseGravityInput = serializedObject.FindProperty ("pauseSearchNewSurfaceOnHighFallSpeedOnReverseGravityInput");
|
|||
|
|
|
|||
|
|
shakeCameraOnHighFallSpeed = serializedObject.FindProperty ("shakeCameraOnHighFallSpeed");
|
|||
|
|
minSpeedToShakeCamera = serializedObject.FindProperty ("minSpeedToShakeCamera");
|
|||
|
|
checkSurfaceBelowOnRegularState = serializedObject.FindProperty ("checkSurfaceBelowOnRegularState");
|
|||
|
|
timeToSetNullParentOnAir = serializedObject.FindProperty ("timeToSetNullParentOnAir");
|
|||
|
|
stopAimModeWhenSearchingSurface = serializedObject.FindProperty ("stopAimModeWhenSearchingSurface");
|
|||
|
|
checkGravityArrowStateActive = serializedObject.FindProperty ("checkGravityArrowStateActive");
|
|||
|
|
currentNormal = serializedObject.FindProperty ("currentNormal");
|
|||
|
|
circumnavigateRotationSpeed = serializedObject.FindProperty ("circumnavigateRotationSpeed");
|
|||
|
|
useLerpRotation = serializedObject.FindProperty ("useLerpRotation");
|
|||
|
|
tagForCircumnavigate = serializedObject.FindProperty ("tagForCircumnavigate");
|
|||
|
|
tagForMovingObjects = serializedObject.FindProperty ("tagForMovingObjects");
|
|||
|
|
checkCircumnavigateSurfaceOnZeroGravity = serializedObject.FindProperty ("checkCircumnavigateSurfaceOnZeroGravity");
|
|||
|
|
checkSurfaceBelowLedge = serializedObject.FindProperty ("checkSurfaceBelowLedge");
|
|||
|
|
surfaceBelowLedgeRaycastDistance = serializedObject.FindProperty ("surfaceBelowLedgeRaycastDistance");
|
|||
|
|
belowLedgeRotationSpeed = serializedObject.FindProperty ("belowLedgeRotationSpeed");
|
|||
|
|
surfaceBelowRaycastTransform = serializedObject.FindProperty ("surfaceBelowRaycastTransform");
|
|||
|
|
checkSurfaceInFront = serializedObject.FindProperty ("checkSurfaceInFront");
|
|||
|
|
surfaceInFrontRaycastDistance = serializedObject.FindProperty ("surfaceInFrontRaycastDistance");
|
|||
|
|
surfaceInFrontRotationSpeed = serializedObject.FindProperty ("surfaceInFrontRotationSpeed");
|
|||
|
|
surfaceInFrontRaycastTransform = serializedObject.FindProperty ("surfaceInFrontRaycastTransform");
|
|||
|
|
gravityAdherenceRaycastParent = serializedObject.FindProperty ("gravityAdherenceRaycastParent");
|
|||
|
|
useEventsOnUseGravityPowerStateChange = serializedObject.FindProperty ("useEventsOnUseGravityPowerStateChange");
|
|||
|
|
eventsOnUseGravityPowerStateEnabled = serializedObject.FindProperty ("eventsOnUseGravityPowerStateEnabled");
|
|||
|
|
eventsOnUseGravityPowerStateDisabled = serializedObject.FindProperty ("eventsOnUseGravityPowerStateDisabled");
|
|||
|
|
startWithZeroGravityMode = serializedObject.FindProperty ("startWithZeroGravityMode");
|
|||
|
|
canResetRotationOnZeroGravityMode = serializedObject.FindProperty ("canResetRotationOnZeroGravityMode");
|
|||
|
|
canAdjustToForwardSurface = serializedObject.FindProperty ("canAdjustToForwardSurface");
|
|||
|
|
forwardSurfaceRayPosition = serializedObject.FindProperty ("forwardSurfaceRayPosition");
|
|||
|
|
maxDistanceToAdjust = serializedObject.FindProperty ("maxDistanceToAdjust");
|
|||
|
|
resetRotationZeroGravitySpeed = serializedObject.FindProperty ("resetRotationZeroGravitySpeed");
|
|||
|
|
adjustToForwardSurfaceSpeed = serializedObject.FindProperty ("adjustToForwardSurfaceSpeed");
|
|||
|
|
useEventsOnZeroGravityModeStateChange = serializedObject.FindProperty ("useEventsOnZeroGravityModeStateChange");
|
|||
|
|
evenOnZeroGravityModeStateEnabled = serializedObject.FindProperty ("evenOnZeroGravityModeStateEnabled");
|
|||
|
|
eventOnZeroGravityModeStateDisabled = serializedObject.FindProperty ("eventOnZeroGravityModeStateDisabled");
|
|||
|
|
|
|||
|
|
setOnGroundStateOnTeleportToSurfaceOnZeroGravity = serializedObject.FindProperty ("setOnGroundStateOnTeleportToSurfaceOnZeroGravity");
|
|||
|
|
|
|||
|
|
canActivateFreeFloatingMode = serializedObject.FindProperty ("canActivateFreeFloatingMode");
|
|||
|
|
useEventsOnFreeFloatingModeStateChange = serializedObject.FindProperty ("useEventsOnFreeFloatingModeStateChange");
|
|||
|
|
evenOnFreeFloatingModeStateEnabled = serializedObject.FindProperty ("evenOnFreeFloatingModeStateEnabled");
|
|||
|
|
eventOnFreeFloatingModeStateDisabled = serializedObject.FindProperty ("eventOnFreeFloatingModeStateDisabled");
|
|||
|
|
startWithNewGravity = serializedObject.FindProperty ("startWithNewGravity");
|
|||
|
|
usePlayerRotation = serializedObject.FindProperty ("usePlayerRotation");
|
|||
|
|
adjustRotationToSurfaceFound = serializedObject.FindProperty ("adjustRotationToSurfaceFound");
|
|||
|
|
newGravityToStart = serializedObject.FindProperty ("newGravityToStart");
|
|||
|
|
gravityCenter = serializedObject.FindProperty ("gravityCenter");
|
|||
|
|
cursor = serializedObject.FindProperty ("cursor");
|
|||
|
|
arrow = serializedObject.FindProperty ("arrow");
|
|||
|
|
playerRenderer = serializedObject.FindProperty ("playerRenderer");
|
|||
|
|
changeModelColor = serializedObject.FindProperty ("changeModelColor");
|
|||
|
|
materialToChange = serializedObject.FindProperty ("materialToChange");
|
|||
|
|
powerColor = serializedObject.FindProperty ("powerColor");
|
|||
|
|
debugGravityDirection = serializedObject.FindProperty ("debugGravityDirection");
|
|||
|
|
playerCameraGameObject = serializedObject.FindProperty ("playerCameraGameObject");
|
|||
|
|
pivotCameraTransform = serializedObject.FindProperty ("pivotCameraTransform");
|
|||
|
|
gravityCenterCollider = serializedObject.FindProperty ("gravityCenterCollider");
|
|||
|
|
playerControllerManager = serializedObject.FindProperty ("playerControllerManager");
|
|||
|
|
powers = serializedObject.FindProperty ("powers");
|
|||
|
|
playerCollider = serializedObject.FindProperty ("playerCollider");
|
|||
|
|
playerInput = serializedObject.FindProperty ("playerInput");
|
|||
|
|
|
|||
|
|
weaponsManager = serializedObject.FindProperty ("weaponsManager");
|
|||
|
|
mainRigidbody = serializedObject.FindProperty ("mainRigidbody");
|
|||
|
|
playerCameraManager = serializedObject.FindProperty ("playerCameraManager");
|
|||
|
|
mainCameraTransform = serializedObject.FindProperty ("mainCameraTransform");
|
|||
|
|
|
|||
|
|
usedByAI = serializedObject.FindProperty ("usedByAI");
|
|||
|
|
gravityPowerActive = serializedObject.FindProperty ("gravityPowerActive");
|
|||
|
|
powerActivated = serializedObject.FindProperty ("powerActivated");
|
|||
|
|
choosingDirection = serializedObject.FindProperty ("choosingDirection");
|
|||
|
|
recalculatingSurface = serializedObject.FindProperty ("recalculatingSurface");
|
|||
|
|
searchingSurface = serializedObject.FindProperty ("searchingSurface");
|
|||
|
|
searchingNewSurfaceBelow = serializedObject.FindProperty ("searchingNewSurfaceBelow");
|
|||
|
|
searchAround = serializedObject.FindProperty ("searchAround");
|
|||
|
|
firstPersonView = serializedObject.FindProperty ("firstPersonView");
|
|||
|
|
zeroGravityModeOn = serializedObject.FindProperty ("zeroGravityModeOn");
|
|||
|
|
circumnavigateCurrentSurfaceActive = serializedObject.FindProperty ("circumnavigateCurrentSurfaceActive");
|
|||
|
|
freeFloatingModeOn = serializedObject.FindProperty ("freeFloatingModeOn");
|
|||
|
|
hovering = serializedObject.FindProperty ("hovering");
|
|||
|
|
turning = serializedObject.FindProperty ("turning");
|
|||
|
|
|
|||
|
|
raycastDistanceToCheckBelowPlayer = serializedObject.FindProperty ("raycastDistanceToCheckBelowPlayer");
|
|||
|
|
|
|||
|
|
useInfiniteRaycastDistanceToCheckBelowPlayer = serializedObject.FindProperty ("useInfiniteRaycastDistanceToCheckBelowPlayer");
|
|||
|
|
|
|||
|
|
useCustomDirectionOnResetZeroGravityRotation = serializedObject.FindProperty ("useCustomDirectionOnResetZeroGravityRotation");
|
|||
|
|
customDirectionOnResetZeroGravityRotation = serializedObject.FindProperty ("customDirectionOnResetZeroGravityRotation");
|
|||
|
|
|
|||
|
|
updateCurrentNormalByExternalTransformActive = serializedObject.FindProperty ("updateCurrentNormalByExternalTransformActive");
|
|||
|
|
|
|||
|
|
showCircumnavigationhSettings = serializedObject.FindProperty ("showCircumnavigationhSettings");
|
|||
|
|
showZeroGravitySettings = serializedObject.FindProperty ("showZeroGravitySettings");
|
|||
|
|
showFreeFloatingModeSettings = serializedObject.FindProperty ("showFreeFloatingModeSettings");
|
|||
|
|
showEventsSettings = serializedObject.FindProperty ("showEventsSettings");
|
|||
|
|
showOtherSettings = serializedObject.FindProperty ("showOtherSettings");
|
|||
|
|
showDebugSettings = serializedObject.FindProperty ("showDebugSettings");
|
|||
|
|
showAllSettings = serializedObject.FindProperty ("showAllSettings");
|
|||
|
|
showComponents = serializedObject.FindProperty ("showComponents");
|
|||
|
|
|
|||
|
|
showGizmo = serializedObject.FindProperty ("showGizmo");
|
|||
|
|
|
|||
|
|
manager = (gravitySystem)target;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public override void OnInspectorGUI ()
|
|||
|
|
{
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
buttonStyle = new GUIStyle (GUI.skin.button);
|
|||
|
|
|
|||
|
|
buttonStyle.fontStyle = FontStyle.Bold;
|
|||
|
|
buttonStyle.fontSize = 12;
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Main Gravity Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (gravityPowerEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (gravityPowerInputEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (liftToSearchEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (randomRotationOnAirEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (layer);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (searchSurfaceSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (airControlSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (accelerateSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (highGravityMultiplier);
|
|||
|
|
EditorGUILayout.PropertyField (rotateToSurfaceSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (rotateToRegularGravitySpeed);
|
|||
|
|
EditorGUILayout.PropertyField (preserveVelocityWhenDisableGravityPower);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (raycastDistanceToCheckBelowPlayer);
|
|||
|
|
EditorGUILayout.PropertyField (useInfiniteRaycastDistanceToCheckBelowPlayer);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Other Gravity Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (searchNewSurfaceOnHighFallSpeed);
|
|||
|
|
if (searchNewSurfaceOnHighFallSpeed.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (minSpeedToSearchNewSurface);
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (pauseSearchNewSurfaceOnHighFallSpeedOnReverseGravityInput);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (shakeCameraOnHighFallSpeed);
|
|||
|
|
if (shakeCameraOnHighFallSpeed.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (minSpeedToShakeCamera);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (checkSurfaceBelowOnRegularState);
|
|||
|
|
if (checkSurfaceBelowOnRegularState.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (timeToSetNullParentOnAir);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (stopAimModeWhenSearchingSurface);
|
|||
|
|
EditorGUILayout.PropertyField (checkGravityArrowStateActive);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Hover Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (hoverSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (hoverAmount);
|
|||
|
|
EditorGUILayout.PropertyField (hoverSmooth);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Current Normal Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (currentNormal);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
|
|||
|
|
buttonColor = GUI.backgroundColor;
|
|||
|
|
EditorGUILayout.BeginVertical ();
|
|||
|
|
EditorGUILayout.BeginHorizontal ();
|
|||
|
|
|
|||
|
|
if (showCircumnavigationhSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Circumnavigation")) {
|
|||
|
|
showCircumnavigationhSettings.boolValue = !showCircumnavigationhSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showZeroGravitySettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Zero Gravity")) {
|
|||
|
|
showZeroGravitySettings.boolValue = !showZeroGravitySettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showFreeFloatingModeSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Free Floating")) {
|
|||
|
|
showFreeFloatingModeSettings.boolValue = !showFreeFloatingModeSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showEventsSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Events")) {
|
|||
|
|
showEventsSettings.boolValue = !showEventsSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.EndHorizontal ();
|
|||
|
|
EditorGUILayout.BeginHorizontal ();
|
|||
|
|
|
|||
|
|
if (showOtherSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Others")) {
|
|||
|
|
showOtherSettings.boolValue = !showOtherSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showDebugSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Debug")) {
|
|||
|
|
showDebugSettings.boolValue = !showDebugSettings.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.EndHorizontal ();
|
|||
|
|
EditorGUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide All Settings";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show All Settings";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showAllSettings.boolValue = !showAllSettings.boolValue;
|
|||
|
|
|
|||
|
|
showCircumnavigationhSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showZeroGravitySettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showFreeFloatingModeSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showEventsSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
showOtherSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
|
|||
|
|
|
|||
|
|
showDebugSettings.boolValue = showAllSettings.boolValue;
|
|||
|
|
|
|||
|
|
showComponents.boolValue = false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showComponents.boolValue) {
|
|||
|
|
GUI.backgroundColor = Color.gray;
|
|||
|
|
buttonMessage = "Hide Player Components";
|
|||
|
|
} else {
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
buttonMessage = "Show Player Components";
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button (buttonMessage)) {
|
|||
|
|
showComponents.boolValue = !showComponents.boolValue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUI.backgroundColor = buttonColor;
|
|||
|
|
|
|||
|
|
style.fontStyle = FontStyle.Bold;
|
|||
|
|
style.fontSize = 30;
|
|||
|
|
style.alignment = TextAnchor.MiddleCenter;
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue || showCircumnavigationhSettings.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("CIRCUMNAVIGATION SETTINGS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Circumnavigation Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (circumnavigateRotationSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (useLerpRotation);
|
|||
|
|
EditorGUILayout.PropertyField (tagForCircumnavigate);
|
|||
|
|
EditorGUILayout.PropertyField (tagForMovingObjects);
|
|||
|
|
EditorGUILayout.PropertyField (checkCircumnavigateSurfaceOnZeroGravity);
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (checkSurfaceBelowLedge);
|
|||
|
|
if (checkSurfaceBelowLedge.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (surfaceBelowLedgeRaycastDistance);
|
|||
|
|
EditorGUILayout.PropertyField (belowLedgeRotationSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (surfaceBelowRaycastTransform);
|
|||
|
|
}
|
|||
|
|
EditorGUILayout.PropertyField (checkSurfaceInFront);
|
|||
|
|
if (checkSurfaceInFront.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (surfaceInFrontRaycastDistance);
|
|||
|
|
EditorGUILayout.PropertyField (surfaceInFrontRotationSpeed);
|
|||
|
|
EditorGUILayout.PropertyField (surfaceInFrontRaycastTransform);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (gravityAdherenceRaycastParent);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue || showEventsSettings.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("EVENTS SETTINGS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Events On Use Gravity Power Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (useEventsOnUseGravityPowerStateChange);
|
|||
|
|
if (useEventsOnUseGravityPowerStateChange.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (eventsOnUseGravityPowerStateEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (eventsOnUseGravityPowerStateDisabled);
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue || showZeroGravitySettings.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("ZERO GRAVITY MODE SETTINGS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Zero Gravity Mode Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (startWithZeroGravityMode);
|
|||
|
|
EditorGUILayout.PropertyField (canResetRotationOnZeroGravityMode);
|
|||
|
|
EditorGUILayout.PropertyField (canAdjustToForwardSurface);
|
|||
|
|
|
|||
|
|
if (canAdjustToForwardSurface.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (forwardSurfaceRayPosition);
|
|||
|
|
EditorGUILayout.PropertyField (maxDistanceToAdjust);
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (resetRotationZeroGravitySpeed);
|
|||
|
|
EditorGUILayout.PropertyField (adjustToForwardSurfaceSpeed);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (setOnGroundStateOnTeleportToSurfaceOnZeroGravity);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (useCustomDirectionOnResetZeroGravityRotation);
|
|||
|
|
if (useCustomDirectionOnResetZeroGravityRotation.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (customDirectionOnResetZeroGravityRotation);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (useEventsOnZeroGravityModeStateChange);
|
|||
|
|
if (useEventsOnZeroGravityModeStateChange.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (evenOnZeroGravityModeStateEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (eventOnZeroGravityModeStateDisabled);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue || showFreeFloatingModeSettings.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("FREE FLOATING MODE SETTINGS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Free Floating Mode Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (canActivateFreeFloatingMode);
|
|||
|
|
EditorGUILayout.PropertyField (useEventsOnFreeFloatingModeStateChange);
|
|||
|
|
if (useEventsOnFreeFloatingModeStateChange.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (evenOnFreeFloatingModeStateEnabled);
|
|||
|
|
EditorGUILayout.PropertyField (eventOnFreeFloatingModeStateDisabled);
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue || showOtherSettings.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("OTHERS SETTINGS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("New Gravity At Start Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (startWithNewGravity);
|
|||
|
|
if (startWithNewGravity.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (usePlayerRotation);
|
|||
|
|
if (usePlayerRotation.boolValue) {
|
|||
|
|
EditorGUILayout.PropertyField (adjustRotationToSurfaceFound);
|
|||
|
|
} else {
|
|||
|
|
EditorGUILayout.PropertyField (newGravityToStart);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Gravity Color Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (changeModelColor);
|
|||
|
|
if (changeModelColor.boolValue) {
|
|||
|
|
showSimpleList (materialToChange);
|
|||
|
|
EditorGUILayout.PropertyField (powerColor);
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("AI Settings", "window");
|
|||
|
|
EditorGUILayout.PropertyField (usedByAI);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showAllSettings.boolValue || showDebugSettings.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("DEBUG SETTINGS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Debug Settings", "window");
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (showGizmo);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (debugGravityDirection);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUILayout.Button ("Set New Debug Gravity Direction")) {
|
|||
|
|
if (Application.isPlaying) {
|
|||
|
|
if (debugGravityDirection.vector3Value != Vector3.zero) {
|
|||
|
|
manager.changeGravityDirectionDirectly (debugGravityDirection.vector3Value, true);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUILayout.Button ("Set Regular Gravity")) {
|
|||
|
|
if (Application.isPlaying) {
|
|||
|
|
manager.deactivateGravityPower ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Gravity State", "window");
|
|||
|
|
GUILayout.Label ("Gravity Power Active\t\t\t" + gravityPowerActive.boolValue);
|
|||
|
|
GUILayout.Label ("Power Activated\t\t\t" + powerActivated.boolValue);
|
|||
|
|
GUILayout.Label ("Choosing Direction\t\t\t" + choosingDirection.boolValue);
|
|||
|
|
GUILayout.Label ("Recalculating Surface\t\t\t" + recalculatingSurface.boolValue);
|
|||
|
|
GUILayout.Label ("Searching Surface\t\t\t" + searchingSurface.boolValue);
|
|||
|
|
GUILayout.Label ("Searching New Surface Below\t\t" + searchingNewSurfaceBelow.boolValue);
|
|||
|
|
GUILayout.Label ("Searching Around \t\t\t" + searchAround.boolValue);
|
|||
|
|
GUILayout.Label ("First Person\t\t\t\t" + firstPersonView.boolValue);
|
|||
|
|
GUILayout.Label ("Zero Gravity Mode On\t\t\t" + zeroGravityModeOn.boolValue);
|
|||
|
|
GUILayout.Label ("Circumnavigate Surface Active\t\t" + circumnavigateCurrentSurfaceActive.boolValue);
|
|||
|
|
GUILayout.Label ("Free Floating Mode On\t\t\t" + freeFloatingModeOn.boolValue);
|
|||
|
|
GUILayout.Label ("Hovering\t\t\t\t" + hovering.boolValue);
|
|||
|
|
GUILayout.Label ("Turning\t\t\t\t\t" + turning.boolValue);
|
|||
|
|
GUILayout.Label ("Update Normal By Transform\t\t" + updateCurrentNormalByExternalTransformActive.boolValue);
|
|||
|
|
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (showComponents.boolValue) {
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.LabelField ("PLAYER COMPONENTS SETTINGS", style);
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Player Elements", "window");
|
|||
|
|
EditorGUILayout.PropertyField (playerCameraGameObject);
|
|||
|
|
EditorGUILayout.PropertyField (pivotCameraTransform);
|
|||
|
|
EditorGUILayout.PropertyField (gravityCenterCollider);
|
|||
|
|
EditorGUILayout.PropertyField (playerControllerManager);
|
|||
|
|
EditorGUILayout.PropertyField (powers);
|
|||
|
|
EditorGUILayout.PropertyField (playerCollider);
|
|||
|
|
EditorGUILayout.PropertyField (playerInput);
|
|||
|
|
|
|||
|
|
EditorGUILayout.PropertyField (weaponsManager);
|
|||
|
|
EditorGUILayout.PropertyField (mainRigidbody);
|
|||
|
|
EditorGUILayout.PropertyField (playerCameraManager);
|
|||
|
|
EditorGUILayout.PropertyField (mainCameraTransform);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
GUILayout.BeginVertical ("Gravity Components", "window");
|
|||
|
|
EditorGUILayout.PropertyField (gravityCenter);
|
|||
|
|
EditorGUILayout.PropertyField (cursor);
|
|||
|
|
EditorGUILayout.PropertyField (arrow);
|
|||
|
|
EditorGUILayout.PropertyField (playerRenderer);
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (GUI.changed) {
|
|||
|
|
serializedObject.ApplyModifiedProperties ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void showSimpleList (SerializedProperty list)
|
|||
|
|
{
|
|||
|
|
GUILayout.BeginVertical ();
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (GUILayout.Button ("Show/Hide " + list.displayName, buttonStyle)) {
|
|||
|
|
list.isExpanded = !list.isExpanded;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
|
|||
|
|
if (list.isExpanded) {
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
GUILayout.Label ("Number of Colors: " + list.arraySize);
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (GUILayout.Button ("Add Color")) {
|
|||
|
|
list.arraySize++;
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("Clear")) {
|
|||
|
|
list.arraySize = 0;
|
|||
|
|
}
|
|||
|
|
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);
|
|||
|
|
EditorGUILayout.Space ();
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
GUILayout.BeginHorizontal ();
|
|||
|
|
if (GUILayout.Button ("x")) {
|
|||
|
|
list.DeleteArrayElementAtIndex (i);
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("v")) {
|
|||
|
|
if (i >= 0) {
|
|||
|
|
list.MoveArrayElement (i, i + 1);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (GUILayout.Button ("^")) {
|
|||
|
|
if (i < list.arraySize) {
|
|||
|
|
list.MoveArrayElement (i, i - 1);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
GUILayout.EndHorizontal ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
GUILayout.EndVertical ();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endif
|