public override void OnInspectorGUI() { serializedObject.Update(); ShowBaseElements = EditorGUILayout.Toggle(new GUIContent("Show Raw Elements", "Shows ALL the variables mostly a debug check"), ShowBaseElements); if (ShowBaseElements) { base.OnInspectorGUI(); } else { GUILayout.Label("----CUSTOM EDITOR----", EditorStyles.boldLabel); Toggleable Item = (Toggleable)target; var ObjectField = serializedObject.FindProperty("Type"); EditorGUILayout.PropertyField(ObjectField); switch (Item.Type) { case ToggleType.Effector: GUILayout.Label("----Effector Editor----", EditorStyles.boldLabel); ObjectField = serializedObject.FindProperty("ColliderHeight"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Height", "Tiles Tall")); ObjectField = serializedObject.FindProperty("Rate"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Rate", "How Fast it grows/Decays")); ObjectField = serializedObject.FindProperty("Collider"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Toggle Box", "What is toggled on or off")); ObjectField = serializedObject.FindProperty("Sprites"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Sprites", "The thing that represents the Area")); ObjectField = serializedObject.FindProperty("Delay"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Delay", "How fast between Updates the collider/sprite")); break; case ToggleType.GameObject: break; case ToggleType.Collider: ObjectField = serializedObject.FindProperty("StartEnabled"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Start Enabled", "Whether or not the collider is enabled to start")); ObjectField = serializedObject.FindProperty("Collider"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Collider", "The thing to turn on or off")); break; case ToggleType.Animator: ObjectField = serializedObject.FindProperty("Anim"); EditorGUILayout.PropertyField(ObjectField, new GUIContent("Animator")); break; default: GUILayout.Label("----This don't exist----", EditorStyles.boldLabel); break; } } serializedObject.ApplyModifiedProperties(); }
public static bool TogglePatch(Toggleable __instance, ref int targetIdx) { if (__instance.IsToggleQueued(targetIdx)) { return(false); } FieldInfo info = __instance.GetType().GetField( "targets", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); List <KeyValuePair <IToggleHandler, Chore> > targets = info.GetValue(__instance) as List <KeyValuePair <IToggleHandler, Chore> >; targets[targetIdx].Key.HandleToggle(); return(false); }
public override void PlaySound(AnimEventManager.EventPlayerData behaviour) { Vector3 position = behaviour.GetComponent <Transform>().GetPosition(); Workable workable = behaviour.GetComponent <Worker>().workable; if ((UnityEngine.Object)workable != (UnityEngine.Object)null) { Toggleable component = workable.GetComponent <Toggleable>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { IToggleHandler toggleHandlerForWorker = component.GetToggleHandlerForWorker(behaviour.GetComponent <Worker>()); float value = 1f; if (toggleHandlerForWorker != null && toggleHandlerForWorker.IsHandlerOn()) { value = 0f; } EventInstance instance = SoundEvent.BeginOneShot(base.sound, position); instance.setParameterValue("State", value); SoundEvent.EndOneShot(instance); } } }
private void Start() { toggleScript = toggleableObject.GetComponent <Toggleable>(); }
// Start is called before the first frame update void Start() { toggleScript = toggleableObject.GetComponent <Toggleable>(); collidedCount = 0; }