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();
    }
Exemple #2
0
            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);
            }
Exemple #3
0
    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);
            }
        }
    }
Exemple #4
0
 private void Start()
 {
     toggleScript = toggleableObject.GetComponent <Toggleable>();
 }
Exemple #5
0
 // Start is called before the first frame update
 void Start()
 {
     toggleScript  = toggleableObject.GetComponent <Toggleable>();
     collidedCount = 0;
 }