Ejemplo n.º 1
0
 /*
 *	States:
 *		0 - Initial
 *		1 - No action 5 minutes or improper needle decomp
 *		2 - Correct needle decomp, baby healthy
 *		3 - No action 10 minutes, or improper needle decomp x2
 */
 protected virtual void Awake()
 {
     babyBreath = GameObject.FindGameObjectWithTag ("Baby").GetComponent<Breathing> ();
     babyBody = GameObject.FindGameObjectWithTag("BabyBody");
     heartMonitor = GameObject.Find("HeartMonitor").GetComponent<SWP_HeartRateMonitor>();
     InitialState();
     decompTimer = 300f;
     deathTimer = 600f;
     babyMaterial = babyBody.renderer.material;
     babyMaterial.SetFloat ("_Blend", 0.0f);
     mouthTarget = GameObject.Find ("mouthTarget").transform;
     //TODO: Fix this, currently Setting this in inspector to avoid null ref.
     //		GameObject.Find ("endotrachealTube").transform.parent = mouthTarget;
 }
    public override void OnInspectorGUI()
    {
        SWP_HeartRateMonitor _HeartRateMonitorScript = (SWP_HeartRateMonitor)target;

        #region GLOBAL STATIC CONTROLS
        if (SWP_HeartRateMonitorEditor.ShowHeader)
        {
            GetHeader();
        }

        if (SWP_HeartRateMonitorEditor.ShowTitles)
        {
            EditorGUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
            EditorGUILayout.LabelField("Heart Rate/Beat Globals");
            EditorGUILayout.EndHorizontal();
        }

                #if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0
        EditorGUILayout.BeginVertical(EditorStyles.miniButtonMid);
        SWP_HeartRateMonitorEditor.ShowHeader             = EditorGUILayout.ToggleLeft("Show Editor Header", SWP_HeartRateMonitorEditor.ShowHeader);
        SWP_HeartRateMonitorEditor.ShowTitles             = EditorGUILayout.ToggleLeft("Show Editor Titles", SWP_HeartRateMonitorEditor.ShowTitles);
        SWP_HeartRateMonitorEditor.ShowQuickDebugControls = EditorGUILayout.ToggleLeft("Show Debug Controls", SWP_HeartRateMonitorEditor.ShowQuickDebugControls);
                #else
        EditorGUILayout.BeginVertical();
        SWP_HeartRateMonitorEditor.ShowHeader             = EditorGUILayout.Toggle("Show Editor Header", SWP_HeartRateMonitorEditor.ShowHeader);
        SWP_HeartRateMonitorEditor.ShowTitles             = EditorGUILayout.Toggle("Show Editor Titles", SWP_HeartRateMonitorEditor.ShowTitles);
        SWP_HeartRateMonitorEditor.ShowQuickDebugControls = EditorGUILayout.Toggle("Show Debug Controls", SWP_HeartRateMonitorEditor.ShowQuickDebugControls);
                #endif
        EditorGUILayout.EndVertical();
        #endregion

        #region SOUND CONTROLS
        EditorGUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
                #if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0
        _HeartRateMonitorScript.EnableSound = EditorGUILayout.ToggleLeft("Enable Sound", _HeartRateMonitorScript.EnableSound);
                #else
        _HeartRateMonitorScript.EnableSound = EditorGUILayout.Toggle("Enable Sound", _HeartRateMonitorScript.EnableSound);
                #endif
        EditorGUILayout.EndHorizontal();

        if (_HeartRateMonitorScript.EnableSound)
        {
                        #if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0
            EditorGUILayout.BeginVertical(EditorStyles.miniButtonMid);
                        #else
            EditorGUILayout.BeginVertical();
                        #endif
            _HeartRateMonitorScript.SoundVolume   = EditorGUILayout.Slider("Sound Volume", _HeartRateMonitorScript.SoundVolume, 0f, 1f);
            _HeartRateMonitorScript.Heart1Sound   = (AudioClip)EditorGUILayout.ObjectField("Heart 1 Sound", _HeartRateMonitorScript.Heart1Sound, typeof(AudioClip), false);
            _HeartRateMonitorScript.Heart2Sound   = (AudioClip)EditorGUILayout.ObjectField("Heart 2 Sound", _HeartRateMonitorScript.Heart2Sound, typeof(AudioClip), false);
            _HeartRateMonitorScript.FlatlineSound = (AudioClip)EditorGUILayout.ObjectField("Flatline Sound", _HeartRateMonitorScript.FlatlineSound, typeof(AudioClip), false);
            EditorGUILayout.EndVertical();
        }
        #endregion

        #region MAIN CONTROLLER SETTINGS
        if (SWP_HeartRateMonitorEditor.ShowTitles)
        {
            EditorGUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
            EditorGUILayout.LabelField("Heart Rate/Beat Controls");
            EditorGUILayout.EndHorizontal();
        }

                #if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0
        EditorGUILayout.BeginVertical(EditorStyles.miniButtonMid);
                #else
        EditorGUILayout.BeginVertical();
                #endif

        _HeartRateMonitorScript.BeatsPerMinute = EditorGUILayout.IntSlider("Beats Per Minute", _HeartRateMonitorScript.BeatsPerMinute, 0, 240);

                #if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0
        _HeartRateMonitorScript.FlatLine = EditorGUILayout.ToggleLeft("Flatline", _HeartRateMonitorScript.FlatLine);
        EditorGUILayout.Separator();
        _HeartRateMonitorScript.ShowBlip = EditorGUILayout.ToggleLeft("Show Leading Blip", _HeartRateMonitorScript.ShowBlip);
                #else
        _HeartRateMonitorScript.FlatLine = EditorGUILayout.Toggle("Flatline", _HeartRateMonitorScript.FlatLine);
        EditorGUILayout.Separator();
        _HeartRateMonitorScript.ShowBlip = EditorGUILayout.Toggle("Show Leading Blip", _HeartRateMonitorScript.ShowBlip);
                #endif

        _HeartRateMonitorScript.Blip               = (GameObject)EditorGUILayout.ObjectField("Blip Prefab", _HeartRateMonitorScript.Blip, typeof(GameObject), false);
        _HeartRateMonitorScript.BlipSize           = EditorGUILayout.Slider("Blip Size", _HeartRateMonitorScript.BlipSize, 0.1f, 10f);
        _HeartRateMonitorScript.BlipTrailStartSize = EditorGUILayout.Slider("Blip Trail Start Size", _HeartRateMonitorScript.BlipTrailStartSize, 0.1f, 10f);
        _HeartRateMonitorScript.BlipTrailEndSize   = EditorGUILayout.Slider("Blip Trail End Size", _HeartRateMonitorScript.BlipTrailEndSize, 0f, 10f);
        EditorGUILayout.Separator();
        _HeartRateMonitorScript.BlipMonitorWidth          = EditorGUILayout.FloatField("Blip Width", _HeartRateMonitorScript.BlipMonitorWidth);
        _HeartRateMonitorScript.BlipMonitorHeightModifier = EditorGUILayout.FloatField("Blip Height Modifier", _HeartRateMonitorScript.BlipMonitorHeightModifier);

        _HeartRateMonitorScript.MainMaterial = (Material)EditorGUILayout.ObjectField("Main Material", _HeartRateMonitorScript.MainMaterial, typeof(Material), false);

        EditorGUILayout.EndVertical();
        #endregion

        #region VISUAL CONTROLS
        if (SWP_HeartRateMonitorEditor.ShowTitles)
        {
            EditorGUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
            EditorGUILayout.LabelField("Visual Controls");
            EditorGUILayout.EndHorizontal();
        }

                #if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0
        EditorGUILayout.BeginVertical(EditorStyles.miniButtonMid);
                #else
        EditorGUILayout.BeginVertical();
                #endif

        _HeartRateMonitorScript.NormalColour   = EditorGUILayout.ColorField("Normal Colour", _HeartRateMonitorScript.NormalColour);
        _HeartRateMonitorScript.MediumColour   = EditorGUILayout.ColorField("Medium Colour", _HeartRateMonitorScript.MediumColour);
        _HeartRateMonitorScript.BadColour      = EditorGUILayout.ColorField("Bad Colour", _HeartRateMonitorScript.BadColour);
        _HeartRateMonitorScript.FlatlineColour = EditorGUILayout.ColorField("Flatline Colour", _HeartRateMonitorScript.FlatlineColour);

        EditorGUILayout.EndVertical();
        #endregion

        #region DEBUG SECTION CONTROLS
        if (SWP_HeartRateMonitorEditor.ShowQuickDebugControls)
        {
            if (SWP_HeartRateMonitorEditor.ShowTitles)
            {
                EditorGUILayout.BeginHorizontal(EditorStyles.objectFieldThumb);
                EditorGUILayout.LabelField("Quick Debug Controls (" + (_HeartRateMonitorScript.FlatLine ? "FLATLINE" : (_HeartRateMonitorScript.BeatsPerMinute + "BPM")) + ")");
                EditorGUILayout.EndHorizontal();
            }

                        #if UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_5_0
            EditorGUILayout.BeginVertical(EditorStyles.miniButtonMid);
                        #else
            EditorGUILayout.BeginVertical();
                        #endif
            EditorGUILayout.BeginHorizontal();

            if (GUILayout.Button("Normal") && Application.isPlaying)
            {
                _HeartRateMonitorScript.FlatLine = false;
            }

            if (GUILayout.Button("Flatline") && Application.isPlaying)
            {
                _HeartRateMonitorScript.FlatLine = true;
            }

            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();

            if (GUILayout.Button("-10 BPM") && Application.isPlaying)
            {
                _HeartRateMonitorScript.BeatsPerMinute -= 10;
            }

            if (GUILayout.Button("+10 BPM") && Application.isPlaying)
            {
                _HeartRateMonitorScript.BeatsPerMinute += 10;
            }

            EditorGUILayout.EndHorizontal();

            EditorGUILayout.BeginHorizontal();

            EditorGUILayout.LabelField("Test Colours:", GUILayout.MaxWidth(90));

            if (GUILayout.Button("Normal") && Application.isPlaying)
            {
                _HeartRateMonitorScript.SetHeartRateColour(_HeartRateMonitorScript.NormalColour);
            }

            if (GUILayout.Button("Medium") && Application.isPlaying)
            {
                _HeartRateMonitorScript.SetHeartRateColour(_HeartRateMonitorScript.MediumColour);
            }

            if (GUILayout.Button("Bad") && Application.isPlaying)
            {
                _HeartRateMonitorScript.SetHeartRateColour(_HeartRateMonitorScript.BadColour);
            }

            if (GUILayout.Button("Flatline") && Application.isPlaying)
            {
                _HeartRateMonitorScript.SetHeartRateColour(_HeartRateMonitorScript.FlatlineColour);
            }

            EditorGUILayout.EndHorizontal();

            EditorGUILayout.EndVertical();
        }
        #endregion

        if (GUI.changed)
        {
            EditorUtility.SetDirty(_HeartRateMonitorScript);
        }

        this.Repaint();
    }
Ejemplo n.º 3
0
    void Update()
    {
        SWP_HeartRateMonitor _HeartRateMonitorScript = (SWP_HeartRateMonitor)target;

        _HeartRateMonitorScript.BeatsPerMinute = _HeartRateMonitorScript.heartrate;
    }