add ckg
plantilla base para movimiento básico
This commit is contained in:
@@ -0,0 +1,263 @@
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor (typeof(moveDeviceToCamera))]
|
||||
[CanEditMultipleObjects]
|
||||
public class moveDeviceToCameraEditor : Editor
|
||||
{
|
||||
SerializedProperty deviceGameObject;
|
||||
SerializedProperty smoothCameraMovement;
|
||||
SerializedProperty useFixedLerpMovement;
|
||||
SerializedProperty fixedLerpMovementSpeed;
|
||||
|
||||
SerializedProperty rotateObjectOnCameraDirectionEnabled;
|
||||
|
||||
SerializedProperty cameraMovementSpeedThirdPerson;
|
||||
SerializedProperty cameraMovementSpeedFirstPerson;
|
||||
SerializedProperty distanceFromCamera;
|
||||
SerializedProperty layerToExaminateDevices;
|
||||
SerializedProperty activateExaminateObjectSystem;
|
||||
SerializedProperty objectHasActiveRigidbody;
|
||||
SerializedProperty disablePlayerMeshGameObject;
|
||||
|
||||
SerializedProperty ignoreFBAActiveIfDisablePlayerMesh;
|
||||
|
||||
SerializedProperty useExamineDeviceCameraEnabled;
|
||||
|
||||
SerializedProperty useBlurUIPanel;
|
||||
|
||||
SerializedProperty disableAllPlayerHUD;
|
||||
SerializedProperty disableSecondaryPlayerHUD;
|
||||
SerializedProperty maxZoomDistance;
|
||||
SerializedProperty minZoomDistance;
|
||||
SerializedProperty zoomSpeed;
|
||||
SerializedProperty deviceTrigger;
|
||||
SerializedProperty colliderListToDisable;
|
||||
SerializedProperty colliderListButtons;
|
||||
SerializedProperty useListOfDisabledObjects;
|
||||
SerializedProperty disabledObjectList;
|
||||
SerializedProperty keepWeaponsIfCarrying;
|
||||
SerializedProperty drawWeaponsIfPreviouslyCarrying;
|
||||
SerializedProperty keepOnlyIfPlayerIsOnFirstPerson;
|
||||
SerializedProperty disableWeaponsDirectlyOnStart;
|
||||
|
||||
SerializedProperty setNewMouseCursorControllerSpeed;
|
||||
SerializedProperty newMouseCursroControllerSpeed;
|
||||
|
||||
SerializedProperty hideMouseCursorIfUsingGamepad;
|
||||
|
||||
SerializedProperty examineObjectManager;
|
||||
SerializedProperty mainRigidbody;
|
||||
|
||||
SerializedProperty disableInteractionTouchButtonOnUsingDevice;
|
||||
|
||||
GUIStyle buttonStyle = new GUIStyle ();
|
||||
|
||||
void OnEnable ()
|
||||
{
|
||||
deviceGameObject = serializedObject.FindProperty ("deviceGameObject");
|
||||
smoothCameraMovement = serializedObject.FindProperty ("smoothCameraMovement");
|
||||
useFixedLerpMovement = serializedObject.FindProperty ("useFixedLerpMovement");
|
||||
fixedLerpMovementSpeed = serializedObject.FindProperty ("fixedLerpMovementSpeed");
|
||||
|
||||
rotateObjectOnCameraDirectionEnabled = serializedObject.FindProperty ("rotateObjectOnCameraDirectionEnabled");
|
||||
|
||||
cameraMovementSpeedThirdPerson = serializedObject.FindProperty ("cameraMovementSpeedThirdPerson");
|
||||
cameraMovementSpeedFirstPerson = serializedObject.FindProperty ("cameraMovementSpeedFirstPerson");
|
||||
distanceFromCamera = serializedObject.FindProperty ("distanceFromCamera");
|
||||
layerToExaminateDevices = serializedObject.FindProperty ("layerToExaminateDevices");
|
||||
activateExaminateObjectSystem = serializedObject.FindProperty ("activateExaminateObjectSystem");
|
||||
objectHasActiveRigidbody = serializedObject.FindProperty ("objectHasActiveRigidbody");
|
||||
disablePlayerMeshGameObject = serializedObject.FindProperty ("disablePlayerMeshGameObject");
|
||||
|
||||
ignoreFBAActiveIfDisablePlayerMesh = serializedObject.FindProperty ("ignoreFBAActiveIfDisablePlayerMesh");
|
||||
|
||||
useExamineDeviceCameraEnabled = serializedObject.FindProperty ("useExamineDeviceCameraEnabled");
|
||||
|
||||
useBlurUIPanel = serializedObject.FindProperty ("useBlurUIPanel");
|
||||
|
||||
disableAllPlayerHUD = serializedObject.FindProperty ("disableAllPlayerHUD");
|
||||
disableSecondaryPlayerHUD = serializedObject.FindProperty ("disableSecondaryPlayerHUD");
|
||||
maxZoomDistance = serializedObject.FindProperty ("maxZoomDistance");
|
||||
minZoomDistance = serializedObject.FindProperty ("minZoomDistance");
|
||||
zoomSpeed = serializedObject.FindProperty ("zoomSpeed");
|
||||
deviceTrigger = serializedObject.FindProperty ("deviceTrigger");
|
||||
colliderListToDisable = serializedObject.FindProperty ("colliderListToDisable");
|
||||
colliderListButtons = serializedObject.FindProperty ("colliderListButtons");
|
||||
useListOfDisabledObjects = serializedObject.FindProperty ("useListOfDisabledObjects");
|
||||
disabledObjectList = serializedObject.FindProperty ("disabledObjectList");
|
||||
keepWeaponsIfCarrying = serializedObject.FindProperty ("keepWeaponsIfCarrying");
|
||||
drawWeaponsIfPreviouslyCarrying = serializedObject.FindProperty ("drawWeaponsIfPreviouslyCarrying");
|
||||
keepOnlyIfPlayerIsOnFirstPerson = serializedObject.FindProperty ("keepOnlyIfPlayerIsOnFirstPerson");
|
||||
disableWeaponsDirectlyOnStart = serializedObject.FindProperty ("disableWeaponsDirectlyOnStart");
|
||||
|
||||
setNewMouseCursorControllerSpeed = serializedObject.FindProperty ("setNewMouseCursorControllerSpeed");
|
||||
newMouseCursroControllerSpeed = serializedObject.FindProperty ("newMouseCursroControllerSpeed");
|
||||
|
||||
hideMouseCursorIfUsingGamepad = serializedObject.FindProperty ("hideMouseCursorIfUsingGamepad");
|
||||
|
||||
examineObjectManager = serializedObject.FindProperty ("examineObjectManager");
|
||||
mainRigidbody = serializedObject.FindProperty ("mainRigidbody");
|
||||
|
||||
disableInteractionTouchButtonOnUsingDevice = serializedObject.FindProperty ("disableInteractionTouchButtonOnUsingDevice");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI ()
|
||||
{
|
||||
GUILayout.BeginVertical (GUILayout.Height (30));
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
buttonStyle = new GUIStyle (GUI.skin.button);
|
||||
|
||||
buttonStyle.fontStyle = FontStyle.Bold;
|
||||
buttonStyle.fontSize = 12;
|
||||
|
||||
GUILayout.BeginVertical ("Main Settings", "window");
|
||||
EditorGUILayout.PropertyField (deviceGameObject);
|
||||
EditorGUILayout.PropertyField (smoothCameraMovement);
|
||||
if (smoothCameraMovement.boolValue) {
|
||||
EditorGUILayout.PropertyField (useFixedLerpMovement);
|
||||
if (useFixedLerpMovement.boolValue) {
|
||||
EditorGUILayout.PropertyField (fixedLerpMovementSpeed);
|
||||
} else {
|
||||
EditorGUILayout.PropertyField (cameraMovementSpeedThirdPerson);
|
||||
EditorGUILayout.PropertyField (cameraMovementSpeedFirstPerson);
|
||||
}
|
||||
}
|
||||
EditorGUILayout.PropertyField (distanceFromCamera);
|
||||
|
||||
EditorGUILayout.PropertyField (rotateObjectOnCameraDirectionEnabled);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Other Settings", "window");
|
||||
EditorGUILayout.PropertyField (layerToExaminateDevices);
|
||||
EditorGUILayout.PropertyField (activateExaminateObjectSystem);
|
||||
EditorGUILayout.PropertyField (objectHasActiveRigidbody);
|
||||
EditorGUILayout.PropertyField (disablePlayerMeshGameObject);
|
||||
|
||||
EditorGUILayout.PropertyField (ignoreFBAActiveIfDisablePlayerMesh);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (useBlurUIPanel);
|
||||
|
||||
EditorGUILayout.PropertyField (useExamineDeviceCameraEnabled);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
EditorGUILayout.PropertyField (setNewMouseCursorControllerSpeed);
|
||||
if (setNewMouseCursorControllerSpeed.boolValue) {
|
||||
EditorGUILayout.PropertyField (newMouseCursroControllerSpeed);
|
||||
}
|
||||
|
||||
EditorGUILayout.PropertyField (hideMouseCursorIfUsingGamepad);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("HUD Settings", "window");
|
||||
EditorGUILayout.PropertyField (disableAllPlayerHUD);
|
||||
EditorGUILayout.PropertyField (disableSecondaryPlayerHUD);
|
||||
EditorGUILayout.PropertyField (disableInteractionTouchButtonOnUsingDevice);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Zoom Settings", "window");
|
||||
EditorGUILayout.PropertyField (maxZoomDistance);
|
||||
EditorGUILayout.PropertyField (minZoomDistance);
|
||||
EditorGUILayout.PropertyField (zoomSpeed);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Collider List Settings", "window");
|
||||
EditorGUILayout.PropertyField (deviceTrigger);
|
||||
showSimpleList (colliderListToDisable, "Collider");
|
||||
showSimpleList (colliderListButtons, "Collider");
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Disabled Object List Settings", "window");
|
||||
EditorGUILayout.PropertyField (useListOfDisabledObjects);
|
||||
if (useListOfDisabledObjects.boolValue) {
|
||||
showSimpleList (disabledObjectList, "Object");
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Weapons Settings", "window");
|
||||
EditorGUILayout.PropertyField (keepWeaponsIfCarrying);
|
||||
if (keepWeaponsIfCarrying.boolValue) {
|
||||
EditorGUILayout.PropertyField (drawWeaponsIfPreviouslyCarrying);
|
||||
EditorGUILayout.PropertyField (keepOnlyIfPlayerIsOnFirstPerson);
|
||||
EditorGUILayout.PropertyField (disableWeaponsDirectlyOnStart);
|
||||
}
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginVertical ("Components", "window");
|
||||
EditorGUILayout.PropertyField (examineObjectManager);
|
||||
EditorGUILayout.PropertyField (mainRigidbody);
|
||||
GUILayout.EndVertical ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.EndVertical ();
|
||||
if (GUI.changed) {
|
||||
serializedObject.ApplyModifiedProperties ();
|
||||
}
|
||||
}
|
||||
|
||||
void showSimpleList (SerializedProperty list, string listName)
|
||||
{
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (GUILayout.Button ("Show/Hide " + list.displayName, buttonStyle)) {
|
||||
list.isExpanded = !list.isExpanded;
|
||||
}
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
if (list.isExpanded) {
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.Label ("Number Of " + listName + "s: \t" + list.arraySize);
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
GUILayout.BeginHorizontal ();
|
||||
if (GUILayout.Button ("Add " + listName)) {
|
||||
list.arraySize++;
|
||||
}
|
||||
if (GUILayout.Button ("Clear")) {
|
||||
list.ClearArray ();
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
|
||||
EditorGUILayout.Space ();
|
||||
|
||||
for (int i = 0; i < list.arraySize; i++) {
|
||||
GUILayout.BeginHorizontal ();
|
||||
if (i < list.arraySize && i >= 0) {
|
||||
EditorGUILayout.PropertyField (list.GetArrayElementAtIndex (i), new GUIContent ("", null, ""), false);
|
||||
}
|
||||
if (GUILayout.Button ("x")) {
|
||||
list.DeleteArrayElementAtIndex (i);
|
||||
}
|
||||
GUILayout.EndHorizontal ();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user