Files
FueraDeEscala/Assets/Game Kit Controller/Scripts/Editor/playerControllerEditor.cs
Robii Aragon fd87a6ffd5 add ckg
plantilla base para movimiento básico
2026-02-05 05:07:55 -08:00

2788 lines
124 KiB
C#

using UnityEngine;
using System.Collections;
using UnityEngine.Events;
#if UNITY_EDITOR
using UnityEditor;
[CustomEditor (typeof (playerController))]
public class playerControllerEditor : Editor
{
SerializedProperty jumpPower;
SerializedProperty airSpeed;
SerializedProperty airControl;
SerializedProperty jumpMassMultiplier;
SerializedProperty ignorePlayerExtraRotationOnAirEnabled;
SerializedProperty stationaryTurnSpeed;
SerializedProperty movingTurnSpeed;
SerializedProperty autoTurnSpeed;
SerializedProperty aimTurnSpeed;
SerializedProperty thresholdAngleDifference;
SerializedProperty useTurnSpeedOnAim;
SerializedProperty capsuleHeightOnCrouch;
SerializedProperty regularMovementOnBulletTime;
SerializedProperty useMoveInpuptMagnitedeToForwardAmount;
SerializedProperty setCustomCapsuleCenter;
SerializedProperty customCapsuleCenter;
SerializedProperty customCapsuleCenterOnCrouch;
SerializedProperty baseLayerIndex;
SerializedProperty inputHorizontalLerpSpeed;
SerializedProperty inputVerticalLerpSpeed;
SerializedProperty inputStrafeHorizontalLerpSpeed;
SerializedProperty inputStrafeVerticalLerpSpeed;
SerializedProperty animatorForwardInputLerpSpeed;
SerializedProperty animatorTurnInputLerpSpeed;
SerializedProperty moveSpeedMultiplier;
SerializedProperty animSpeedMultiplier;
SerializedProperty overrideAnimationSpeedActive;
SerializedProperty characterRadius;
SerializedProperty minTimeToSetIdleOnStrafe;
SerializedProperty currentIdleID;
SerializedProperty currentStrafeID;
SerializedProperty currentAirID;
SerializedProperty currentCrouchID;
SerializedProperty inputTankControlsHorizontalLerpSpeed;
SerializedProperty inputTankControlsVerticalLerpSpeed;
SerializedProperty inputTankControlsHorizontalStrafeLerpSpeed;
SerializedProperty inputTankControlsVerticalStrafeLerpSpeed;
SerializedProperty playerStatusID;
SerializedProperty playerStatusIDLerpSpeed;
SerializedProperty currentUseStrafeLanding;
SerializedProperty layer;
SerializedProperty rayDistance;
SerializedProperty useSphereRaycastForGroundDetection;
SerializedProperty sphereCastRadius;
SerializedProperty maxDistanceSphereCast;
SerializedProperty sphereCastOffset;
SerializedProperty maxExtraRaycastDistanceToGroundDetection;
// SerializedProperty useCaspsuleCastForGroundDetection;
//
// SerializedProperty capsuleCastRadius;
// SerializedProperty capsuleCastDistance;
// SerializedProperty caspsuleCastOffset;
SerializedProperty walkSpeed;
SerializedProperty increaseWalkSpeedEnabled;
SerializedProperty increaseWalkSpeedValue;
SerializedProperty holdButtonToKeepIncreasedWalkSpeed;
SerializedProperty walkRunTip;
SerializedProperty sprintEnabled;
SerializedProperty changeCameraFovOnSprint;
SerializedProperty shakeCameraOnSprintThirdPerson;
SerializedProperty sprintThirdPersonCameraShakeName;
SerializedProperty useSecondarySprintValues;
SerializedProperty sprintVelocity;
SerializedProperty sprintJumpPower;
SerializedProperty sprintAirSpeed;
SerializedProperty sprintAirControl;
SerializedProperty runOnCrouchEnabled;
SerializedProperty useNewGroundAdherenceEnabled;
SerializedProperty groundRaycastDistance;
SerializedProperty groundLerpSpeed;
SerializedProperty maxStepHeight;
SerializedProperty maxSlopeAngle;
SerializedProperty minAngleToUsedInputNormalized;
SerializedProperty raycastPositionRange;
SerializedProperty heightDiffRaycastRadius;
SerializedProperty durationToWalkToStep;
SerializedProperty checkStepRaycastHeight;
SerializedProperty checkStepRaycastDistance;
SerializedProperty raycastDistanceOnSphereCastOnIdle;
SerializedProperty isGrounded;
SerializedProperty groundHeightDifference;
SerializedProperty futureHasGround;
SerializedProperty stepsDetected;
SerializedProperty futureSurfaceAngle;
SerializedProperty regularGroundAdherence;
SerializedProperty slopesGroundAdherenceUp;
SerializedProperty slopesGroundAdherenceDown;
SerializedProperty maxRayDistanceRange;
SerializedProperty maxSlopeRayDistance;
SerializedProperty maxStairsRayDistance;
SerializedProperty useMaxWalkSurfaceAngle;
SerializedProperty maxWalkSurfaceAngle;
SerializedProperty useMaxDistanceToCheckSurfaceAngle;
SerializedProperty maxDistanceToCheckSurfaceAngle;
SerializedProperty useMaxSlopeInclination;
SerializedProperty maxSlopeInclination;
SerializedProperty minSlopeInclination;
SerializedProperty noAnimatorSpeed;
SerializedProperty noAnimatorWalkMovementSpeed;
SerializedProperty noAnimatorRunMovementSpeed;
SerializedProperty noAnimatorCrouchMovementSpeed;
SerializedProperty noAnimatorRunCrouchMovementSpeed;
SerializedProperty noAnimatorStrafeMovementSpeed;
SerializedProperty noAnimatorCanRun;
SerializedProperty noAnimatorWalkBackwardMovementSpeed;
SerializedProperty noAnimatorRunBackwardMovementSpeed;
SerializedProperty noAnimatorCrouchBackwardMovementSpeed;
SerializedProperty noAnimatorRunCrouchBackwardMovementSpeed;
SerializedProperty noAnimatorStrafeBackwardMovementSpeed;
SerializedProperty noAnimatorCanRunBackwards;
SerializedProperty noAnimatorAirSpeed;
SerializedProperty maxVelocityChange;
SerializedProperty noAnimatorMovementSpeedMultiplier;
SerializedProperty noAnimatorSlopesGroundAdherenceUp;
SerializedProperty noAnimatorSlopesGroundAdherenceDown;
SerializedProperty noAnimatorStairsGroundAdherence;
SerializedProperty currentVelocity;
SerializedProperty axisValues;
// SerializedProperty noAnimatorCurrentMovementSpeed;
// SerializedProperty currentVelocityChangeMagnitude;
// SerializedProperty characterVelocity;
SerializedProperty moveInput;
SerializedProperty useRootMotionOnFullBodyAwareness;
SerializedProperty useRootMotionActive;
SerializedProperty rootMotionCurrentlyActive;
SerializedProperty usingGenericModelActive;
SerializedProperty noRootLerpSpeed;
SerializedProperty noRootWalkMovementSpeed;
SerializedProperty noRootRunMovementSpeed;
SerializedProperty noRootSprintMovementSpeed;
SerializedProperty noRootCrouchMovementSpeed;
SerializedProperty noRootCrouchRunMovementSpeed;
SerializedProperty noRootWalkStrafeMovementSpeed;
SerializedProperty noRootRunStrafeMovementSpeed;
SerializedProperty noRootDelayToMoveOnLand;
SerializedProperty FBAWalkMovementSpeed;
SerializedProperty FBARunMovementSpeed;
SerializedProperty FBASprintMovementSpeed;
SerializedProperty FBACrouchMovementSpeed;
SerializedProperty FBACrouchRunMovementSpeed;
SerializedProperty FBAWalkStrafeMovementSpeed;
SerializedProperty FBARunStrafeMovementSpeed;
SerializedProperty useFBACustomMoveSpeedMultiplier;
SerializedProperty FBACustomMoveSpeedMultiplier;
SerializedProperty ignoreFBACustomMoveSpeedMultiplierOnActionActive;
SerializedProperty disableRootMotionTemporalyOnLandThirdPerson;
SerializedProperty durationDisableRootMotionTemporalyOnLandThirdPerson;
SerializedProperty waitToDisableRootMotionTemporalyOnLandThirdPerson;
SerializedProperty useEventOnSprint;
SerializedProperty eventOnStartSprint;
SerializedProperty eventOnStopSprint;
SerializedProperty lookAlwaysInCameraDirection;
SerializedProperty lookInCameraDirectionIfLookingAtTarget;
SerializedProperty lookOnlyIfMoving;
SerializedProperty disableLookAlwaysInCameraDirectionIfIncreaseWalkSpeedActive;
SerializedProperty defaultStrafeWalkSpeed;
SerializedProperty defaultStrafeRunSpeed;
SerializedProperty rotateDirectlyTowardCameraOnStrafe;
SerializedProperty strafeLerpSpeed;
SerializedProperty ignoreStrafeStateOnAirEnabled;
SerializedProperty updateUseStrafeLandingEnabled;
SerializedProperty lookInCameraDirectionOnCrouchState;
SerializedProperty characterMeshGameObject;
SerializedProperty extraCharacterMeshGameObject;
SerializedProperty head;
SerializedProperty checkCharacterMeshIfGeneratedOnStart;
SerializedProperty objectToCheckCharacterIfGeneratedOnStart;
SerializedProperty characterMeshesListToDisableOnEvent;
SerializedProperty useEventsOnEnableDisableCharacterMeshes;
SerializedProperty eventOnEnableCharacterMeshes;
SerializedProperty eventOnDisableCharacterMeshes;
SerializedProperty eventOnEnableCharacterMeshesOnEditor;
SerializedProperty eventOnDisableCharacterMeshesOnEditor;
SerializedProperty canMoveWhileAimFirstPerson;
SerializedProperty canMoveWhileAimThirdPerson;
SerializedProperty canMoveWhileFreeFireOnThirdPerson;
SerializedProperty stairsMinValue;
SerializedProperty stairsMaxValue;
SerializedProperty stairsGroundAdherence;
SerializedProperty checkStairsWithInclination;
SerializedProperty minStairInclination;
SerializedProperty maxStairInclination;
SerializedProperty checkForStairAdherenceSystem;
SerializedProperty currentStairAdherenceSystemMinValue;
SerializedProperty currentStairAdherenceSystemMaxValue;
SerializedProperty currentStairAdherenceSystemAdherenceValue;
SerializedProperty lockedPlayerMovement;
SerializedProperty tankModeRotationSpeed;
SerializedProperty canMoveWhileAimLockedCamera;
SerializedProperty crouchVerticalInput2_5dEnabled;
SerializedProperty gravityMultiplier;
SerializedProperty gravityForce;
SerializedProperty useMaxFallSpeed;
SerializedProperty maxFallSpeed;
SerializedProperty zeroFrictionMaterial;
SerializedProperty highFrictionMaterial;
SerializedProperty enabledRegularJump;
SerializedProperty enabledDoubleJump;
SerializedProperty maxNumberJumpsInAir;
SerializedProperty holdJumpSlowDownFallEnabled;
SerializedProperty slowDownGravityMultiplier;
SerializedProperty readyToJumpTime;
SerializedProperty ignoreAnimatorGroundStateOnJumpCheck;
SerializedProperty useNewDoubleJumpPower;
SerializedProperty doubleJumpPower;
SerializedProperty readyToDoubleJumpTime;
SerializedProperty removeVerticalSpeedOnDoubleJump;
SerializedProperty addJumpForceWhileButtonPressed;
SerializedProperty addJumpForceDuration;
SerializedProperty jumpForceAmontWhileButtonPressed;
SerializedProperty useJumpForceOnAirJumpEnabled;
SerializedProperty minWaitToAddJumpForceAfterButtonPressed;
SerializedProperty keepLastMovementInputOnJump;
SerializedProperty keepLastMovementInputOnJumpDuration;
SerializedProperty allowRegularAirInputControlOnAirAfterJumpDuration;
SerializedProperty useDelayOnGroundJump;
SerializedProperty delayOnGroundJump;
SerializedProperty useDelayOnGroundJumpOnlyIfNotMoving;
SerializedProperty ignoreDelayOnGroundJumpOnFBA;
SerializedProperty useEventOnDelayOnGroundJump;
SerializedProperty eventOnDelayOnGroundJump;
SerializedProperty stopCrouchOnJumpEnabled;
SerializedProperty useEventOnJump;
SerializedProperty eventOnJump;
SerializedProperty useEventOnGroundJump;
SerializedProperty eventOnGroundJump;
SerializedProperty useEventOnLandFromJumpInput;
SerializedProperty eventOnLandFromJumpInput;
SerializedProperty useEventOnLand;
SerializedProperty eventOnLand;
SerializedProperty useEventOnDoubleJump;
SerializedProperty eventOnDoubleJump;
SerializedProperty useEventOnAirborne;
SerializedProperty eventOnAirborne;
SerializedProperty checkObstacleAbovePlayerOnJumpEnabled;
SerializedProperty checkObstacleAbovePlayerOnJumpRaycastDistance;
SerializedProperty checkObstacleAbovePlayerOnJumpLayermask;
SerializedProperty fallDamageEnabled;
SerializedProperty maxTimeInAirBeforeGettingDamage;
SerializedProperty fallingDamageMultiplier;
SerializedProperty minPlayerVelocityToApplyDamageThirdPerson;
SerializedProperty minPlayerVelocityToApplyDamageFirstPerson;
SerializedProperty callEventOnFallDamage;
SerializedProperty minTimeOnAirToUseEvent;
SerializedProperty eventOnFallDamage;
SerializedProperty ignoreShieldOnFallDamage;
SerializedProperty damageTypeIDOnFallDamage;
SerializedProperty applyFallDamageEnabled;
SerializedProperty callEventOnlyIfPlayerAlive;
SerializedProperty activateRagdollOnFallState;
SerializedProperty minWaitTimeToActivateRagdollOnFall;
SerializedProperty minSpeedToActivateRagdollOnFall;
SerializedProperty eventToActivateRagdollOnFall;
SerializedProperty pushRagdollMultiplierOnFall;
SerializedProperty useLandMark;
SerializedProperty maxLandDistance;
SerializedProperty minDistanceShowLandMark;
SerializedProperty landMark;
SerializedProperty landMark1;
SerializedProperty landMark2;
SerializedProperty canUseSphereMode;
SerializedProperty canGetOnVehicles;
SerializedProperty canDrive;
SerializedProperty canCrouchWhenUsingWeaponsOnThirdPerson;
SerializedProperty getUpIfJumpOnCrouchInThirdPerson;
SerializedProperty getUpIfJumpOnCrouchInFirstPerson;
SerializedProperty useAutoCrouch;
SerializedProperty layerToCrouch;
SerializedProperty raycastDistanceToAutoCrouch;
SerializedProperty autoCrouchRayPosition;
SerializedProperty secondRaycastOffset;
SerializedProperty useObstacleDetectionToAvoidMovement;
SerializedProperty obstacleDetectionToAvoidMovementRaycastDistance;
SerializedProperty obstacleDetectionRaycastDistanceRightAndLeft;
SerializedProperty obstacleDetectionRaycastHeightOffset;
SerializedProperty obstacleDetectionToAvoidMovementLayermask;
SerializedProperty useCustomLayerToCheckIfPlayerCanGetUpFromCrouch;
SerializedProperty customLayerToCheckIfPlayerCanGetUpFromCrouch;
SerializedProperty forwardAnimatorName;
SerializedProperty turnAnimatorName;
SerializedProperty horizontalAnimatorName;
SerializedProperty verticalAnimatorName;
SerializedProperty horizontalStrafeAnimatorName;
SerializedProperty verticalStrafeAnimatorName;
SerializedProperty onGroundAnimatorName;
SerializedProperty crouchAnimatorName;
SerializedProperty movingAnimatorName;
SerializedProperty jumpAnimatorName;
SerializedProperty jumpLegAnimatorName;
SerializedProperty strafeModeActiveAnimatorName;
SerializedProperty movementInputActiveAnimatorName;
SerializedProperty movementRelativeToCameraAnimatorName;
SerializedProperty movementIDAnimatorName;
SerializedProperty playerModeIDAnimatorName;
SerializedProperty movementSpeedAnimatorName;
SerializedProperty lastTimeInputPressedAnimatorName;
SerializedProperty carryingWeaponAnimatorName;
SerializedProperty aimingModeActiveAnimatorName;
SerializedProperty playerStatusIDAnimatorName;
SerializedProperty idleIDAnimatorName;
SerializedProperty strafeIDAnimatorName;
SerializedProperty crouchIDAnimatorName;
SerializedProperty airIDAnimatorName;
SerializedProperty airSpeedAnimatorName;
SerializedProperty quickTurnRightDirectionName;
SerializedProperty quickTurnLeftDirectionName;
SerializedProperty quickTurnDirectionIDSpeedName;
SerializedProperty shieldActiveAnimatorName;
SerializedProperty inputAmountName;
SerializedProperty useStrafeLandingName;
SerializedProperty weaponIDAnimatorName;
SerializedProperty rightArmdIDAnimatorName;
SerializedProperty leftArmIDAnimatorName;
SerializedProperty timeOnAirAnimatorName;
SerializedProperty animatorFBAActiveName;
SerializedProperty playerCameraGameObject;
SerializedProperty playerCameraTransform;
SerializedProperty playerCameraManager;
SerializedProperty headBobManager;
SerializedProperty playerInput;
SerializedProperty playerTransform;
SerializedProperty weaponsManager;
SerializedProperty healthManager;
SerializedProperty IKSystemManager;
SerializedProperty mainCameraTransform;
SerializedProperty animator;
SerializedProperty stepManager;
SerializedProperty mainRigidbody;
SerializedProperty gravityManager;
SerializedProperty characterStateIconManager;
SerializedProperty capsule;
SerializedProperty mainCollider;
SerializedProperty AIElements;
SerializedProperty mainPlayerActionSystem;
SerializedProperty showDebugPrint;
SerializedProperty showGizmo;
SerializedProperty gizmoColor;
SerializedProperty gizmoLabelColor;
SerializedProperty gizmoRadius;
SerializedProperty crouchSlidingEnabled;
SerializedProperty noAnimatorCrouchSlidingSpeed;
SerializedProperty noAnimatorCrouchSlidingDuration;
SerializedProperty noAnimatorCrouchSlidingLerpSpeed;
SerializedProperty noAnimatorCrouchSlidingLerpDelay;
SerializedProperty getUpAfterCrouchSlidingEnd;
SerializedProperty keepCrouchSlidingOnInclinatedSurface;
SerializedProperty minInclinitaonSurfaceAngleToCrouchcSliding;
SerializedProperty crouchSlidingOnAirEnabled;
SerializedProperty noAnimatorCrouchSlidingOnAirSpeed;
SerializedProperty useNoAnimatorCrouchSlidingDurationOnAir;
SerializedProperty noAnimatorCrouchSlidingDurationOnAir;
SerializedProperty eventOnCrouchSlidingStart;
SerializedProperty eventOnCrouchSlidingEnd;
SerializedProperty useCrouchSlidingOnThirdPersonEnabled;
SerializedProperty eventOnCrouchSlidingThirdPersonStart;
SerializedProperty eventOnCrouchSlidingThirdPersonEnd;
SerializedProperty airDashEnabled;
SerializedProperty airDashForce;
SerializedProperty airDashColdDown;
SerializedProperty pauseGravityForce;
SerializedProperty gravityForcePausedTime;
SerializedProperty resetGravityForceOnDash;
SerializedProperty useDashLimit;
SerializedProperty dashLimit;
SerializedProperty changeCameraFovOnDash;
SerializedProperty cameraFovOnDash;
SerializedProperty cameraFovOnDashSpeed;
SerializedProperty minTimeOnAirToUseAirDash;
SerializedProperty useEventsOnAirDash;
SerializedProperty eventOnAirDashThirdPerson;
SerializedProperty eventOnAirDashFirstPerson;
SerializedProperty zeroGravityMovementSpeed;
SerializedProperty zeroGravityControlSpeed;
SerializedProperty zeroGravityLookCameraSpeed;
SerializedProperty useGravityDirectionLandMark;
SerializedProperty forwardSurfaceRayPosition;
SerializedProperty maxDistanceToAdjust;
SerializedProperty pauseCheckOnGroundStateZG;
SerializedProperty pushPlayerWhenZeroGravityModeIsEnabled;
SerializedProperty pushZeroGravityEnabledAmount;
SerializedProperty canMoveVerticallyOnZeroGravity;
SerializedProperty canMoveVerticallyAndHorizontalZG;
SerializedProperty zeroGravitySpeedMultiplier;
SerializedProperty zeroGravityModeVerticalSpeed;
SerializedProperty freeFloatingMovementSpeed;
SerializedProperty freeFloatingControlSpeed;
SerializedProperty pauseCheckOnGroundStateFF;
SerializedProperty canMoveVerticallyOnFreeFloating;
SerializedProperty canMoveVerticallyAndHorizontalFF;
SerializedProperty freeFloatingSpeedMultiplier;
SerializedProperty pushFreeFloatingModeEnabledAmount;
SerializedProperty freeFloatingModeVerticalSpeed;
SerializedProperty useMaxAngleToCheckOnGroundStateZGFF;
SerializedProperty maxAngleToChekOnGroundStateZGFF;
SerializedProperty currentExternalControllerBehavior;
SerializedProperty externalControllBehaviorActive;
SerializedProperty mainExternalControllerBehaviorManager;
SerializedProperty playerOnGround;
SerializedProperty isMoving;
SerializedProperty movingOnPlatformActive;
SerializedProperty jump;
SerializedProperty running;
SerializedProperty crouching;
SerializedProperty canMove;
SerializedProperty moveIputPaused;
SerializedProperty canMoveAI;
SerializedProperty slowingFall;
SerializedProperty isDead;
SerializedProperty playerSetAsChildOfParent;
SerializedProperty useRelativeMovementToLockedCamera;
SerializedProperty ladderFound;
SerializedProperty ignoreCameraDirectionOnMovement;
SerializedProperty strafeModeActive;
SerializedProperty actionActive;
SerializedProperty adhereToGround;
SerializedProperty distanceToGround;
SerializedProperty hitAngle;
SerializedProperty slopeFound;
SerializedProperty movingOnSlopeUp;
SerializedProperty movingOnSlopeDown;
SerializedProperty stairsFound;
SerializedProperty stairAdherenceSystemDetected;
SerializedProperty wallRunningActive;
SerializedProperty crouchSlidingActive;
SerializedProperty aimingInThirdPerson;
SerializedProperty aimingInFirstPerson;
SerializedProperty playerIsAiming;
SerializedProperty usingFreeFireMode;
SerializedProperty lookInCameraDirectionOnFreeFireActive;
SerializedProperty playerUsingMeleeWeapons;
SerializedProperty jetPackEquiped;
SerializedProperty usingJetpack;
SerializedProperty sphereModeActive;
SerializedProperty flyModeActive;
SerializedProperty swimModeActive;
SerializedProperty usingCloseCombatActive;
SerializedProperty closeCombatAttackInProcess;
SerializedProperty lockedCameraActive;
SerializedProperty lookInCameraDirectionActive;
SerializedProperty firstPersonActive;
SerializedProperty usingDevice;
SerializedProperty visibleToAI;
SerializedProperty stealthModeActive;
SerializedProperty playerNavMeshEnabled;
SerializedProperty ignoreExternalActionsActiveState;
SerializedProperty usingSubMenu;
SerializedProperty playerMenuActive;
SerializedProperty gamePaused;
SerializedProperty driving;
SerializedProperty drivingRemotely;
SerializedProperty overridingElement;
SerializedProperty currentVehicleName;
SerializedProperty gravityPowerActive;
SerializedProperty gravityForcePaused;
SerializedProperty zeroGravityModeOn;
SerializedProperty freeFloatingModeOn;
SerializedProperty currentNormal;
SerializedProperty checkOnGroundStatePausedFFOrZG;
SerializedProperty checkOnGroundStatePaused;
SerializedProperty playerID;
SerializedProperty playerIsNonLocalAvatar;
SerializedProperty playerNonLocalAvatarID;
SerializedProperty usedByAI;
SerializedProperty updateHeadbobState;
SerializedProperty checkQuickMovementTurn180DegreesOnRun;
SerializedProperty minDelayToActivateQuickMovementTurn180OnRun;
SerializedProperty quickTurnMovementDurationWalking;
SerializedProperty quickTurnMovementDurationRunning;
SerializedProperty quickTurnMovementDurationSprinting;
SerializedProperty quickTurnMovementRotationSpeed;
SerializedProperty wallRunningEnabled;
SerializedProperty wallRunningExternalControllerBehavior;
SerializedProperty updateFootStepStateActive;
SerializedProperty checkIfSurfaceBelowIsTerrainEnabled;
SerializedProperty useEventsOnWalk;
SerializedProperty eventOnWalkStart;
SerializedProperty eventOnWalkEnd;
SerializedProperty useEventsOnRun;
SerializedProperty eventOnRunStart;
SerializedProperty eventOnRunEnd;
SerializedProperty fullBodyAwarenessActive;
SerializedProperty useExtraColliderList;
SerializedProperty extraColliderList;
SerializedProperty terrainDetected;
SerializedProperty useSmoothPlayerRotationAxisOn2_5dEnabled;
playerController manager;
GUIStyle style = new GUIStyle ();
GUIStyle sectionStyle = new GUIStyle ();
GUIStyle buttonStyle = new GUIStyle ();
Color buttonColor;
string currentButtonString;
string [] mainTabsOptions = {
"First Person",
"Advanced",
"Animation ID Values",
"Abilities",
"Debug State",
"Components",
"Show All",
"Hide All"
};
int mainTabIndex = -1;
string [] abilitiesTabsOptions = {
"Crouch Slide",
"Wall Running",
"Air Dash",
"Zero Gravity",
"Free Floating Mode",
"Show All",
"Hide All"
};
int abilitiesTabIndex = -1;
void OnEnable ()
{
jumpPower = serializedObject.FindProperty ("jumpPower");
airSpeed = serializedObject.FindProperty ("airSpeed");
airControl = serializedObject.FindProperty ("airControl");
jumpMassMultiplier = serializedObject.FindProperty ("jumpMassMultiplier");
ignorePlayerExtraRotationOnAirEnabled = serializedObject.FindProperty ("ignorePlayerExtraRotationOnAirEnabled");
stationaryTurnSpeed = serializedObject.FindProperty ("stationaryTurnSpeed");
movingTurnSpeed = serializedObject.FindProperty ("movingTurnSpeed");
autoTurnSpeed = serializedObject.FindProperty ("autoTurnSpeed");
aimTurnSpeed = serializedObject.FindProperty ("aimTurnSpeed");
thresholdAngleDifference = serializedObject.FindProperty ("thresholdAngleDifference");
useTurnSpeedOnAim = serializedObject.FindProperty ("useTurnSpeedOnAim");
capsuleHeightOnCrouch = serializedObject.FindProperty ("capsuleHeightOnCrouch");
regularMovementOnBulletTime = serializedObject.FindProperty ("regularMovementOnBulletTime");
useMoveInpuptMagnitedeToForwardAmount = serializedObject.FindProperty ("useMoveInpuptMagnitedeToForwardAmount");
setCustomCapsuleCenter = serializedObject.FindProperty ("setCustomCapsuleCenter");
customCapsuleCenter = serializedObject.FindProperty ("customCapsuleCenter");
customCapsuleCenterOnCrouch = serializedObject.FindProperty ("customCapsuleCenterOnCrouch");
baseLayerIndex = serializedObject.FindProperty ("baseLayerIndex");
inputHorizontalLerpSpeed = serializedObject.FindProperty ("inputHorizontalLerpSpeed");
inputVerticalLerpSpeed = serializedObject.FindProperty ("inputVerticalLerpSpeed");
inputStrafeHorizontalLerpSpeed = serializedObject.FindProperty ("inputStrafeHorizontalLerpSpeed");
inputStrafeVerticalLerpSpeed = serializedObject.FindProperty ("inputStrafeVerticalLerpSpeed");
animatorForwardInputLerpSpeed = serializedObject.FindProperty ("animatorForwardInputLerpSpeed");
animatorTurnInputLerpSpeed = serializedObject.FindProperty ("animatorTurnInputLerpSpeed");
moveSpeedMultiplier = serializedObject.FindProperty ("moveSpeedMultiplier");
animSpeedMultiplier = serializedObject.FindProperty ("animSpeedMultiplier");
overrideAnimationSpeedActive = serializedObject.FindProperty ("overrideAnimationSpeedActive");
characterRadius = serializedObject.FindProperty ("characterRadius");
minTimeToSetIdleOnStrafe = serializedObject.FindProperty ("minTimeToSetIdleOnStrafe");
currentIdleID = serializedObject.FindProperty ("currentIdleID");
currentStrafeID = serializedObject.FindProperty ("currentStrafeID");
currentAirID = serializedObject.FindProperty ("currentAirID");
currentCrouchID = serializedObject.FindProperty ("currentCrouchID");
currentUseStrafeLanding = serializedObject.FindProperty ("currentUseStrafeLanding");
inputTankControlsHorizontalLerpSpeed = serializedObject.FindProperty ("inputTankControlsHorizontalLerpSpeed");
inputTankControlsVerticalLerpSpeed = serializedObject.FindProperty ("inputTankControlsVerticalLerpSpeed");
inputTankControlsHorizontalStrafeLerpSpeed = serializedObject.FindProperty ("inputTankControlsHorizontalStrafeLerpSpeed");
inputTankControlsVerticalStrafeLerpSpeed = serializedObject.FindProperty ("inputTankControlsVerticalStrafeLerpSpeed");
playerStatusID = serializedObject.FindProperty ("playerStatusID");
playerStatusIDLerpSpeed = serializedObject.FindProperty ("playerStatusIDLerpSpeed");
layer = serializedObject.FindProperty ("layer");
rayDistance = serializedObject.FindProperty ("rayDistance");
useSphereRaycastForGroundDetection = serializedObject.FindProperty ("useSphereRaycastForGroundDetection");
sphereCastRadius = serializedObject.FindProperty ("sphereCastRadius");
maxDistanceSphereCast = serializedObject.FindProperty ("maxDistanceSphereCast");
sphereCastOffset = serializedObject.FindProperty ("sphereCastOffset");
maxExtraRaycastDistanceToGroundDetection = serializedObject.FindProperty ("maxExtraRaycastDistanceToGroundDetection");
//
// useCaspsuleCastForGroundDetection = serializedObject.FindProperty ("useCaspsuleCastForGroundDetection");
// capsuleCastRadius = serializedObject.FindProperty ("capsuleCastRadius");
// capsuleCastDistance = serializedObject.FindProperty ("capsuleCastDistance");
// caspsuleCastOffset = serializedObject.FindProperty ("caspsuleCastOffset");
//
walkSpeed = serializedObject.FindProperty ("walkSpeed");
increaseWalkSpeedEnabled = serializedObject.FindProperty ("increaseWalkSpeedEnabled");
increaseWalkSpeedValue = serializedObject.FindProperty ("increaseWalkSpeedValue");
holdButtonToKeepIncreasedWalkSpeed = serializedObject.FindProperty ("holdButtonToKeepIncreasedWalkSpeed");
walkRunTip = serializedObject.FindProperty ("walkRunTip");
sprintEnabled = serializedObject.FindProperty ("sprintEnabled");
changeCameraFovOnSprint = serializedObject.FindProperty ("changeCameraFovOnSprint");
shakeCameraOnSprintThirdPerson = serializedObject.FindProperty ("shakeCameraOnSprintThirdPerson");
sprintThirdPersonCameraShakeName = serializedObject.FindProperty ("sprintThirdPersonCameraShakeName");
useSecondarySprintValues = serializedObject.FindProperty ("useSecondarySprintValues");
sprintVelocity = serializedObject.FindProperty ("sprintVelocity");
sprintJumpPower = serializedObject.FindProperty ("sprintJumpPower");
sprintAirSpeed = serializedObject.FindProperty ("sprintAirSpeed");
sprintAirControl = serializedObject.FindProperty ("sprintAirControl");
runOnCrouchEnabled = serializedObject.FindProperty ("runOnCrouchEnabled");
useNewGroundAdherenceEnabled = serializedObject.FindProperty ("useNewGroundAdherenceEnabled");
groundRaycastDistance = serializedObject.FindProperty ("groundRaycastDistance");
groundLerpSpeed = serializedObject.FindProperty ("groundLerpSpeed");
maxStepHeight = serializedObject.FindProperty ("maxStepHeight");
maxSlopeAngle = serializedObject.FindProperty ("maxSlopeAngle");
minAngleToUsedInputNormalized = serializedObject.FindProperty ("minAngleToUsedInputNormalized");
raycastPositionRange = serializedObject.FindProperty ("raycastPositionRange");
heightDiffRaycastRadius = serializedObject.FindProperty ("heightDiffRaycastRadius");
durationToWalkToStep = serializedObject.FindProperty ("durationToWalkToStep");
checkStepRaycastHeight = serializedObject.FindProperty ("checkStepRaycastHeight");
raycastDistanceOnSphereCastOnIdle = serializedObject.FindProperty ("raycastDistanceOnSphereCastOnIdle");
checkStepRaycastDistance = serializedObject.FindProperty ("checkStepRaycastDistance");
isGrounded = serializedObject.FindProperty ("isGrounded");
groundHeightDifference = serializedObject.FindProperty ("groundHeightDifference");
futureHasGround = serializedObject.FindProperty ("futureHasGround");
stepsDetected = serializedObject.FindProperty ("stepsDetected");
futureSurfaceAngle = serializedObject.FindProperty ("futureSurfaceAngle");
regularGroundAdherence = serializedObject.FindProperty ("regularGroundAdherence");
slopesGroundAdherenceUp = serializedObject.FindProperty ("slopesGroundAdherenceUp");
slopesGroundAdherenceDown = serializedObject.FindProperty ("slopesGroundAdherenceDown");
maxRayDistanceRange = serializedObject.FindProperty ("maxRayDistanceRange");
maxSlopeRayDistance = serializedObject.FindProperty ("maxSlopeRayDistance");
maxStairsRayDistance = serializedObject.FindProperty ("maxStairsRayDistance");
useMaxWalkSurfaceAngle = serializedObject.FindProperty ("useMaxWalkSurfaceAngle");
maxWalkSurfaceAngle = serializedObject.FindProperty ("maxWalkSurfaceAngle");
useMaxDistanceToCheckSurfaceAngle = serializedObject.FindProperty ("useMaxDistanceToCheckSurfaceAngle");
maxDistanceToCheckSurfaceAngle = serializedObject.FindProperty ("maxDistanceToCheckSurfaceAngle");
useMaxSlopeInclination = serializedObject.FindProperty ("useMaxSlopeInclination");
maxSlopeInclination = serializedObject.FindProperty ("maxSlopeInclination");
minSlopeInclination = serializedObject.FindProperty ("minSlopeInclination");
noAnimatorSpeed = serializedObject.FindProperty ("noAnimatorSpeed");
noAnimatorWalkMovementSpeed = serializedObject.FindProperty ("noAnimatorWalkMovementSpeed");
noAnimatorRunMovementSpeed = serializedObject.FindProperty ("noAnimatorRunMovementSpeed");
noAnimatorCrouchMovementSpeed = serializedObject.FindProperty ("noAnimatorCrouchMovementSpeed");
noAnimatorRunCrouchMovementSpeed = serializedObject.FindProperty ("noAnimatorRunCrouchMovementSpeed");
noAnimatorStrafeMovementSpeed = serializedObject.FindProperty ("noAnimatorStrafeMovementSpeed");
noAnimatorCanRun = serializedObject.FindProperty ("noAnimatorCanRun");
noAnimatorWalkBackwardMovementSpeed = serializedObject.FindProperty ("noAnimatorWalkBackwardMovementSpeed");
noAnimatorRunBackwardMovementSpeed = serializedObject.FindProperty ("noAnimatorRunBackwardMovementSpeed");
noAnimatorCrouchBackwardMovementSpeed = serializedObject.FindProperty ("noAnimatorCrouchBackwardMovementSpeed");
noAnimatorRunCrouchBackwardMovementSpeed = serializedObject.FindProperty ("noAnimatorRunCrouchBackwardMovementSpeed");
noAnimatorStrafeBackwardMovementSpeed = serializedObject.FindProperty ("noAnimatorStrafeBackwardMovementSpeed");
noAnimatorCanRunBackwards = serializedObject.FindProperty ("noAnimatorCanRunBackwards");
noAnimatorAirSpeed = serializedObject.FindProperty ("noAnimatorAirSpeed");
maxVelocityChange = serializedObject.FindProperty ("maxVelocityChange");
noAnimatorMovementSpeedMultiplier = serializedObject.FindProperty ("noAnimatorMovementSpeedMultiplier");
noAnimatorSlopesGroundAdherenceUp = serializedObject.FindProperty ("noAnimatorSlopesGroundAdherenceUp");
noAnimatorSlopesGroundAdherenceDown = serializedObject.FindProperty ("noAnimatorSlopesGroundAdherenceDown");
noAnimatorStairsGroundAdherence = serializedObject.FindProperty ("noAnimatorStairsGroundAdherence");
currentVelocity = serializedObject.FindProperty ("currentVelocity");
axisValues = serializedObject.FindProperty ("axisValues");
// noAnimatorCurrentMovementSpeed = serializedObject.FindProperty ("noAnimatorCurrentMovementSpeed");
// currentVelocityChangeMagnitude = serializedObject.FindProperty ("currentVelocityChangeMagnitude");
// characterVelocity = serializedObject.FindProperty ("characterVelocity");
moveInput = serializedObject.FindProperty ("moveInput");
useRootMotionOnFullBodyAwareness = serializedObject.FindProperty ("useRootMotionOnFullBodyAwareness");
useRootMotionActive = serializedObject.FindProperty ("useRootMotionActive");
rootMotionCurrentlyActive = serializedObject.FindProperty ("rootMotionCurrentlyActive");
usingGenericModelActive = serializedObject.FindProperty ("usingGenericModelActive");
noRootLerpSpeed = serializedObject.FindProperty ("noRootLerpSpeed");
noRootWalkMovementSpeed = serializedObject.FindProperty ("noRootWalkMovementSpeed");
noRootRunMovementSpeed = serializedObject.FindProperty ("noRootRunMovementSpeed");
noRootSprintMovementSpeed = serializedObject.FindProperty ("noRootSprintMovementSpeed");
noRootCrouchMovementSpeed = serializedObject.FindProperty ("noRootCrouchMovementSpeed");
noRootCrouchRunMovementSpeed = serializedObject.FindProperty ("noRootCrouchRunMovementSpeed");
noRootWalkStrafeMovementSpeed = serializedObject.FindProperty ("noRootWalkStrafeMovementSpeed");
noRootRunStrafeMovementSpeed = serializedObject.FindProperty ("noRootRunStrafeMovementSpeed");
noRootDelayToMoveOnLand = serializedObject.FindProperty ("noRootDelayToMoveOnLand");
FBAWalkMovementSpeed = serializedObject.FindProperty ("FBAWalkMovementSpeed");
FBARunMovementSpeed = serializedObject.FindProperty ("FBARunMovementSpeed");
FBASprintMovementSpeed = serializedObject.FindProperty ("FBASprintMovementSpeed");
FBACrouchMovementSpeed = serializedObject.FindProperty ("FBACrouchMovementSpeed");
FBACrouchRunMovementSpeed = serializedObject.FindProperty ("FBACrouchRunMovementSpeed");
FBAWalkStrafeMovementSpeed = serializedObject.FindProperty ("FBAWalkStrafeMovementSpeed");
FBARunStrafeMovementSpeed = serializedObject.FindProperty ("FBARunStrafeMovementSpeed");
useFBACustomMoveSpeedMultiplier = serializedObject.FindProperty ("useFBACustomMoveSpeedMultiplier");
FBACustomMoveSpeedMultiplier = serializedObject.FindProperty ("FBACustomMoveSpeedMultiplier");
ignoreFBACustomMoveSpeedMultiplierOnActionActive = serializedObject.FindProperty ("ignoreFBACustomMoveSpeedMultiplierOnActionActive");
disableRootMotionTemporalyOnLandThirdPerson = serializedObject.FindProperty ("disableRootMotionTemporalyOnLandThirdPerson");
durationDisableRootMotionTemporalyOnLandThirdPerson = serializedObject.FindProperty ("durationDisableRootMotionTemporalyOnLandThirdPerson");
waitToDisableRootMotionTemporalyOnLandThirdPerson = serializedObject.FindProperty ("waitToDisableRootMotionTemporalyOnLandThirdPerson");
useEventOnSprint = serializedObject.FindProperty ("useEventOnSprint");
eventOnStartSprint = serializedObject.FindProperty ("eventOnStartSprint");
eventOnStopSprint = serializedObject.FindProperty ("eventOnStopSprint");
lookAlwaysInCameraDirection = serializedObject.FindProperty ("lookAlwaysInCameraDirection");
lookInCameraDirectionIfLookingAtTarget = serializedObject.FindProperty ("lookInCameraDirectionIfLookingAtTarget");
lookOnlyIfMoving = serializedObject.FindProperty ("lookOnlyIfMoving");
disableLookAlwaysInCameraDirectionIfIncreaseWalkSpeedActive = serializedObject.FindProperty ("disableLookAlwaysInCameraDirectionIfIncreaseWalkSpeedActive");
defaultStrafeWalkSpeed = serializedObject.FindProperty ("defaultStrafeWalkSpeed");
defaultStrafeRunSpeed = serializedObject.FindProperty ("defaultStrafeRunSpeed");
rotateDirectlyTowardCameraOnStrafe = serializedObject.FindProperty ("rotateDirectlyTowardCameraOnStrafe");
strafeLerpSpeed = serializedObject.FindProperty ("strafeLerpSpeed");
ignoreStrafeStateOnAirEnabled = serializedObject.FindProperty ("ignoreStrafeStateOnAirEnabled");
updateUseStrafeLandingEnabled = serializedObject.FindProperty ("updateUseStrafeLandingEnabled");
lookInCameraDirectionOnCrouchState = serializedObject.FindProperty ("lookInCameraDirectionOnCrouchState");
characterMeshGameObject = serializedObject.FindProperty ("characterMeshGameObject");
extraCharacterMeshGameObject = serializedObject.FindProperty ("extraCharacterMeshGameObject");
head = serializedObject.FindProperty ("head");
checkCharacterMeshIfGeneratedOnStart = serializedObject.FindProperty ("checkCharacterMeshIfGeneratedOnStart");
objectToCheckCharacterIfGeneratedOnStart = serializedObject.FindProperty ("objectToCheckCharacterIfGeneratedOnStart");
characterMeshesListToDisableOnEvent = serializedObject.FindProperty ("characterMeshesListToDisableOnEvent");
useEventsOnEnableDisableCharacterMeshes = serializedObject.FindProperty ("useEventsOnEnableDisableCharacterMeshes");
eventOnEnableCharacterMeshes = serializedObject.FindProperty ("eventOnEnableCharacterMeshes");
eventOnDisableCharacterMeshes = serializedObject.FindProperty ("eventOnDisableCharacterMeshes");
eventOnEnableCharacterMeshesOnEditor = serializedObject.FindProperty ("eventOnEnableCharacterMeshesOnEditor");
eventOnDisableCharacterMeshesOnEditor = serializedObject.FindProperty ("eventOnDisableCharacterMeshesOnEditor");
canMoveWhileAimFirstPerson = serializedObject.FindProperty ("canMoveWhileAimFirstPerson");
canMoveWhileAimThirdPerson = serializedObject.FindProperty ("canMoveWhileAimThirdPerson");
canMoveWhileFreeFireOnThirdPerson = serializedObject.FindProperty ("canMoveWhileFreeFireOnThirdPerson");
stairsMinValue = serializedObject.FindProperty ("stairsMinValue");
stairsMaxValue = serializedObject.FindProperty ("stairsMaxValue");
stairsGroundAdherence = serializedObject.FindProperty ("stairsGroundAdherence");
checkStairsWithInclination = serializedObject.FindProperty ("checkStairsWithInclination");
minStairInclination = serializedObject.FindProperty ("minStairInclination");
maxStairInclination = serializedObject.FindProperty ("maxStairInclination");
checkForStairAdherenceSystem = serializedObject.FindProperty ("checkForStairAdherenceSystem");
currentStairAdherenceSystemMinValue = serializedObject.FindProperty ("currentStairAdherenceSystemMinValue");
currentStairAdherenceSystemMaxValue = serializedObject.FindProperty ("currentStairAdherenceSystemMaxValue");
currentStairAdherenceSystemAdherenceValue = serializedObject.FindProperty ("currentStairAdherenceSystemAdherenceValue");
lockedPlayerMovement = serializedObject.FindProperty ("lockedPlayerMovement");
tankModeRotationSpeed = serializedObject.FindProperty ("tankModeRotationSpeed");
canMoveWhileAimLockedCamera = serializedObject.FindProperty ("canMoveWhileAimLockedCamera");
crouchVerticalInput2_5dEnabled = serializedObject.FindProperty ("crouchVerticalInput2_5dEnabled");
gravityMultiplier = serializedObject.FindProperty ("gravityMultiplier");
gravityForce = serializedObject.FindProperty ("gravityForce");
useMaxFallSpeed = serializedObject.FindProperty ("useMaxFallSpeed");
maxFallSpeed = serializedObject.FindProperty ("maxFallSpeed");
zeroFrictionMaterial = serializedObject.FindProperty ("zeroFrictionMaterial");
highFrictionMaterial = serializedObject.FindProperty ("highFrictionMaterial");
enabledRegularJump = serializedObject.FindProperty ("enabledRegularJump");
enabledDoubleJump = serializedObject.FindProperty ("enabledDoubleJump");
maxNumberJumpsInAir = serializedObject.FindProperty ("maxNumberJumpsInAir");
holdJumpSlowDownFallEnabled = serializedObject.FindProperty ("holdJumpSlowDownFallEnabled");
slowDownGravityMultiplier = serializedObject.FindProperty ("slowDownGravityMultiplier");
readyToJumpTime = serializedObject.FindProperty ("readyToJumpTime");
ignoreAnimatorGroundStateOnJumpCheck = serializedObject.FindProperty ("ignoreAnimatorGroundStateOnJumpCheck");
useNewDoubleJumpPower = serializedObject.FindProperty ("useNewDoubleJumpPower");
doubleJumpPower = serializedObject.FindProperty ("doubleJumpPower");
readyToDoubleJumpTime = serializedObject.FindProperty ("readyToDoubleJumpTime");
removeVerticalSpeedOnDoubleJump = serializedObject.FindProperty ("removeVerticalSpeedOnDoubleJump");
addJumpForceWhileButtonPressed = serializedObject.FindProperty ("addJumpForceWhileButtonPressed");
addJumpForceDuration = serializedObject.FindProperty ("addJumpForceDuration");
jumpForceAmontWhileButtonPressed = serializedObject.FindProperty ("jumpForceAmontWhileButtonPressed");
useJumpForceOnAirJumpEnabled = serializedObject.FindProperty ("useJumpForceOnAirJumpEnabled");
minWaitToAddJumpForceAfterButtonPressed = serializedObject.FindProperty ("minWaitToAddJumpForceAfterButtonPressed");
keepLastMovementInputOnJump = serializedObject.FindProperty ("keepLastMovementInputOnJump");
keepLastMovementInputOnJumpDuration = serializedObject.FindProperty ("keepLastMovementInputOnJumpDuration");
allowRegularAirInputControlOnAirAfterJumpDuration = serializedObject.FindProperty ("allowRegularAirInputControlOnAirAfterJumpDuration");
useDelayOnGroundJump = serializedObject.FindProperty ("useDelayOnGroundJump");
delayOnGroundJump = serializedObject.FindProperty ("delayOnGroundJump");
useDelayOnGroundJumpOnlyIfNotMoving = serializedObject.FindProperty ("useDelayOnGroundJumpOnlyIfNotMoving");
ignoreDelayOnGroundJumpOnFBA = serializedObject.FindProperty ("ignoreDelayOnGroundJumpOnFBA");
useEventOnDelayOnGroundJump = serializedObject.FindProperty ("useEventOnDelayOnGroundJump");
eventOnDelayOnGroundJump = serializedObject.FindProperty ("eventOnDelayOnGroundJump");
stopCrouchOnJumpEnabled = serializedObject.FindProperty ("stopCrouchOnJumpEnabled");
useEventOnJump = serializedObject.FindProperty ("useEventOnJump");
eventOnJump = serializedObject.FindProperty ("eventOnJump");
useEventOnGroundJump = serializedObject.FindProperty ("useEventOnGroundJump");
eventOnGroundJump = serializedObject.FindProperty ("eventOnGroundJump");
useEventOnLandFromJumpInput = serializedObject.FindProperty ("useEventOnLandFromJumpInput");
eventOnLandFromJumpInput = serializedObject.FindProperty ("eventOnLandFromJumpInput");
useEventOnLand = serializedObject.FindProperty ("useEventOnLand");
eventOnLand = serializedObject.FindProperty ("eventOnLand");
useEventOnDoubleJump = serializedObject.FindProperty ("useEventOnDoubleJump");
eventOnDoubleJump = serializedObject.FindProperty ("eventOnDoubleJump");
useEventOnAirborne = serializedObject.FindProperty ("useEventOnAirborne");
eventOnAirborne = serializedObject.FindProperty ("eventOnAirborne");
checkObstacleAbovePlayerOnJumpEnabled = serializedObject.FindProperty ("checkObstacleAbovePlayerOnJumpEnabled");
checkObstacleAbovePlayerOnJumpRaycastDistance = serializedObject.FindProperty ("checkObstacleAbovePlayerOnJumpRaycastDistance");
checkObstacleAbovePlayerOnJumpLayermask = serializedObject.FindProperty ("checkObstacleAbovePlayerOnJumpLayermask");
fallDamageEnabled = serializedObject.FindProperty ("fallDamageEnabled");
maxTimeInAirBeforeGettingDamage = serializedObject.FindProperty ("maxTimeInAirBeforeGettingDamage");
fallingDamageMultiplier = serializedObject.FindProperty ("fallingDamageMultiplier");
minPlayerVelocityToApplyDamageThirdPerson = serializedObject.FindProperty ("minPlayerVelocityToApplyDamageThirdPerson");
minPlayerVelocityToApplyDamageFirstPerson = serializedObject.FindProperty ("minPlayerVelocityToApplyDamageFirstPerson");
callEventOnFallDamage = serializedObject.FindProperty ("callEventOnFallDamage");
minTimeOnAirToUseEvent = serializedObject.FindProperty ("minTimeOnAirToUseEvent");
eventOnFallDamage = serializedObject.FindProperty ("eventOnFallDamage");
useLandMark = serializedObject.FindProperty ("useLandMark");
maxLandDistance = serializedObject.FindProperty ("maxLandDistance");
ignoreShieldOnFallDamage = serializedObject.FindProperty ("ignoreShieldOnFallDamage");
damageTypeIDOnFallDamage = serializedObject.FindProperty ("damageTypeIDOnFallDamage");
applyFallDamageEnabled = serializedObject.FindProperty ("applyFallDamageEnabled");
callEventOnlyIfPlayerAlive = serializedObject.FindProperty ("callEventOnlyIfPlayerAlive");
activateRagdollOnFallState = serializedObject.FindProperty ("activateRagdollOnFallState");
minWaitTimeToActivateRagdollOnFall = serializedObject.FindProperty ("minWaitTimeToActivateRagdollOnFall");
minSpeedToActivateRagdollOnFall = serializedObject.FindProperty ("minSpeedToActivateRagdollOnFall");
eventToActivateRagdollOnFall = serializedObject.FindProperty ("eventToActivateRagdollOnFall");
pushRagdollMultiplierOnFall = serializedObject.FindProperty ("pushRagdollMultiplierOnFall");
minDistanceShowLandMark = serializedObject.FindProperty ("minDistanceShowLandMark");
landMark = serializedObject.FindProperty ("landMark");
landMark1 = serializedObject.FindProperty ("landMark1");
landMark2 = serializedObject.FindProperty ("landMark2");
canUseSphereMode = serializedObject.FindProperty ("canUseSphereMode");
canGetOnVehicles = serializedObject.FindProperty ("canGetOnVehicles");
canDrive = serializedObject.FindProperty ("canDrive");
canCrouchWhenUsingWeaponsOnThirdPerson = serializedObject.FindProperty ("canCrouchWhenUsingWeaponsOnThirdPerson");
getUpIfJumpOnCrouchInThirdPerson = serializedObject.FindProperty ("getUpIfJumpOnCrouchInThirdPerson");
getUpIfJumpOnCrouchInFirstPerson = serializedObject.FindProperty ("getUpIfJumpOnCrouchInFirstPerson");
useAutoCrouch = serializedObject.FindProperty ("useAutoCrouch");
layerToCrouch = serializedObject.FindProperty ("layerToCrouch");
raycastDistanceToAutoCrouch = serializedObject.FindProperty ("raycastDistanceToAutoCrouch");
autoCrouchRayPosition = serializedObject.FindProperty ("autoCrouchRayPosition");
secondRaycastOffset = serializedObject.FindProperty ("secondRaycastOffset");
useObstacleDetectionToAvoidMovement = serializedObject.FindProperty ("useObstacleDetectionToAvoidMovement");
obstacleDetectionToAvoidMovementRaycastDistance = serializedObject.FindProperty ("obstacleDetectionToAvoidMovementRaycastDistance");
obstacleDetectionRaycastDistanceRightAndLeft = serializedObject.FindProperty ("obstacleDetectionRaycastDistanceRightAndLeft");
obstacleDetectionRaycastHeightOffset = serializedObject.FindProperty ("obstacleDetectionRaycastHeightOffset");
obstacleDetectionToAvoidMovementLayermask = serializedObject.FindProperty ("obstacleDetectionToAvoidMovementLayermask");
useCustomLayerToCheckIfPlayerCanGetUpFromCrouch = serializedObject.FindProperty ("useCustomLayerToCheckIfPlayerCanGetUpFromCrouch");
customLayerToCheckIfPlayerCanGetUpFromCrouch = serializedObject.FindProperty ("customLayerToCheckIfPlayerCanGetUpFromCrouch");
forwardAnimatorName = serializedObject.FindProperty ("forwardAnimatorName");
turnAnimatorName = serializedObject.FindProperty ("turnAnimatorName");
horizontalAnimatorName = serializedObject.FindProperty ("horizontalAnimatorName");
verticalAnimatorName = serializedObject.FindProperty ("verticalAnimatorName");
horizontalStrafeAnimatorName = serializedObject.FindProperty ("horizontalStrafeAnimatorName");
verticalStrafeAnimatorName = serializedObject.FindProperty ("verticalStrafeAnimatorName");
onGroundAnimatorName = serializedObject.FindProperty ("onGroundAnimatorName");
crouchAnimatorName = serializedObject.FindProperty ("crouchAnimatorName");
movingAnimatorName = serializedObject.FindProperty ("movingAnimatorName");
jumpAnimatorName = serializedObject.FindProperty ("jumpAnimatorName");
jumpLegAnimatorName = serializedObject.FindProperty ("jumpLegAnimatorName");
strafeModeActiveAnimatorName = serializedObject.FindProperty ("strafeModeActiveAnimatorName");
movementInputActiveAnimatorName = serializedObject.FindProperty ("movementInputActiveAnimatorName");
movementRelativeToCameraAnimatorName = serializedObject.FindProperty ("movementRelativeToCameraAnimatorName");
movementIDAnimatorName = serializedObject.FindProperty ("movementIDAnimatorName");
playerModeIDAnimatorName = serializedObject.FindProperty ("playerModeIDAnimatorName");
movementSpeedAnimatorName = serializedObject.FindProperty ("movementSpeedAnimatorName");
lastTimeInputPressedAnimatorName = serializedObject.FindProperty ("lastTimeInputPressedAnimatorName");
carryingWeaponAnimatorName = serializedObject.FindProperty ("carryingWeaponAnimatorName");
aimingModeActiveAnimatorName = serializedObject.FindProperty ("aimingModeActiveAnimatorName");
playerStatusIDAnimatorName = serializedObject.FindProperty ("playerStatusIDAnimatorName");
idleIDAnimatorName = serializedObject.FindProperty ("idleIDAnimatorName");
strafeIDAnimatorName = serializedObject.FindProperty ("strafeIDAnimatorName");
crouchIDAnimatorName = serializedObject.FindProperty ("crouchIDAnimatorName");
airIDAnimatorName = serializedObject.FindProperty ("airIDAnimatorName");
airSpeedAnimatorName = serializedObject.FindProperty ("airSpeedAnimatorName");
quickTurnRightDirectionName = serializedObject.FindProperty ("quickTurnRightDirectionName");
quickTurnLeftDirectionName = serializedObject.FindProperty ("quickTurnLeftDirectionName");
quickTurnDirectionIDSpeedName = serializedObject.FindProperty ("quickTurnDirectionIDSpeedName");
shieldActiveAnimatorName = serializedObject.FindProperty ("shieldActiveAnimatorName");
inputAmountName = serializedObject.FindProperty ("inputAmountName");
useStrafeLandingName = serializedObject.FindProperty ("useStrafeLandingName");
weaponIDAnimatorName = serializedObject.FindProperty ("weaponIDAnimatorName");
rightArmdIDAnimatorName = serializedObject.FindProperty ("rightArmdIDAnimatorName");
leftArmIDAnimatorName = serializedObject.FindProperty ("leftArmIDAnimatorName");
timeOnAirAnimatorName = serializedObject.FindProperty ("timeOnAirAnimatorName");
animatorFBAActiveName = serializedObject.FindProperty ("animatorFBAActiveName");
playerCameraGameObject = serializedObject.FindProperty ("playerCameraGameObject");
playerCameraTransform = serializedObject.FindProperty ("playerCameraTransform");
playerCameraManager = serializedObject.FindProperty ("playerCameraManager");
headBobManager = serializedObject.FindProperty ("headBobManager");
playerInput = serializedObject.FindProperty ("playerInput");
playerTransform = serializedObject.FindProperty ("playerTransform");
weaponsManager = serializedObject.FindProperty ("weaponsManager");
healthManager = serializedObject.FindProperty ("healthManager");
IKSystemManager = serializedObject.FindProperty ("IKSystemManager");
mainCameraTransform = serializedObject.FindProperty ("mainCameraTransform");
animator = serializedObject.FindProperty ("animator");
stepManager = serializedObject.FindProperty ("stepManager");
mainRigidbody = serializedObject.FindProperty ("mainRigidbody");
gravityManager = serializedObject.FindProperty ("gravityManager");
characterStateIconManager = serializedObject.FindProperty ("characterStateIconManager");
capsule = serializedObject.FindProperty ("capsule");
mainCollider = serializedObject.FindProperty ("mainCollider");
AIElements = serializedObject.FindProperty ("AIElements");
mainPlayerActionSystem = serializedObject.FindProperty ("mainPlayerActionSystem");
showDebugPrint = serializedObject.FindProperty ("showDebugPrint");
showGizmo = serializedObject.FindProperty ("showGizmo");
gizmoColor = serializedObject.FindProperty ("gizmoColor");
gizmoLabelColor = serializedObject.FindProperty ("gizmoLabelColor");
gizmoRadius = serializedObject.FindProperty ("gizmoRadius");
crouchSlidingEnabled = serializedObject.FindProperty ("crouchSlidingEnabled");
noAnimatorCrouchSlidingSpeed = serializedObject.FindProperty ("noAnimatorCrouchSlidingSpeed");
noAnimatorCrouchSlidingDuration = serializedObject.FindProperty ("noAnimatorCrouchSlidingDuration");
noAnimatorCrouchSlidingLerpSpeed = serializedObject.FindProperty ("noAnimatorCrouchSlidingLerpSpeed");
noAnimatorCrouchSlidingLerpDelay = serializedObject.FindProperty ("noAnimatorCrouchSlidingLerpDelay");
getUpAfterCrouchSlidingEnd = serializedObject.FindProperty ("getUpAfterCrouchSlidingEnd");
keepCrouchSlidingOnInclinatedSurface = serializedObject.FindProperty ("keepCrouchSlidingOnInclinatedSurface");
minInclinitaonSurfaceAngleToCrouchcSliding = serializedObject.FindProperty ("minInclinitaonSurfaceAngleToCrouchcSliding");
crouchSlidingOnAirEnabled = serializedObject.FindProperty ("crouchSlidingOnAirEnabled");
noAnimatorCrouchSlidingOnAirSpeed = serializedObject.FindProperty ("noAnimatorCrouchSlidingOnAirSpeed");
useNoAnimatorCrouchSlidingDurationOnAir = serializedObject.FindProperty ("useNoAnimatorCrouchSlidingDurationOnAir");
noAnimatorCrouchSlidingDurationOnAir = serializedObject.FindProperty ("noAnimatorCrouchSlidingDurationOnAir");
eventOnCrouchSlidingStart = serializedObject.FindProperty ("eventOnCrouchSlidingStart");
eventOnCrouchSlidingEnd = serializedObject.FindProperty ("eventOnCrouchSlidingEnd");
useCrouchSlidingOnThirdPersonEnabled = serializedObject.FindProperty ("useCrouchSlidingOnThirdPersonEnabled");
eventOnCrouchSlidingThirdPersonStart = serializedObject.FindProperty ("eventOnCrouchSlidingThirdPersonStart");
eventOnCrouchSlidingThirdPersonEnd = serializedObject.FindProperty ("eventOnCrouchSlidingThirdPersonEnd");
airDashEnabled = serializedObject.FindProperty ("airDashEnabled");
airDashForce = serializedObject.FindProperty ("airDashForce");
airDashColdDown = serializedObject.FindProperty ("airDashColdDown");
pauseGravityForce = serializedObject.FindProperty ("pauseGravityForce");
gravityForcePausedTime = serializedObject.FindProperty ("gravityForcePausedTime");
resetGravityForceOnDash = serializedObject.FindProperty ("resetGravityForceOnDash");
useDashLimit = serializedObject.FindProperty ("useDashLimit");
dashLimit = serializedObject.FindProperty ("dashLimit");
changeCameraFovOnDash = serializedObject.FindProperty ("changeCameraFovOnDash");
cameraFovOnDash = serializedObject.FindProperty ("cameraFovOnDash");
cameraFovOnDashSpeed = serializedObject.FindProperty ("cameraFovOnDashSpeed");
minTimeOnAirToUseAirDash = serializedObject.FindProperty ("minTimeOnAirToUseAirDash");
useEventsOnAirDash = serializedObject.FindProperty ("useEventsOnAirDash");
eventOnAirDashThirdPerson = serializedObject.FindProperty ("eventOnAirDashThirdPerson");
eventOnAirDashFirstPerson = serializedObject.FindProperty ("eventOnAirDashFirstPerson");
zeroGravityMovementSpeed = serializedObject.FindProperty ("zeroGravityMovementSpeed");
zeroGravityControlSpeed = serializedObject.FindProperty ("zeroGravityControlSpeed");
zeroGravityLookCameraSpeed = serializedObject.FindProperty ("zeroGravityLookCameraSpeed");
useGravityDirectionLandMark = serializedObject.FindProperty ("useGravityDirectionLandMark");
forwardSurfaceRayPosition = serializedObject.FindProperty ("forwardSurfaceRayPosition");
maxDistanceToAdjust = serializedObject.FindProperty ("maxDistanceToAdjust");
pauseCheckOnGroundStateZG = serializedObject.FindProperty ("pauseCheckOnGroundStateZG");
pushPlayerWhenZeroGravityModeIsEnabled = serializedObject.FindProperty ("pushPlayerWhenZeroGravityModeIsEnabled");
pushZeroGravityEnabledAmount = serializedObject.FindProperty ("pushZeroGravityEnabledAmount");
canMoveVerticallyOnZeroGravity = serializedObject.FindProperty ("canMoveVerticallyOnZeroGravity");
canMoveVerticallyAndHorizontalZG = serializedObject.FindProperty ("canMoveVerticallyAndHorizontalZG");
zeroGravitySpeedMultiplier = serializedObject.FindProperty ("zeroGravitySpeedMultiplier");
zeroGravityModeVerticalSpeed = serializedObject.FindProperty ("zeroGravityModeVerticalSpeed");
freeFloatingMovementSpeed = serializedObject.FindProperty ("freeFloatingMovementSpeed");
freeFloatingControlSpeed = serializedObject.FindProperty ("freeFloatingControlSpeed");
pauseCheckOnGroundStateFF = serializedObject.FindProperty ("pauseCheckOnGroundStateFF");
canMoveVerticallyOnFreeFloating = serializedObject.FindProperty ("canMoveVerticallyOnFreeFloating");
canMoveVerticallyAndHorizontalFF = serializedObject.FindProperty ("canMoveVerticallyAndHorizontalFF");
freeFloatingSpeedMultiplier = serializedObject.FindProperty ("freeFloatingSpeedMultiplier");
pushFreeFloatingModeEnabledAmount = serializedObject.FindProperty ("pushFreeFloatingModeEnabledAmount");
freeFloatingModeVerticalSpeed = serializedObject.FindProperty ("freeFloatingModeVerticalSpeed");
useMaxAngleToCheckOnGroundStateZGFF = serializedObject.FindProperty ("useMaxAngleToCheckOnGroundStateZGFF");
maxAngleToChekOnGroundStateZGFF = serializedObject.FindProperty ("maxAngleToChekOnGroundStateZGFF");
currentExternalControllerBehavior = serializedObject.FindProperty ("currentExternalControllerBehavior");
externalControllBehaviorActive = serializedObject.FindProperty ("externalControllBehaviorActive");
mainExternalControllerBehaviorManager = serializedObject.FindProperty ("mainExternalControllerBehaviorManager");
playerOnGround = serializedObject.FindProperty ("playerOnGround");
isMoving = serializedObject.FindProperty ("isMoving");
movingOnPlatformActive = serializedObject.FindProperty ("movingOnPlatformActive");
jump = serializedObject.FindProperty ("jump");
running = serializedObject.FindProperty ("running");
crouching = serializedObject.FindProperty ("crouching");
canMove = serializedObject.FindProperty ("canMove");
moveIputPaused = serializedObject.FindProperty ("moveIputPaused");
canMoveAI = serializedObject.FindProperty ("canMoveAI");
slowingFall = serializedObject.FindProperty ("slowingFall");
isDead = serializedObject.FindProperty ("isDead");
playerSetAsChildOfParent = serializedObject.FindProperty ("playerSetAsChildOfParent");
useRelativeMovementToLockedCamera = serializedObject.FindProperty ("useRelativeMovementToLockedCamera");
ladderFound = serializedObject.FindProperty ("ladderFound");
ignoreCameraDirectionOnMovement = serializedObject.FindProperty ("ignoreCameraDirectionOnMovement");
strafeModeActive = serializedObject.FindProperty ("strafeModeActive");
actionActive = serializedObject.FindProperty ("actionActive");
adhereToGround = serializedObject.FindProperty ("adhereToGround");
distanceToGround = serializedObject.FindProperty ("distanceToGround");
hitAngle = serializedObject.FindProperty ("hitAngle");
slopeFound = serializedObject.FindProperty ("slopeFound");
movingOnSlopeUp = serializedObject.FindProperty ("movingOnSlopeUp");
movingOnSlopeDown = serializedObject.FindProperty ("movingOnSlopeDown");
stairsFound = serializedObject.FindProperty ("stairsFound");
stairAdherenceSystemDetected = serializedObject.FindProperty ("stairAdherenceSystemDetected");
wallRunningActive = serializedObject.FindProperty ("wallRunningActive");
crouchSlidingActive = serializedObject.FindProperty ("crouchSlidingActive");
aimingInThirdPerson = serializedObject.FindProperty ("aimingInThirdPerson");
aimingInFirstPerson = serializedObject.FindProperty ("aimingInFirstPerson");
playerIsAiming = serializedObject.FindProperty ("playerIsAiming");
usingFreeFireMode = serializedObject.FindProperty ("usingFreeFireMode");
lookInCameraDirectionOnFreeFireActive = serializedObject.FindProperty ("lookInCameraDirectionOnFreeFireActive");
playerUsingMeleeWeapons = serializedObject.FindProperty ("playerUsingMeleeWeapons");
jetPackEquiped = serializedObject.FindProperty ("jetPackEquiped");
usingJetpack = serializedObject.FindProperty ("usingJetpack");
sphereModeActive = serializedObject.FindProperty ("sphereModeActive");
flyModeActive = serializedObject.FindProperty ("flyModeActive");
swimModeActive = serializedObject.FindProperty ("swimModeActive");
usingCloseCombatActive = serializedObject.FindProperty ("usingCloseCombatActive");
closeCombatAttackInProcess = serializedObject.FindProperty ("closeCombatAttackInProcess");
lockedCameraActive = serializedObject.FindProperty ("lockedCameraActive");
lookInCameraDirectionActive = serializedObject.FindProperty ("lookInCameraDirectionActive");
firstPersonActive = serializedObject.FindProperty ("firstPersonActive");
usingDevice = serializedObject.FindProperty ("usingDevice");
visibleToAI = serializedObject.FindProperty ("visibleToAI");
stealthModeActive = serializedObject.FindProperty ("stealthModeActive");
playerNavMeshEnabled = serializedObject.FindProperty ("playerNavMeshEnabled");
ignoreExternalActionsActiveState = serializedObject.FindProperty ("ignoreExternalActionsActiveState");
usingSubMenu = serializedObject.FindProperty ("usingSubMenu");
playerMenuActive = serializedObject.FindProperty ("playerMenuActive");
gamePaused = serializedObject.FindProperty ("gamePaused");
driving = serializedObject.FindProperty ("driving");
drivingRemotely = serializedObject.FindProperty ("drivingRemotely");
overridingElement = serializedObject.FindProperty ("overridingElement");
currentVehicleName = serializedObject.FindProperty ("currentVehicleName");
gravityPowerActive = serializedObject.FindProperty ("gravityPowerActive");
gravityForcePaused = serializedObject.FindProperty ("gravityForcePaused");
zeroGravityModeOn = serializedObject.FindProperty ("zeroGravityModeOn");
freeFloatingModeOn = serializedObject.FindProperty ("freeFloatingModeOn");
currentNormal = serializedObject.FindProperty ("currentNormal");
checkOnGroundStatePausedFFOrZG = serializedObject.FindProperty ("checkOnGroundStatePausedFFOrZG");
checkOnGroundStatePaused = serializedObject.FindProperty ("checkOnGroundStatePaused");
playerID = serializedObject.FindProperty ("playerID");
playerIsNonLocalAvatar = serializedObject.FindProperty ("playerIsNonLocalAvatar");
playerNonLocalAvatarID = serializedObject.FindProperty ("playerNonLocalAvatarID");
usedByAI = serializedObject.FindProperty ("usedByAI");
updateHeadbobState = serializedObject.FindProperty ("updateHeadbobState");
checkQuickMovementTurn180DegreesOnRun = serializedObject.FindProperty ("checkQuickMovementTurn180DegreesOnRun");
minDelayToActivateQuickMovementTurn180OnRun = serializedObject.FindProperty ("minDelayToActivateQuickMovementTurn180OnRun");
quickTurnMovementDurationWalking = serializedObject.FindProperty ("quickTurnMovementDurationWalking");
quickTurnMovementDurationRunning = serializedObject.FindProperty ("quickTurnMovementDurationRunning");
quickTurnMovementDurationSprinting = serializedObject.FindProperty ("quickTurnMovementDurationSprinting");
quickTurnMovementRotationSpeed = serializedObject.FindProperty ("quickTurnMovementRotationSpeed");
wallRunningEnabled = serializedObject.FindProperty ("wallRunningEnabled");
wallRunningExternalControllerBehavior = serializedObject.FindProperty ("wallRunningExternalControllerBehavior");
updateFootStepStateActive = serializedObject.FindProperty ("updateFootStepStateActive");
checkIfSurfaceBelowIsTerrainEnabled = serializedObject.FindProperty ("checkIfSurfaceBelowIsTerrainEnabled");
useEventsOnWalk = serializedObject.FindProperty ("useEventsOnWalk");
eventOnWalkStart = serializedObject.FindProperty ("eventOnWalkStart");
eventOnWalkEnd = serializedObject.FindProperty ("eventOnWalkEnd");
useEventsOnRun = serializedObject.FindProperty ("useEventsOnRun");
eventOnRunStart = serializedObject.FindProperty ("eventOnRunStart");
eventOnRunEnd = serializedObject.FindProperty ("eventOnRunEnd");
fullBodyAwarenessActive = serializedObject.FindProperty ("fullBodyAwarenessActive");
useExtraColliderList = serializedObject.FindProperty ("useExtraColliderList");
extraColliderList = serializedObject.FindProperty ("extraColliderList");
terrainDetected = serializedObject.FindProperty ("terrainDetected");
useSmoothPlayerRotationAxisOn2_5dEnabled = serializedObject.FindProperty ("useSmoothPlayerRotationAxisOn2_5dEnabled");
manager = (playerController)target;
}
void OnSceneGUI ()
{
if (manager.showGizmo) {
if (manager.useAutoCrouch) {
style.normal.textColor = manager.gizmoLabelColor;
style.alignment = TextAnchor.MiddleCenter;
Handles.Label (manager.autoCrouchRayPosition.position, "Auto Crouch \n raycast", style);
}
}
}
public override void OnInspectorGUI ()
{
EditorGUI.BeginChangeCheck ();
EditorGUILayout.Space ();
buttonStyle = new GUIStyle (GUI.skin.button);
buttonStyle.fontStyle = FontStyle.Bold;
buttonStyle.fontSize = 12;
GUILayout.BeginVertical ("Movement Settings", "window");
EditorGUILayout.PropertyField (airSpeed);
EditorGUILayout.PropertyField (airControl);
EditorGUILayout.PropertyField (ignorePlayerExtraRotationOnAirEnabled);
EditorGUILayout.PropertyField (stationaryTurnSpeed);
EditorGUILayout.PropertyField (movingTurnSpeed);
EditorGUILayout.PropertyField (useTurnSpeedOnAim);
EditorGUILayout.PropertyField (autoTurnSpeed);
EditorGUILayout.PropertyField (aimTurnSpeed);
EditorGUILayout.PropertyField (thresholdAngleDifference);
EditorGUILayout.PropertyField (regularMovementOnBulletTime);
EditorGUILayout.PropertyField (useMoveInpuptMagnitedeToForwardAmount);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Main Capsule Settings", "window");
EditorGUILayout.PropertyField (setCustomCapsuleCenter);
if (setCustomCapsuleCenter.boolValue) {
EditorGUILayout.PropertyField (customCapsuleCenter);
EditorGUILayout.PropertyField (customCapsuleCenterOnCrouch);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Animator Settings", "window");
EditorGUILayout.PropertyField (baseLayerIndex);
EditorGUILayout.PropertyField (inputHorizontalLerpSpeed);
EditorGUILayout.PropertyField (inputVerticalLerpSpeed);
EditorGUILayout.PropertyField (inputStrafeHorizontalLerpSpeed);
EditorGUILayout.PropertyField (inputStrafeVerticalLerpSpeed);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (animatorForwardInputLerpSpeed);
EditorGUILayout.PropertyField (animatorTurnInputLerpSpeed);
EditorGUILayout.PropertyField (moveSpeedMultiplier);
EditorGUILayout.PropertyField (animSpeedMultiplier);
EditorGUILayout.PropertyField (minTimeToSetIdleOnStrafe);
EditorGUILayout.PropertyField (overrideAnimationSpeedActive);
EditorGUILayout.PropertyField (characterRadius);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Animator ID State", "window");
EditorGUILayout.PropertyField (currentIdleID);
EditorGUILayout.PropertyField (currentStrafeID);
EditorGUILayout.PropertyField (currentAirID);
EditorGUILayout.PropertyField (currentCrouchID);
EditorGUILayout.PropertyField (currentUseStrafeLanding);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Tank Controls Animator Settings", "window");
EditorGUILayout.PropertyField (inputTankControlsHorizontalLerpSpeed);
EditorGUILayout.PropertyField (inputTankControlsVerticalLerpSpeed);
EditorGUILayout.PropertyField (inputTankControlsHorizontalStrafeLerpSpeed);
EditorGUILayout.PropertyField (inputTankControlsVerticalStrafeLerpSpeed);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Player Status ID Settings", "window");
EditorGUILayout.PropertyField (playerStatusID);
EditorGUILayout.PropertyField (playerStatusIDLerpSpeed);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Ground Detection Settings", "window");
EditorGUILayout.PropertyField (layer);
EditorGUILayout.PropertyField (rayDistance);
EditorGUILayout.PropertyField (updateFootStepStateActive);
EditorGUILayout.PropertyField (checkIfSurfaceBelowIsTerrainEnabled);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useSphereRaycastForGroundDetection);
if (useSphereRaycastForGroundDetection.boolValue) {
EditorGUILayout.PropertyField (sphereCastRadius);
EditorGUILayout.PropertyField (maxDistanceSphereCast);
EditorGUILayout.PropertyField (sphereCastOffset);
}
EditorGUILayout.PropertyField (maxExtraRaycastDistanceToGroundDetection);
// EditorGUILayout.Space ();
//
// EditorGUILayout.PropertyField (useCaspsuleCastForGroundDetection);
// if (useCaspsuleCastForGroundDetection.boolValue) {
// EditorGUILayout.PropertyField (capsuleCastRadius);
//
// EditorGUILayout.PropertyField (capsuleCastDistance);
// EditorGUILayout.PropertyField (caspsuleCastOffset);
// }
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Ground Adherence Settings", "window");
EditorGUILayout.PropertyField (useNewGroundAdherenceEnabled);
if (useNewGroundAdherenceEnabled.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (groundRaycastDistance);
EditorGUILayout.PropertyField (groundLerpSpeed);
EditorGUILayout.PropertyField (maxStepHeight);
EditorGUILayout.PropertyField (maxSlopeAngle);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (raycastDistanceOnSphereCastOnIdle);
EditorGUILayout.PropertyField (heightDiffRaycastRadius);
EditorGUILayout.PropertyField (raycastPositionRange);
EditorGUILayout.PropertyField (minAngleToUsedInputNormalized);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (durationToWalkToStep);
EditorGUILayout.PropertyField (checkStepRaycastHeight);
EditorGUILayout.PropertyField (checkStepRaycastDistance);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useMaxWalkSurfaceAngle);
if (useMaxWalkSurfaceAngle.boolValue) {
EditorGUILayout.PropertyField (maxWalkSurfaceAngle);
EditorGUILayout.PropertyField (useMaxDistanceToCheckSurfaceAngle);
if (useMaxDistanceToCheckSurfaceAngle.boolValue) {
EditorGUILayout.PropertyField (maxDistanceToCheckSurfaceAngle);
}
}
} else {
EditorGUILayout.PropertyField (regularGroundAdherence);
EditorGUILayout.PropertyField (slopesGroundAdherenceUp);
EditorGUILayout.PropertyField (slopesGroundAdherenceDown);
EditorGUILayout.PropertyField (maxRayDistanceRange);
EditorGUILayout.PropertyField (maxSlopeRayDistance);
EditorGUILayout.PropertyField (maxStairsRayDistance);
EditorGUILayout.PropertyField (useMaxWalkSurfaceAngle);
if (useMaxWalkSurfaceAngle.boolValue) {
EditorGUILayout.PropertyField (maxWalkSurfaceAngle);
EditorGUILayout.PropertyField (useMaxDistanceToCheckSurfaceAngle);
if (useMaxDistanceToCheckSurfaceAngle.boolValue) {
EditorGUILayout.PropertyField (maxDistanceToCheckSurfaceAngle);
}
}
EditorGUILayout.PropertyField (useMaxSlopeInclination);
if (useMaxSlopeInclination.boolValue) {
EditorGUILayout.PropertyField (maxSlopeInclination);
EditorGUILayout.PropertyField (minSlopeInclination);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Stairs Settings", "window");
EditorGUILayout.PropertyField (stairsMinValue);
EditorGUILayout.PropertyField (stairsMaxValue);
EditorGUILayout.PropertyField (stairsGroundAdherence);
EditorGUILayout.PropertyField (checkStairsWithInclination);
if (checkStairsWithInclination.boolValue) {
EditorGUILayout.PropertyField (minStairInclination);
EditorGUILayout.PropertyField (maxStairInclination);
}
EditorGUILayout.PropertyField (checkForStairAdherenceSystem);
if (checkForStairAdherenceSystem.boolValue) {
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Current Stairs Adherence (DEBUG)", "window");
EditorGUILayout.PropertyField (currentStairAdherenceSystemMinValue);
EditorGUILayout.PropertyField (currentStairAdherenceSystemMaxValue);
EditorGUILayout.PropertyField (currentStairAdherenceSystemAdherenceValue);
GUILayout.EndVertical ();
}
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Walk/Run/Sprint Settings", "window");
EditorGUILayout.PropertyField (walkSpeed);
EditorGUILayout.PropertyField (increaseWalkSpeedEnabled);
if (increaseWalkSpeedEnabled.boolValue) {
EditorGUILayout.PropertyField (increaseWalkSpeedValue);
EditorGUILayout.PropertyField (holdButtonToKeepIncreasedWalkSpeed);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (walkRunTip);
EditorGUILayout.Space ();
// GUILayout.BeginVertical ("Walk To Run Acceleration Settings", "window");
// EditorGUILayout.PropertyField (list.FindProperty ("useWalkToRunAccelerationChange"));
// if (list.FindProperty ("useWalkToRunAccelerationChange").boolValue) {
// EditorGUILayout.PropertyField (list.FindProperty ("walkToRunLerSpeed"));
// EditorGUILayout.PropertyField (list.FindProperty ("walkToRunAccelerationSpeed"));
// EditorGUILayout.PropertyField (list.FindProperty ("walkToRunDecelerationSpeed"));
// }
// GUILayout.EndVertical ();
//
// EditorGUILayout.Space ();
GUILayout.BeginVertical ("Sprint Settings", "window");
EditorGUILayout.PropertyField (sprintEnabled);
if (sprintEnabled.boolValue) {
EditorGUILayout.PropertyField (changeCameraFovOnSprint);
EditorGUILayout.PropertyField (shakeCameraOnSprintThirdPerson);
EditorGUILayout.PropertyField (sprintThirdPersonCameraShakeName);
EditorGUILayout.PropertyField (useSecondarySprintValues);
if (useSecondarySprintValues.boolValue) {
EditorGUILayout.PropertyField (sprintVelocity);
EditorGUILayout.PropertyField (sprintJumpPower);
EditorGUILayout.PropertyField (sprintAirSpeed);
EditorGUILayout.PropertyField (sprintAirControl);
}
EditorGUILayout.PropertyField (runOnCrouchEnabled);
}
GUILayout.EndVertical ();
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Root Motion Settings", "window");
EditorGUILayout.PropertyField (useRootMotionActive);
if (!useRootMotionActive.boolValue) {
EditorGUILayout.PropertyField (noRootLerpSpeed);
EditorGUILayout.PropertyField (noRootWalkMovementSpeed);
EditorGUILayout.PropertyField (noRootRunMovementSpeed);
EditorGUILayout.PropertyField (noRootSprintMovementSpeed);
EditorGUILayout.PropertyField (noRootCrouchMovementSpeed);
EditorGUILayout.PropertyField (noRootCrouchRunMovementSpeed);
EditorGUILayout.PropertyField (noRootWalkStrafeMovementSpeed);
EditorGUILayout.PropertyField (noRootRunStrafeMovementSpeed);
EditorGUILayout.PropertyField (noRootDelayToMoveOnLand);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (disableRootMotionTemporalyOnLandThirdPerson);
if (disableRootMotionTemporalyOnLandThirdPerson.boolValue) {
EditorGUILayout.PropertyField (durationDisableRootMotionTemporalyOnLandThirdPerson);
EditorGUILayout.PropertyField (waitToDisableRootMotionTemporalyOnLandThirdPerson);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useRootMotionOnFullBodyAwareness);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Player ID Settings", "window");
EditorGUILayout.PropertyField (playerID);
EditorGUILayout.PropertyField (playerIsNonLocalAvatar);
EditorGUILayout.PropertyField (playerNonLocalAvatarID);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("AI Settings", "window");
EditorGUILayout.PropertyField (usedByAI);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
mainTabIndex = GUILayout.SelectionGrid (mainTabIndex, mainTabsOptions, 3);
if (mainTabIndex >= 0 && mainTabIndex < mainTabsOptions.Length) {
switch (mainTabsOptions [mainTabIndex]) {
case "First Person":
showFirstPersonSettings ();
break;
case "Advanced":
showAdvancedSettings ();
break;
case "Abilities":
showAbilitiesSettings ();
break;
case "Components":
showCharacterComponents ();
break;
case "Animation ID Values":
showAnimatorID ();
break;
case "Debug State":
showDebugSettings ();
break;
case "Show All":
showFirstPersonSettings ();
showAdvancedSettings ();
showAbilitiesSettings ();
showCharacterComponents ();
showAnimatorID ();
showDebugSettings ();
break;
case "Hide All":
mainTabIndex = -1;
break;
default:
break;
}
}
EditorGUILayout.Space ();
if (EditorGUI.EndChangeCheck ()) {
serializedObject.ApplyModifiedProperties ();
Repaint ();
}
}
void showSectionTitle (string sectionTitle)
{
sectionStyle.fontStyle = FontStyle.Bold;
sectionStyle.fontSize = 30;
sectionStyle.alignment = TextAnchor.MiddleCenter;
EditorGUILayout.Space ();
EditorGUILayout.Space ();
EditorGUILayout.Space ();
EditorGUILayout.LabelField (sectionTitle, sectionStyle);
EditorGUILayout.Space ();
EditorGUILayout.Space ();
EditorGUILayout.Space ();
}
void showFirstPersonSettings ()
{
showSectionTitle ("FIRST PERSON SETTINGS");
GUILayout.BeginVertical ("First Person No Animator Settings", "window");
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (noAnimatorSpeed);
EditorGUILayout.PropertyField (noAnimatorWalkMovementSpeed);
if (noAnimatorCanRun.boolValue) {
EditorGUILayout.PropertyField (noAnimatorRunMovementSpeed);
}
EditorGUILayout.PropertyField (noAnimatorCrouchMovementSpeed);
EditorGUILayout.PropertyField (noAnimatorRunCrouchMovementSpeed);
EditorGUILayout.PropertyField (noAnimatorStrafeMovementSpeed);
EditorGUILayout.PropertyField (noAnimatorCanRun);
EditorGUILayout.PropertyField (noAnimatorWalkBackwardMovementSpeed);
if (noAnimatorCanRunBackwards.boolValue) {
EditorGUILayout.PropertyField (noAnimatorRunBackwardMovementSpeed);
}
EditorGUILayout.PropertyField (noAnimatorCrouchBackwardMovementSpeed);
EditorGUILayout.PropertyField (noAnimatorRunCrouchBackwardMovementSpeed);
EditorGUILayout.PropertyField (noAnimatorStrafeBackwardMovementSpeed);
EditorGUILayout.PropertyField (noAnimatorCanRunBackwards);
EditorGUILayout.PropertyField (noAnimatorAirSpeed);
EditorGUILayout.PropertyField (maxVelocityChange);
EditorGUILayout.PropertyField (noAnimatorMovementSpeedMultiplier);
if (!useNewGroundAdherenceEnabled.boolValue) {
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Ground Adherence Settings", "window");
EditorGUILayout.PropertyField (noAnimatorSlopesGroundAdherenceUp);
EditorGUILayout.PropertyField (noAnimatorSlopesGroundAdherenceDown);
EditorGUILayout.PropertyField (noAnimatorStairsGroundAdherence);
GUILayout.EndVertical ();
}
EditorGUILayout.Space ();
GUILayout.EndVertical ();
}
void showAdvancedSettings ()
{
showSectionTitle ("ADVANCED SETTINGS");
// GUILayout.BeginVertical ("Speed State", "window");
// GUILayout.Label ("Current Speed\t" + noAnimatorCurrentMovementSpeed.floatValue);
// GUILayout.Label ("Current Float Speed\t" + currentVelocityChangeMagnitude.floatValue);
// GUILayout.Label ("Character Velocity\t" + characterVelocity.vector3Value);
//
// GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Sprint Settings", "window");
if (sprintEnabled.boolValue) {
EditorGUILayout.PropertyField (useEventOnSprint);
EditorGUILayout.Space ();
if (useEventOnSprint.boolValue) {
EditorGUILayout.PropertyField (eventOnStartSprint);
EditorGUILayout.PropertyField (eventOnStopSprint);
}
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Look In Camera Direction Settings", "window");
EditorGUILayout.PropertyField (lookAlwaysInCameraDirection);
EditorGUILayout.PropertyField (lookInCameraDirectionIfLookingAtTarget);
if (lookAlwaysInCameraDirection.boolValue || lookInCameraDirectionIfLookingAtTarget.boolValue) {
EditorGUILayout.PropertyField (lookOnlyIfMoving);
EditorGUILayout.PropertyField (disableLookAlwaysInCameraDirectionIfIncreaseWalkSpeedActive);
EditorGUILayout.PropertyField (lookInCameraDirectionOnCrouchState);
}
EditorGUILayout.PropertyField (defaultStrafeWalkSpeed);
EditorGUILayout.PropertyField (defaultStrafeRunSpeed);
EditorGUILayout.PropertyField (rotateDirectlyTowardCameraOnStrafe);
EditorGUILayout.PropertyField (strafeLerpSpeed);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (ignoreStrafeStateOnAirEnabled);
EditorGUILayout.PropertyField (updateUseStrafeLandingEnabled);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Quick Movement Turn Settings", "window");
EditorGUILayout.PropertyField (checkQuickMovementTurn180DegreesOnRun);
if (checkQuickMovementTurn180DegreesOnRun.boolValue) {
EditorGUILayout.PropertyField (minDelayToActivateQuickMovementTurn180OnRun);
EditorGUILayout.PropertyField (quickTurnMovementDurationWalking);
EditorGUILayout.PropertyField (quickTurnMovementDurationRunning);
EditorGUILayout.PropertyField (quickTurnMovementDurationSprinting);
EditorGUILayout.PropertyField (quickTurnMovementRotationSpeed);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Character Mesh Settings", "window");
EditorGUILayout.PropertyField (characterMeshGameObject);
EditorGUILayout.PropertyField (head);
EditorGUILayout.Space ();
showSimpleList (extraCharacterMeshGameObject);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (characterMeshesListToDisableOnEvent);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (checkCharacterMeshIfGeneratedOnStart);
if (checkCharacterMeshIfGeneratedOnStart.boolValue) {
EditorGUILayout.PropertyField (objectToCheckCharacterIfGeneratedOnStart);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventsOnEnableDisableCharacterMeshes);
if (useEventsOnEnableDisableCharacterMeshes.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnEnableCharacterMeshes);
EditorGUILayout.PropertyField (eventOnDisableCharacterMeshes);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnEnableCharacterMeshesOnEditor);
EditorGUILayout.PropertyField (eventOnDisableCharacterMeshesOnEditor);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Move While Aim Settings", "window");
EditorGUILayout.PropertyField (canMoveWhileAimFirstPerson);
EditorGUILayout.PropertyField (canMoveWhileAimThirdPerson);
EditorGUILayout.PropertyField (canMoveWhileFreeFireOnThirdPerson);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Locked Camera Settings", "window");
EditorGUILayout.PropertyField (lockedPlayerMovement);
if (lockedPlayerMovement.enumValueIndex == 0) {
EditorGUILayout.PropertyField (tankModeRotationSpeed);
EditorGUILayout.PropertyField (canMoveWhileAimLockedCamera);
}
EditorGUILayout.PropertyField (crouchVerticalInput2_5dEnabled);
EditorGUILayout.PropertyField (useSmoothPlayerRotationAxisOn2_5dEnabled);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Gravity Settings", "window");
EditorGUILayout.PropertyField (gravityMultiplier);
EditorGUILayout.PropertyField (gravityForce);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useMaxFallSpeed);
if (useMaxFallSpeed.boolValue) {
EditorGUILayout.PropertyField (maxFallSpeed);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Physics Settings", "window");
EditorGUILayout.PropertyField (zeroFrictionMaterial);
EditorGUILayout.PropertyField (highFrictionMaterial);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Jump Settings", "window");
EditorGUILayout.PropertyField (jumpPower);
EditorGUILayout.PropertyField (enabledRegularJump);
EditorGUILayout.PropertyField (holdJumpSlowDownFallEnabled);
if (holdJumpSlowDownFallEnabled.boolValue) {
EditorGUILayout.PropertyField (slowDownGravityMultiplier);
}
EditorGUILayout.PropertyField (jumpMassMultiplier);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (readyToJumpTime);
EditorGUILayout.PropertyField (ignoreAnimatorGroundStateOnJumpCheck);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (addJumpForceWhileButtonPressed);
if (addJumpForceWhileButtonPressed.boolValue) {
EditorGUILayout.PropertyField (addJumpForceDuration);
EditorGUILayout.PropertyField (jumpForceAmontWhileButtonPressed);
EditorGUILayout.PropertyField (minWaitToAddJumpForceAfterButtonPressed);
EditorGUILayout.PropertyField (useJumpForceOnAirJumpEnabled);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (keepLastMovementInputOnJump);
if (keepLastMovementInputOnJump.boolValue) {
EditorGUILayout.PropertyField (keepLastMovementInputOnJumpDuration);
EditorGUILayout.PropertyField (allowRegularAirInputControlOnAirAfterJumpDuration);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useDelayOnGroundJump);
if (useDelayOnGroundJump.boolValue) {
EditorGUILayout.PropertyField (delayOnGroundJump);
EditorGUILayout.PropertyField (useDelayOnGroundJumpOnlyIfNotMoving);
EditorGUILayout.PropertyField (ignoreDelayOnGroundJumpOnFBA);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventOnDelayOnGroundJump);
if (useEventOnDelayOnGroundJump.boolValue) {
EditorGUILayout.PropertyField (eventOnDelayOnGroundJump);
}
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (stopCrouchOnJumpEnabled);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventOnJump);
if (useEventOnJump.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnJump);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventOnGroundJump);
if (useEventOnGroundJump.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnGroundJump);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventOnLandFromJumpInput);
if (useEventOnLandFromJumpInput.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnLandFromJumpInput);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventOnLand);
if (useEventOnLand.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnLand);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (checkObstacleAbovePlayerOnJumpEnabled);
if (checkObstacleAbovePlayerOnJumpEnabled.boolValue) {
EditorGUILayout.PropertyField (checkObstacleAbovePlayerOnJumpRaycastDistance);
EditorGUILayout.PropertyField (checkObstacleAbovePlayerOnJumpLayermask);
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventOnAirborne);
if (useEventOnAirborne.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnAirborne);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Double Jump Settings", "window");
EditorGUILayout.PropertyField (enabledDoubleJump);
if (enabledDoubleJump.boolValue) {
EditorGUILayout.PropertyField (maxNumberJumpsInAir);
}
EditorGUILayout.PropertyField (useNewDoubleJumpPower);
if (useNewDoubleJumpPower.boolValue) {
EditorGUILayout.PropertyField (doubleJumpPower);
}
EditorGUILayout.PropertyField (removeVerticalSpeedOnDoubleJump);
EditorGUILayout.PropertyField (readyToDoubleJumpTime);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventOnDoubleJump);
if (useEventOnDoubleJump.boolValue) {
EditorGUILayout.PropertyField (eventOnDoubleJump);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Fall Damage Settings", "window");
EditorGUILayout.PropertyField (fallDamageEnabled);
if (fallDamageEnabled.boolValue) {
EditorGUILayout.PropertyField (maxTimeInAirBeforeGettingDamage);
EditorGUILayout.PropertyField (fallingDamageMultiplier);
EditorGUILayout.PropertyField (minPlayerVelocityToApplyDamageThirdPerson);
EditorGUILayout.PropertyField (minPlayerVelocityToApplyDamageFirstPerson);
EditorGUILayout.PropertyField (ignoreShieldOnFallDamage);
EditorGUILayout.PropertyField (damageTypeIDOnFallDamage);
EditorGUILayout.PropertyField (applyFallDamageEnabled);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (callEventOnFallDamage);
if (callEventOnFallDamage.boolValue) {
EditorGUILayout.PropertyField (minTimeOnAirToUseEvent);
EditorGUILayout.PropertyField (callEventOnlyIfPlayerAlive);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnFallDamage);
}
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Ragdoll On Air Settings", "window");
EditorGUILayout.PropertyField (activateRagdollOnFallState);
if (activateRagdollOnFallState.boolValue) {
EditorGUILayout.PropertyField (minWaitTimeToActivateRagdollOnFall);
EditorGUILayout.PropertyField (minSpeedToActivateRagdollOnFall);
EditorGUILayout.PropertyField (pushRagdollMultiplierOnFall);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventToActivateRagdollOnFall);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Land Mark Settings", "window");
EditorGUILayout.PropertyField (useLandMark);
if (useLandMark.boolValue) {
EditorGUILayout.PropertyField (maxLandDistance);
EditorGUILayout.PropertyField (minDistanceShowLandMark);
EditorGUILayout.PropertyField (landMark);
EditorGUILayout.PropertyField (landMark1);
EditorGUILayout.PropertyField (landMark2);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Player Modes Settings", "window");
EditorGUILayout.PropertyField (canUseSphereMode);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Vehicle Settings", "window");
EditorGUILayout.PropertyField (canGetOnVehicles);
EditorGUILayout.PropertyField (canDrive);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Other Settings", "window");
EditorGUILayout.PropertyField (updateHeadbobState);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useExtraColliderList);
if (useExtraColliderList.boolValue) {
showSimpleList (extraColliderList);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Crouch Settings", "window");
EditorGUILayout.PropertyField (capsuleHeightOnCrouch);
EditorGUILayout.PropertyField (getUpIfJumpOnCrouchInThirdPerson);
EditorGUILayout.PropertyField (getUpIfJumpOnCrouchInFirstPerson);
EditorGUILayout.PropertyField (useAutoCrouch);
if (useAutoCrouch.boolValue) {
EditorGUILayout.PropertyField (layerToCrouch);
EditorGUILayout.PropertyField (raycastDistanceToAutoCrouch);
EditorGUILayout.PropertyField (autoCrouchRayPosition);
EditorGUILayout.PropertyField (secondRaycastOffset);
}
EditorGUILayout.PropertyField (canCrouchWhenUsingWeaponsOnThirdPerson);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useCustomLayerToCheckIfPlayerCanGetUpFromCrouch);
if (useCustomLayerToCheckIfPlayerCanGetUpFromCrouch.boolValue) {
EditorGUILayout.PropertyField (customLayerToCheckIfPlayerCanGetUpFromCrouch);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Obstacle Detection To Avoid Movement Settings", "window");
EditorGUILayout.PropertyField (useObstacleDetectionToAvoidMovement);
if (useObstacleDetectionToAvoidMovement.boolValue) {
EditorGUILayout.PropertyField (obstacleDetectionToAvoidMovementRaycastDistance);
EditorGUILayout.PropertyField (obstacleDetectionRaycastDistanceRightAndLeft);
EditorGUILayout.PropertyField (obstacleDetectionRaycastHeightOffset);
EditorGUILayout.PropertyField (obstacleDetectionToAvoidMovementLayermask);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Events On Walk/Run Settings", "window");
EditorGUILayout.PropertyField (useEventsOnWalk);
if (useEventsOnWalk.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnWalkStart);
EditorGUILayout.PropertyField (eventOnWalkEnd);
}
EditorGUILayout.Space ();
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventsOnRun);
if (useEventsOnRun.boolValue) {
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnRunStart);
EditorGUILayout.PropertyField (eventOnRunEnd);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Full Body Awareness Settings", "window");
EditorGUILayout.PropertyField (FBAWalkMovementSpeed);
EditorGUILayout.PropertyField (FBARunMovementSpeed);
EditorGUILayout.PropertyField (FBASprintMovementSpeed);
EditorGUILayout.PropertyField (FBACrouchMovementSpeed);
EditorGUILayout.PropertyField (FBACrouchRunMovementSpeed);
EditorGUILayout.PropertyField (FBAWalkStrafeMovementSpeed);
EditorGUILayout.PropertyField (FBARunStrafeMovementSpeed);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useFBACustomMoveSpeedMultiplier);
if (useFBACustomMoveSpeedMultiplier.boolValue) {
EditorGUILayout.PropertyField (FBACustomMoveSpeedMultiplier);
EditorGUILayout.PropertyField (ignoreFBACustomMoveSpeedMultiplierOnActionActive);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
}
void showAnimatorID ()
{
showSectionTitle ("ANIMATION ID Values");
GUILayout.BeginVertical ("Animator Fields Settings", "window");
EditorGUILayout.PropertyField (forwardAnimatorName);
EditorGUILayout.PropertyField (turnAnimatorName);
EditorGUILayout.PropertyField (horizontalAnimatorName);
EditorGUILayout.PropertyField (verticalAnimatorName);
EditorGUILayout.PropertyField (horizontalStrafeAnimatorName);
EditorGUILayout.PropertyField (verticalStrafeAnimatorName);
EditorGUILayout.PropertyField (onGroundAnimatorName);
EditorGUILayout.PropertyField (crouchAnimatorName);
EditorGUILayout.PropertyField (movingAnimatorName);
EditorGUILayout.PropertyField (jumpAnimatorName);
EditorGUILayout.PropertyField (jumpLegAnimatorName);
EditorGUILayout.PropertyField (strafeModeActiveAnimatorName);
EditorGUILayout.PropertyField (movementInputActiveAnimatorName);
EditorGUILayout.PropertyField (movementRelativeToCameraAnimatorName);
EditorGUILayout.PropertyField (movementIDAnimatorName);
EditorGUILayout.PropertyField (playerModeIDAnimatorName);
EditorGUILayout.PropertyField (movementSpeedAnimatorName);
EditorGUILayout.PropertyField (lastTimeInputPressedAnimatorName);
EditorGUILayout.PropertyField (carryingWeaponAnimatorName);
EditorGUILayout.PropertyField (aimingModeActiveAnimatorName);
EditorGUILayout.PropertyField (playerStatusIDAnimatorName);
EditorGUILayout.PropertyField (idleIDAnimatorName);
EditorGUILayout.PropertyField (strafeIDAnimatorName);
EditorGUILayout.PropertyField (crouchIDAnimatorName);
EditorGUILayout.PropertyField (airIDAnimatorName);
EditorGUILayout.PropertyField (airSpeedAnimatorName);
EditorGUILayout.PropertyField (quickTurnRightDirectionName);
EditorGUILayout.PropertyField (quickTurnLeftDirectionName);
EditorGUILayout.PropertyField (quickTurnDirectionIDSpeedName);
EditorGUILayout.PropertyField (shieldActiveAnimatorName);
EditorGUILayout.PropertyField (inputAmountName);
EditorGUILayout.PropertyField (useStrafeLandingName);
EditorGUILayout.PropertyField (weaponIDAnimatorName);
EditorGUILayout.PropertyField (rightArmdIDAnimatorName);
EditorGUILayout.PropertyField (leftArmIDAnimatorName);
EditorGUILayout.PropertyField (timeOnAirAnimatorName);
EditorGUILayout.PropertyField (animatorFBAActiveName);
GUILayout.EndVertical ();
}
void showCharacterComponents ()
{
showSectionTitle ("CHARACTER COMPONENTS");
GUILayout.BeginVertical ("Characters Elements", "window");
EditorGUILayout.PropertyField (playerCameraGameObject);
EditorGUILayout.PropertyField (playerCameraTransform);
EditorGUILayout.PropertyField (playerCameraManager);
EditorGUILayout.PropertyField (headBobManager);
EditorGUILayout.PropertyField (playerInput);
EditorGUILayout.PropertyField (playerTransform);
EditorGUILayout.PropertyField (weaponsManager);
EditorGUILayout.PropertyField (healthManager);
EditorGUILayout.PropertyField (IKSystemManager);
EditorGUILayout.PropertyField (mainCameraTransform);
EditorGUILayout.PropertyField (animator);
EditorGUILayout.PropertyField (stepManager);
EditorGUILayout.PropertyField (mainRigidbody);
EditorGUILayout.PropertyField (gravityManager);
EditorGUILayout.PropertyField (characterStateIconManager);
EditorGUILayout.PropertyField (capsule);
EditorGUILayout.PropertyField (mainCollider);
EditorGUILayout.PropertyField (AIElements);
EditorGUILayout.PropertyField (mainPlayerActionSystem);
EditorGUILayout.PropertyField (mainExternalControllerBehaviorManager);
GUILayout.EndVertical ();
}
void showAbilitiesSettings ()
{
showSectionTitle ("ABILITIES SETTINGS");
abilitiesTabIndex = GUILayout.SelectionGrid (abilitiesTabIndex, abilitiesTabsOptions, 3);
if (abilitiesTabIndex >= 0 && abilitiesTabIndex < abilitiesTabsOptions.Length) {
switch (abilitiesTabsOptions [abilitiesTabIndex]) {
case "Crouch Slide":
showCrouchSlideSettings ();
break;
case "Wall Running":
showWallRunningSettings ();
break;
case "Air Dash":
showAirDashSettings ();
break;
case "Zero Gravity":
showZeroGravitySettings ();
break;
case "Free Floating Mode":
showFreeFloatingModeSettings ();
break;
case "Show All":
showCrouchSlideSettings ();
showWallRunningSettings ();
showAirDashSettings ();
showZeroGravitySettings ();
showFreeFloatingModeSettings ();
break;
case "Hide All":
abilitiesTabIndex = -1;
break;
default:
break;
}
}
}
void showCrouchSlideSettings ()
{
showSectionTitle ("CROUCH SLIDING SETTINGS");
GUILayout.BeginVertical ("Crouch Sliding Settings", "window");
EditorGUILayout.PropertyField (crouchSlidingEnabled);
if (crouchSlidingEnabled.boolValue) {
EditorGUILayout.PropertyField (noAnimatorCrouchSlidingSpeed);
EditorGUILayout.PropertyField (noAnimatorCrouchSlidingDuration);
EditorGUILayout.PropertyField (noAnimatorCrouchSlidingLerpSpeed);
EditorGUILayout.PropertyField (noAnimatorCrouchSlidingLerpDelay);
EditorGUILayout.PropertyField (getUpAfterCrouchSlidingEnd);
EditorGUILayout.PropertyField (keepCrouchSlidingOnInclinatedSurface);
if (keepCrouchSlidingOnInclinatedSurface.boolValue) {
EditorGUILayout.PropertyField (minInclinitaonSurfaceAngleToCrouchcSliding);
}
EditorGUILayout.PropertyField (crouchSlidingOnAirEnabled);
if (crouchSlidingOnAirEnabled.boolValue) {
EditorGUILayout.PropertyField (noAnimatorCrouchSlidingOnAirSpeed);
EditorGUILayout.PropertyField (useNoAnimatorCrouchSlidingDurationOnAir);
if (useNoAnimatorCrouchSlidingDurationOnAir.boolValue) {
EditorGUILayout.PropertyField (noAnimatorCrouchSlidingDurationOnAir);
}
}
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (eventOnCrouchSlidingStart);
EditorGUILayout.PropertyField (eventOnCrouchSlidingEnd);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useCrouchSlidingOnThirdPersonEnabled);
if (useCrouchSlidingOnThirdPersonEnabled.boolValue) {
EditorGUILayout.PropertyField (eventOnCrouchSlidingThirdPersonStart);
EditorGUILayout.PropertyField (eventOnCrouchSlidingThirdPersonEnd);
}
}
GUILayout.EndVertical ();
}
void showWallRunningSettings ()
{
showSectionTitle ("WALL RUNNING SETTINGS");
GUILayout.BeginVertical ("Wall Running Settings", "window");
EditorGUILayout.PropertyField (wallRunningEnabled);
EditorGUILayout.PropertyField (wallRunningExternalControllerBehavior);
GUILayout.EndVertical ();
}
void showAirDashSettings ()
{
showSectionTitle ("AIR DASH SETTINGS");
GUILayout.BeginVertical ("Air Dash Settings", "window");
EditorGUILayout.PropertyField (airDashEnabled);
if (airDashEnabled.boolValue) {
EditorGUILayout.PropertyField (airDashForce);
EditorGUILayout.PropertyField (airDashColdDown);
EditorGUILayout.PropertyField (pauseGravityForce);
if (pauseGravityForce.boolValue) {
EditorGUILayout.PropertyField (gravityForcePausedTime);
}
EditorGUILayout.PropertyField (resetGravityForceOnDash);
EditorGUILayout.PropertyField (useDashLimit);
if (useDashLimit.boolValue) {
EditorGUILayout.PropertyField (dashLimit);
}
EditorGUILayout.PropertyField (changeCameraFovOnDash);
if (changeCameraFovOnDash.boolValue) {
EditorGUILayout.PropertyField (cameraFovOnDash);
EditorGUILayout.PropertyField (cameraFovOnDashSpeed);
}
EditorGUILayout.PropertyField (minTimeOnAirToUseAirDash);
EditorGUILayout.Space ();
EditorGUILayout.PropertyField (useEventsOnAirDash);
if (useEventsOnAirDash.boolValue) {
EditorGUILayout.PropertyField (eventOnAirDashThirdPerson);
EditorGUILayout.PropertyField (eventOnAirDashFirstPerson);
}
}
GUILayout.EndVertical ();
}
void showZeroGravitySettings ()
{
showSectionTitle ("ZERO GRAVITY SETTINGS");
GUILayout.BeginVertical ("Zero Gravity Mode Settings", "window");
EditorGUILayout.PropertyField (zeroGravityMovementSpeed);
EditorGUILayout.PropertyField (zeroGravityControlSpeed);
EditorGUILayout.PropertyField (zeroGravityLookCameraSpeed);
EditorGUILayout.PropertyField (useGravityDirectionLandMark);
if (useGravityDirectionLandMark.boolValue) {
EditorGUILayout.PropertyField (forwardSurfaceRayPosition);
EditorGUILayout.PropertyField (maxDistanceToAdjust);
}
EditorGUILayout.PropertyField (pauseCheckOnGroundStateZG);
EditorGUILayout.PropertyField (pushPlayerWhenZeroGravityModeIsEnabled);
if (pushPlayerWhenZeroGravityModeIsEnabled.boolValue) {
EditorGUILayout.PropertyField (pushZeroGravityEnabledAmount);
}
EditorGUILayout.PropertyField (canMoveVerticallyOnZeroGravity);
EditorGUILayout.PropertyField (canMoveVerticallyAndHorizontalZG);
EditorGUILayout.PropertyField (zeroGravitySpeedMultiplier);
EditorGUILayout.PropertyField (zeroGravityModeVerticalSpeed);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Zero Gravity And Free Floating Mode Settings", "window");
EditorGUILayout.PropertyField (useMaxAngleToCheckOnGroundStateZGFF);
if (useMaxAngleToCheckOnGroundStateZGFF.boolValue) {
EditorGUILayout.PropertyField (maxAngleToChekOnGroundStateZGFF);
}
GUILayout.EndVertical ();
}
void showFreeFloatingModeSettings ()
{
showSectionTitle ("FREE FLOATING MODE SETTINGS");
GUILayout.BeginVertical ("Free Floating Mode Settings", "window");
EditorGUILayout.PropertyField (freeFloatingMovementSpeed);
EditorGUILayout.PropertyField (freeFloatingControlSpeed);
EditorGUILayout.PropertyField (pauseCheckOnGroundStateFF);
EditorGUILayout.PropertyField (canMoveVerticallyOnFreeFloating);
EditorGUILayout.PropertyField (canMoveVerticallyAndHorizontalFF);
EditorGUILayout.PropertyField (freeFloatingSpeedMultiplier);
EditorGUILayout.PropertyField (pushFreeFloatingModeEnabledAmount);
EditorGUILayout.PropertyField (freeFloatingModeVerticalSpeed);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Zero Gravity And Free Floating Mode Settings", "window");
EditorGUILayout.PropertyField (useMaxAngleToCheckOnGroundStateZGFF);
if (useMaxAngleToCheckOnGroundStateZGFF.boolValue) {
EditorGUILayout.PropertyField (maxAngleToChekOnGroundStateZGFF);
}
GUILayout.EndVertical ();
}
void showDebugSettings ()
{
showSectionTitle ("DEBUG SETTINGS");
GUILayout.BeginVertical ("Player State", "window");
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Controller State", "window");
GUILayout.Label ("On Ground \t\t\t" + playerOnGround.boolValue);
GUILayout.Label ("Is Moving \t\t\t" + isMoving.boolValue);
GUILayout.Label ("Jumping \t\t\t" + jump.boolValue);
GUILayout.Label ("Running \t\t\t" + running.boolValue);
GUILayout.Label ("Crouching \t\t\t" + crouching.boolValue);
GUILayout.Label ("Can Move \t\t\t" + canMove.boolValue);
GUILayout.Label ("Slowing Fall \t\t\t" + slowingFall.boolValue);
GUILayout.Label ("Is Dead \t\t\t\t" + isDead.boolValue);
EditorGUILayout.Space ();
GUILayout.Label ("Child Of Parent \t\t\t" + playerSetAsChildOfParent.boolValue);
GUILayout.Label ("Relative Movement \t\t" + useRelativeMovementToLockedCamera.boolValue);
GUILayout.Label ("Ladder Found \t\t\t" + ladderFound.boolValue);
GUILayout.Label ("Ignore Camera Dir \t\t" + ignoreCameraDirectionOnMovement.boolValue);
GUILayout.Label ("Strafe Active \t\t\t" + strafeModeActive.boolValue);
GUILayout.Label ("Footsteps State \t\t\t" + manager.currentFootStepState);
GUILayout.Label ("Head Bob State \t\t\t" + manager.currentHeadbobState);
GUILayout.Label ("Action Active \t\t\t" + actionActive.boolValue);
GUILayout.Label ("Root Motion Active \t\t" + rootMotionCurrentlyActive.boolValue);
GUILayout.Label ("Generic Model Active \t\t" + usingGenericModelActive.boolValue);
EditorGUILayout.Space ();
GUILayout.Label ("Rigidbody Velocity \t\t" + currentVelocity.vector3Value);
GUILayout.Label ("Axis Values \t\t\t" + axisValues.vector2Value);
GUILayout.Label ("Move Input \t\t\t" + moveInput.vector3Value);
GUILayout.Label ("Move Input Paused \t\t" + moveIputPaused.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Ground Adherence State", "window");
EditorGUILayout.Space ();
GUILayout.Label ("Adhere To Ground \t\t" + adhereToGround.boolValue);
GUILayout.Label ("Distance To Ground \t\t" + distanceToGround.floatValue);
GUILayout.Label ("Surface Angle \t\t\t" + hitAngle.floatValue);
GUILayout.Label ("Terrain Detected \t\t" + terrainDetected.boolValue);
EditorGUILayout.Space ();
if (useNewGroundAdherenceEnabled.boolValue) {
GUILayout.Label ("Is Grounded \t\t\t" + isGrounded.boolValue);
GUILayout.Label ("Ground Height Difference \t" + groundHeightDifference.floatValue);
GUILayout.Label ("Steps Detected \t\t\t" + stepsDetected.boolValue);
GUILayout.Label ("Future Has Ground \t\t" + futureHasGround.boolValue);
GUILayout.Label ("Future Surface Angle \t\t" + futureSurfaceAngle.floatValue);
EditorGUILayout.Space ();
GUILayout.Label ("Slope Up \t\t\t" + movingOnSlopeUp.boolValue);
GUILayout.Label ("Slope Down \t\t\t" + movingOnSlopeDown.boolValue);
} else {
GUILayout.Label ("Slope Found \t\t\t" + slopeFound.boolValue);
GUILayout.Label ("Slope Up \t\t\t" + movingOnSlopeUp.boolValue);
GUILayout.Label ("Slope Down \t\t\t" + movingOnSlopeDown.boolValue);
EditorGUILayout.Space ();
GUILayout.Label ("Stairs Found \t\t\t" + stairsFound.boolValue);
GUILayout.Label ("Stair System Found \t\t" + stairAdherenceSystemDetected.boolValue);
}
EditorGUILayout.Space ();
GUILayout.Label ("Wall Running \t\t\t" + wallRunningActive.boolValue);
GUILayout.Label ("Crouch Slide Active \t\t" + crouchSlidingActive.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Weapons And Powers State", "window");
GUILayout.Label ("Aiming In 3rd Person \t\t" + aimingInThirdPerson.boolValue);
GUILayout.Label ("Aiming In 1st Person \t\t" + aimingInFirstPerson.boolValue);
GUILayout.Label ("Player Is Aiming \t\t" + playerIsAiming.boolValue);
GUILayout.Label ("Using Free Fire Mode \t\t" + usingFreeFireMode.boolValue);
GUILayout.Label ("Look Camera Dir Free Fire \t" + lookInCameraDirectionOnFreeFireActive.boolValue);
GUILayout.Label ("Using Melee Weapons \t\t" + playerUsingMeleeWeapons.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Mode State", "window");
GUILayout.Label ("Jet Pack Equipped \t\t" + jetPackEquiped.boolValue);
GUILayout.Label ("Using Jet Pack \t\t\t" + usingJetpack.boolValue);
GUILayout.Label ("Sphere Mode Active \t\t" + sphereModeActive.boolValue);
GUILayout.Label ("Fly Mode Active \t\t" + flyModeActive.boolValue);
GUILayout.Label ("Swim Mode Active \t\t" + swimModeActive.boolValue);
GUILayout.Label ("Combat Mode Active \t\t" + usingCloseCombatActive.boolValue);
GUILayout.Label ("Close Combat Attack Active \t" + closeCombatAttackInProcess.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("External Controller Behavior State", "window");
GUILayout.Label ("External Controller Active \t" + externalControllBehaviorActive.boolValue);
EditorGUILayout.PropertyField (currentExternalControllerBehavior);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Camera State", "window");
GUILayout.Label ("Camera Locked \t\t" + lockedCameraActive.boolValue);
GUILayout.Label ("Look Camera Dir Active \t\t" + lookInCameraDirectionActive.boolValue);
GUILayout.Label ("First Person Active \t\t" + firstPersonActive.boolValue);
GUILayout.Label ("Full Body Awareness Active \t" + fullBodyAwarenessActive.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Other Elements State", "window");
GUILayout.Label ("Using Device \t\t\t" + usingDevice.boolValue);
GUILayout.Label ("Visible To AI \t\t\t" + visibleToAI.boolValue);
GUILayout.Label ("Stealth Active \t\t\t" + stealthModeActive.boolValue);
GUILayout.Label ("NavMesh Enabled \t\t" + playerNavMeshEnabled.boolValue);
GUILayout.Label ("Ignore External Actions \t\t" + ignoreExternalActionsActiveState.boolValue);
GUILayout.Label ("Moving On Platform \t\t" + movingOnPlatformActive.boolValue);
GUILayout.Label ("AI Can Move \t\t\t" + canMoveAI.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Menu Elements State", "window");
GUILayout.Label ("Using SubMenu \t\t" + usingSubMenu.boolValue);
GUILayout.Label ("Player Menu Active \t\t" + playerMenuActive.boolValue);
GUILayout.Label ("Game Paused \t\t\t" + gamePaused.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Vehicle State", "window");
GUILayout.Label ("Is Driving \t\t\t" + driving.boolValue);
GUILayout.Label ("Driving Remotely \t\t" + drivingRemotely.boolValue);
GUILayout.Label ("Overriding Element \t\t" + overridingElement.boolValue);
GUILayout.Label ("Vehicle Name \t\t\t" + currentVehicleName.stringValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Gravity State", "window");
GUILayout.Label ("Gravity Force Paused \t\t" + gravityForcePaused.boolValue);
GUILayout.Label ("Zero Gravity On \t\t" + zeroGravityModeOn.boolValue);
GUILayout.Label ("Free Floating On \t\t" + freeFloatingModeOn.boolValue);
GUILayout.Label ("Current Normal \t\t\t" + currentNormal.vector3Value);
GUILayout.Label ("Check Ground Paused FF ZG \t" + checkOnGroundStatePausedFFOrZG.boolValue);
GUILayout.Label ("Check Ground Paused \t\t" + checkOnGroundStatePaused.boolValue);
GUILayout.Label ("Gravity Power Active \t\t" + gravityPowerActive.boolValue);
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.EndVertical ();
EditorGUILayout.Space ();
GUILayout.BeginVertical ("Gizmo Settings", "window");
EditorGUILayout.PropertyField (showDebugPrint);
EditorGUILayout.PropertyField (showGizmo);
if (showGizmo.boolValue) {
EditorGUILayout.PropertyField (gizmoColor);
EditorGUILayout.PropertyField (gizmoLabelColor);
EditorGUILayout.PropertyField (gizmoRadius);
}
GUILayout.EndVertical ();
EditorGUILayout.Space ();
}
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 ();
GUILayout.BeginHorizontal ();
if (GUILayout.Button ("Add")) {
list.arraySize++;
}
if (GUILayout.Button ("Clear")) {
list.arraySize = 0;
}
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);
}
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 ();
EditorGUILayout.Space ();
}
GUILayout.EndVertical ();
}
}
}
#endif