forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
#if UNITY_EDITOR
 | 
						|
using UnityEditor;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
namespace FishNet.Managing.Timing.Editing
 | 
						|
{
 | 
						|
 | 
						|
 | 
						|
    [CustomEditor(typeof(TimeManager), true)]
 | 
						|
    [CanEditMultipleObjects]
 | 
						|
    public class TimeManagerEditor : Editor
 | 
						|
    {
 | 
						|
        private SerializedProperty _updateOrder;
 | 
						|
        private SerializedProperty _timingType;
 | 
						|
        private SerializedProperty _tickRate;
 | 
						|
        private SerializedProperty _allowTickDropping;
 | 
						|
        private SerializedProperty _maximumFrameTicks;
 | 
						|
        private SerializedProperty _pingInterval;
 | 
						|
        private SerializedProperty _timingInterval;
 | 
						|
        private SerializedProperty _physicsMode;        
 | 
						|
 | 
						|
        protected virtual void OnEnable()
 | 
						|
        {
 | 
						|
            _updateOrder = serializedObject.FindProperty("_updateOrder");
 | 
						|
            _timingType = serializedObject.FindProperty("_timingType");
 | 
						|
            _tickRate = serializedObject.FindProperty("_tickRate");
 | 
						|
            _allowTickDropping = serializedObject.FindProperty("_allowTickDropping");
 | 
						|
            _maximumFrameTicks = serializedObject.FindProperty("_maximumFrameTicks");
 | 
						|
            _pingInterval = serializedObject.FindProperty("_pingInterval");
 | 
						|
            _timingInterval = serializedObject.FindProperty("_timingInterval");
 | 
						|
            _physicsMode = serializedObject.FindProperty("_physicsMode");
 | 
						|
        }
 | 
						|
 | 
						|
        public override void OnInspectorGUI()
 | 
						|
        {
 | 
						|
            serializedObject.Update();
 | 
						|
 | 
						|
            GUI.enabled = false;
 | 
						|
            EditorGUILayout.ObjectField("Script:", MonoScript.FromMonoBehaviour((TimeManager)target), typeof(TimeManager), false);
 | 
						|
            GUI.enabled = true;
 | 
						|
 | 
						|
            //Timing.
 | 
						|
            EditorGUILayout.LabelField("Timing", EditorStyles.boldLabel);
 | 
						|
            EditorGUI.indentLevel++;
 | 
						|
            EditorGUILayout.PropertyField(_updateOrder);
 | 
						|
            EditorGUILayout.PropertyField(_timingType);
 | 
						|
            EditorGUILayout.PropertyField(_allowTickDropping);
 | 
						|
            if (_allowTickDropping.boolValue == true)
 | 
						|
            {
 | 
						|
                EditorGUI.indentLevel++;
 | 
						|
                EditorGUILayout.PropertyField(_maximumFrameTicks);
 | 
						|
                EditorGUI.indentLevel--;
 | 
						|
            }
 | 
						|
            EditorGUILayout.PropertyField(_tickRate);
 | 
						|
            EditorGUILayout.PropertyField(_pingInterval);
 | 
						|
            EditorGUILayout.PropertyField(_timingInterval);            
 | 
						|
            EditorGUI.indentLevel--;
 | 
						|
            EditorGUILayout.Space();
 | 
						|
 | 
						|
            //Physics.
 | 
						|
            EditorGUILayout.LabelField("Physics", EditorStyles.boldLabel);
 | 
						|
            EditorGUI.indentLevel++;
 | 
						|
            EditorGUILayout.PropertyField(_physicsMode);
 | 
						|
            if (_physicsMode.intValue != (int)FishNet.Managing.Timing.PhysicsMode.TimeManager)
 | 
						|
                EditorGUILayout.HelpBox("If you are using physics interactions be sure to change the PhysicsMode to TimeManager and implement physics within the TimeManager tick events.", MessageType.None);
 | 
						|
            EditorGUI.indentLevel--;
 | 
						|
 | 
						|
            ////Prediction.
 | 
						|
            //EditorGUILayout.LabelField("Prediction", EditorStyles.boldLabel);
 | 
						|
            //EditorGUI.indentLevel++;
 | 
						|
            //EditorGUILayout.PropertyField(_maximumBufferedInputs);
 | 
						|
            //EditorGUI.indentLevel--;
 | 
						|
 | 
						|
            serializedObject.ApplyModifiedProperties();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
}
 | 
						|
#endif |