示例#1
0
 // Update is called once per frame
 void Update()
 {
     if (Dialoguer.GetGlobalBoolean(3) == true)
     {
         g.SetActive(true);
     }
 }
    private bool gotThem()
    {
        //Check the journal inventory for these things
        for (int i = 0; i < getTheseToProceed.Length; i++)
        {
            GameObject current = getTheseToProceed[i];

            if (!journal.Instance.isItemInInventory(current))
            {
                return(false);
            }
        }

        for (int i = 0; i < getTheseGlobalBools.Length; i++)
        {
            bool current = Dialoguer.GetGlobalBoolean(getTheseGlobalBools[i]);

            if (!current)
            {
                return(false);
            }
        }

        return(true);
    }
示例#3
0
 // Update is called once per frame
 void Update()
 {
     if (Dialoguer.GetGlobalBoolean(14) == true)
     {
         bigSword.SetActive(true);
     }
 }    //end of update
示例#4
0
 // Update is called once per frame
 void Update()
 {
     if (Dialoguer.GetGlobalBoolean(9) == true)
     {
         Application.LoadLevel("Facility1-1");
     }
 }
示例#5
0
 // Update is called once per frame
 void Update()
 {
     //This should turn the boss object on after the dialogue is complete.
     if (Dialoguer.GetGlobalBoolean(11) == true)
     {
         BoozyBot.SetActive(true);
         DramCam.SetActive(true);
     }
 }
示例#6
0
 void checkFix()
 {
     if (Dialoguer.GetGlobalBoolean(1))// && _GDM.sceneData[2][6, 1] == 0
     {
         clear2Door();
         _DM.tipContent = "已帮你打开2楼的门,修正错误,非常抱歉!";
         _DM.tipTime    = 6;
     }
 }
示例#7
0
    // Update is called once per frame
    void Update()
    {
        if (Dialoguer.GetGlobalBoolean(10) == true)
        {
            Montegue.SetActive(true);
        }

        if (Dialoguer.GetGlobalBoolean(12) == true)
        {
            ExitDoor.SetActive(true);
        }
    }
示例#8
0
 void LateUpdate()
 {
     //Check for the conditions to show the GameObject
     if (Dialoguer.GetGlobalBoolean(booleanNum) == true)
     {
         showObject.SetActive(true);
     }
     else if (Dialoguer.GetGlobalBoolean(booleanNum) == false)
     {
         showObject.SetActive(false);
     }
 }
示例#9
0
 // Update is called once per frame
 void Update()
 {
     if (Dialoguer.GetGlobalBoolean(13) == true)
     {
         sp.sprite            = busterBleaton;
         transform.localScale = new Vector3(6, 6, 1);
         if (!ps.isPlaying)
         {
             ps.Play();
         }
     }
 }    //end of update
示例#10
0
 // Update is called once per frame
 void Update()
 {
     drone.SetBool("DeactivatedDrone", Dialoguer.GetGlobalBoolean(4));
     if (Dialoguer.GetGlobalBoolean(3))
     {
         Destroy(cellDoor);
     }
     jane.SetBool("moveJane", Dialoguer.GetGlobalBoolean(5));
     if (GameManager.dialogueJustFinished)
     {
         player.talking = false;
     }
 }
    // Update is called once per frame
    void Update()
    {
        float oldX = (float)getPosition;
        float newX = 40.0f;

        if (Dialoguer.GetGlobalBoolean(getBoolID) == getBoolCondition)
        {
            transform.position = new Vector3(oldX, transform.position.y);
        }
        else
        {
            transform.position = new Vector3(newX, transform.position.y);
        }
    }
示例#12
0
        public void SaveGame()
        {
            using (ES2Writer writer = ES2Writer.Create("player"))
            {
                writer.Write(PlayerInfo.Instance.Data.Level, "dengji");
                writer.Write(PlayerInfo.Instance.Data.Gold, "jinbi");
                writer.Write(PlayerInfo.Instance.Data.Experience, "jingyan");
                writer.Write(PlayerInfo.Instance.Data.Life, "shengming");
                writer.Write(PlayerInfo.Instance.Data.Attack, "gongji");
                writer.Write(PlayerInfo.Instance.Data.Defence, "fangyu");
                writer.Write(PlayerInfo.Instance.Data.KeyYellow, "key_yellow");
                writer.Write(PlayerInfo.Instance.Data.KeyBlue, "key_blue");
                writer.Write(PlayerInfo.Instance.Data.KeyRed, "key_red");
                writer.Write(PlayerInfo.Instance.Data.HandBook, "daoju_tujian");
                writer.Write(PlayerInfo.Instance.Data.Fly, "daoju_feixing");
                writer.Write(GM.MaxFloor.Value, "maxFloor");
                writer.Write(Dialoguer.GetGlobalBoolean(0), "hasJinglingTalked");
                writer.Write(Dialoguer.GetGlobalBoolean(1), "hasDaozeiTalked");
                writer.Write(Dialoguer.GetGlobalBoolean(2), "hasGoodJian");
                writer.Write(Dialoguer.GetGlobalBoolean(3), "hasGoodDun");
                writer.Write(Dialoguer.GetGlobalBoolean(4), "hasGangJian");
                writer.Write(Dialoguer.GetGlobalBoolean(5), "hasGangDun");
                writer.Save();
            }
#if UNITY_WP8
            for (int i = 0; i < GM.MaxFloor + 1; i++)
            {
                using (ES2Writer writer = ES2Writer.Create("floor" + i))
                {
                    for (int x = 0; x < 11; x++)
                    {
                        for (int y = 0; y < 11; y++)
                        {
                            writer.Write(sceneData[i][x, y], x + "v" + y);
                        }
                    }
                    writer.Save();
                }
            }
#else
            for (int i = 0; i < GM.MaxFloor.Value + 1; i++)
            {
                ES2.Save(sceneData[i], "floor" + i);
            }
#endif
            DM.state      = "";
            DM.tipContent = "保存成功";
            DM.tipTime    = 3;
        }
示例#13
0
    bool checkCondis()
    {
        bool fulfilled = true;

        for (int i = 0; i < conditions.Length; i++)
        {
            Debug.LogWarning(conditions[i] + ": " + Dialoguer.GetGlobalBoolean(i));
            if (!Dialoguer.GetGlobalBoolean(conditions[i]))
            {
                fulfilled = false;
            }
            Debug.LogWarning(fulfilled);
        }
        return(fulfilled);
    }
示例#14
0
    //this section is to keep track of when certain dialogues end
    private void Events_onEnded()
    {
        Debug.Log("Dialogue ended!");
        //if (g.activeInHierarchy && !(MaskDialogue.activeInHierarchy))
        //{
        //    MaskTrigger.SetActive(true);
        //}
        //throw new System.NotImplementedException();
        if (Dialoguer.GetGlobalBoolean(6) == true && Dialoguer.GetGlobalBoolean(2) == false)
        {
            //this is where we'll play the sound effect and have the little cutscene for Barrister turning into Boozy
            //aus.PlayOneShot(transformSound);
            //ps.Play();
            //StartCoroutine(Delay(2f));

            Debug.Log("Eagle Dialogue is active in Hierarchy");

            eaglePlaceholder.SetActive(false);
            eagleBoss.SetActive(true);
        }
        else if (Dialoguer.GetGlobalBoolean(7) == true)
        {
            //this is where we'll play the sound effect and have the little cutscene for Barrister turning into Boozy
            //aus.PlayOneShot(transformSound);
            //ps.Play();
            //StartCoroutine(Delay(2f));

            Debug.Log("Computer Dialogue is active in Hierarchy");

            Application.LoadLevel("Internet1-1");//this is where we will load the first Internet level
        }
        else if (Dialoguer.GetGlobalBoolean(8) == true)
        {
            //this is where we'll play the sound effect and have the little cutscene for Barrister turning into Boozy
            //aus.PlayOneShot(transformSound);
            //ps.Play();
            //StartCoroutine(Delay(2f));

            //Debug.Log("Computer Dialogue is active in Hierarchy");

            lewdPlaceholder.SetActive(false);
            lewdBoss.SetActive(true);
        }
    }
示例#15
0
    public void startDialogue()
    {
        var temp = gameObject.GetComponent <victoryCondition> ();

        if (temp != null)
        {
            //temp.curDia -= 1;

            Debug.Log(Dialoguer.GetGlobalBoolean(1));
        }
        Dialoguer.StartDialogue((int)myConvo);
        player.stopMove();
        GameManager.Instance.updateMouseIcon(mouseOverIcon);
        clickedOnSomething = false;
        player.talking     = true;

        DialogueGUI_Test dGUI = GameManager.Instance.GetComponent <DialogueGUI_Test>();

        //Debug.Log ("LEFT SPRITE: " + this.elementName);
        dGUI.setLeftSpriteName((this.elementName + "Sprite").Replace(" ", string.Empty));
    }
示例#16
0
    void Update()
    {
        //logic to add time to the idle timer
        idleTimer += Time.deltaTime;
        //Debug.Log("IdleTimer time: " + idleTimer);

        var moveH = new Vector3(Input.GetAxis("Horizontal"), 0, 0);
        var moveV = new Vector3(0, Input.GetAxis("Vertical"), 0);

        transform.position += moveH * walkSpeed * Time.deltaTime;

        Vector3 v = rigidbody.velocity;


        if (Input.GetAxis("Horizontal") < -0.1f && !isDialog)
        {
            transform.localScale = new Vector3(-5, 5, 1);
            anim.Play("BoozyWalk");
            idleTimer = 0.0f;
        }

        if (Input.GetAxis("Horizontal") > 0.1f && !isDialog)
        {
            transform.localScale = new Vector3(5, 5, 1);
            anim.Play("BoozyWalk");
            idleTimer = 0.0f;
        }

        if (Input.GetAxis("Horizontal") == 0.0f && !anim.IsPlaying("BoozyAttack") && !anim.IsPlaying("BoozyIdle"))
        {
            anim.Play("BoozyStandStill");
        }



        if (idleTimer > 5.0f)
        {
            if (!anim.IsPlaying("BoozyIdle"))
            {
                Debug.Log("The animation should be playing!");
                anim.Play("BoozyIdle");
            }
        }

        //isGrounded();

        //if (Input.GetKey("a") || Input.GetKey("left"))
        //{
        //    if (rigidbody.velocity.x > 0)
        //    {
        //        v.x = 0;
        //        rigidbody.velocity = v;
        //    }
        //    if (rigidbody.velocity.x > -walkSpeed)
        //    {
        //        v.x -= 48 * Time.deltaTime;
        //        rigidbody.velocity = v;
        //    }
        //}
        ////if the player pressed D, add velocity to move right.
        //if (Input.GetKey("d") || Input.GetKey("right"))
        //{
        //    if (rigidbody.velocity.x < 0)
        //    {
        //        v.x = 0;
        //        rigidbody.velocity = v;
        //    }
        //    if (rigidbody.velocity.x < walkSpeed)
        //    {
        //        v.x += 48 * Time.deltaTime;
        //        rigidbody.velocity = v;
        //    }
        //}


        if (Input.GetButtonUp("Jump") && grounded == true && Dialoguer.GetGlobalBoolean(2) == false)
        {
            var jumpVector = new Vector3(0, jumpHeight, 0);
            audios.PlayOneShot(jumpSound);
            v.y = jumpHeight;
            rigidbody.velocity = v;
        }
        else if (Input.GetButtonUp("Jump") && Dialoguer.GetGlobalBoolean(2) == true)
        {
            if (grounded == true)
            {
                var jumpVector = new Vector3(0, jumpHeight, 0);
                audios.PlayOneShot(jumpSound);
                v.y = jumpHeight;
                rigidbody.velocity = v;
                jumpCounter       += 1;
            }
            else if (jumpCounter <= 0)
            {
                var jumpVector = new Vector3(0, jumpHeight, 0);
                audios.PlayOneShot(jumpSound);
                v.y = jumpHeight;
                rigidbody.velocity = v;
                jumpCounter       += 1;
            }
        }

        //if (Input.GetKeyUp(KeyCode.Space) && grounded == true)
        //{
        //    var jumpVector = new Vector3(0, jumpHeight, 0);


        //    v.y = jumpHeight;
        //    rigidbody.velocity = v;

        //    //rigidbody.velocity = jumpVector;
        //}

        if (grounded == false)
        {
            anim.Play("BoozyJump");
        }


        if (Input.GetButtonUp("BoozeGoggles"))
        {
            ToggleBoozeVision();
        }

        //This is the section for the camoflague power-up
        if (Input.GetButtonUp("Camo") && !camoflaged && camoflageReady) //&& Dialoguer.GetGlobalBoolean(3) == true (need this for later, only taken out for testing)
        {
            Camoflage();
        }


        if (camoflaged)
        {
            camoText.SetActive(false);

            //Create variables to change color of player sprite
            tk2dSprite sprite;
            sprite = this.GetComponent <tk2dSprite>();
            Color color = sprite.color;



            if (color.a >= 1.0f)
            {
                camoflaged     = false;
                camoflageReady = false;
                camoOn         = false;
                Debug.Log("Set Camoflaged to false");
            }
            else
            {
                color.a     += 0.001f;
                sprite.color = color;
            }
        }

        if (!camoflageReady)
        {
            camoflageTimer += Time.deltaTime;
            Debug.Log("The value of Camoflage timer is " + camoflageTimer);

            if (camoflageTimer >= 20.0f)
            {
                camoflageReady = true;
                camoText.SetActive(true);
                Debug.Log("Camoflage is ready!");
                camoflageTimer = 0.0f;
            }
        }


        if (Application.loadedLevelName == "LewdFoxBoss")
        {
            if (Dialoguer.GetGlobalBoolean(3) == false)
            {
                DialogueTriggerAfterFight.SetActive(false);
                DialogueTriggerRealization.SetActive(false);
            }
            else if (Dialoguer.GetGlobalBoolean(3) == true)
            {
                DialogueTriggerAfterFight.SetActive(true);
                DialogueTriggerRealization.SetActive(true);
                camoText.SetActive(true);
            }
        }



        //used for visual feedback to the player on the state of the chainsaw snake
        //if (camoOn == true)
        //{
        //    Debug.Log("particles should be playing");
        //    chainsawParticles.Play();
        //}
        //else if(camoOn == false)
        //{
        //    chainsawParticles.Pause();
        //    chainsawParticles.Stop();
        //}


        //Vector3 velocity = rigidbody.velocity;
        //////Keyboard Controls for web versions (Same as Standalone because they both deal with keyboard)
        //////This checks to see if the player is pressing A or D. This is connected to the else{} statement below
        //if (Input.GetKey("a") || Input.GetKey("d") || Input.GetKey("left") || Input.GetKey("right"))
        //{
        //    //If the player presses A, add velocity to move left.
        //    if (Input.GetKey("a") || Input.GetKey("left"))
        //    {
        //        Debug.Log(rigidbody.velocity.x);
        //        if (rigidbody.velocity.x > 0)
        //        {
        //            velocity.x = 0;
        //        }
        //        if (rigidbody.velocity.x > -walkSpeed)
        //        {
        //            velocity.x -= 48 * Time.deltaTime;
        //        }
        //    }
        //    //if the player pressed D, add velocity to move right.
        //    if (Input.GetKey("d") || Input.GetKey("right"))
        //    {
        //        if (rigidbody.velocity.x < 0)
        //        {
        //            velocity.x = 0;
        //        }
        //        if (rigidbody.velocity.x < walkSpeed)
        //        {
        //            velocity.x += 48 * Time.deltaTime;
        //        }
        //    }

        //}
        //else
        //{
        //    //use else to do the opposite of an if() statement. this stops the player if lets go of A or D
        //    velocity.x = 0.0f;
        //}
    }//end of Update
示例#17
0
        private static string substituteStringVariable(string input, VariableEditorScopes scope, VariableEditorTypes type, int dialogueId)
        {
            string output = string.Empty;

            string[] subStartString = new string[] { "<" + scopeStrings[scope] + typeStrings[type] + ">" };
            string[] subEndString   = new string[] { "</" + scopeStrings[scope] + typeStrings[type] + ">" };


            //char[] subStartChars = new char[4]{'<',scopeStrings[scope],typeStrings[type],'>'};
            //char[] subEndChars = new char[5]{'<','/',scopeStrings[scope],typeStrings[type],'>'};

            //Debug.Log ("[DialoguerUtils] startString: "+string.Join("",subStartString)+" - endString: "+string.Join("",subEndString));

            string[] pieces = input.Split(subStartString, StringSplitOptions.None);

            //Debug.Log ("[DialoguerUtils] pieces count: "+pieces.Length+" - (should be 2)");

            for (int i = 0; i < pieces.Length; i += 1)
            {
                string[] subPieces = pieces[i].Split(subEndString, StringSplitOptions.None);

                //Debug.Log("[DialoguerUtils] subPieces[0] = "+subPieces[0]);

                int  variableId;
                bool success = int.TryParse(subPieces[0], out variableId);
                if (success)
                {
                    switch (scope)
                    {
                    case VariableEditorScopes.Global:
                        switch (type)
                        {
                        case VariableEditorTypes.Boolean:
                            subPieces[0] = Dialoguer.GetGlobalBoolean(variableId).ToString();
                            break;

                        case VariableEditorTypes.Float:
                            subPieces[0] = Dialoguer.GetGlobalFloat(variableId).ToString();
                            break;

                        case VariableEditorTypes.String:
                            subPieces[0] = Dialoguer.GetGlobalString(variableId);
                            break;
                        }
                        break;

                    case VariableEditorScopes.Local:
                        Debug.Log("Local Variable string substitutions not yet supported");
                        switch (type)
                        {
                        case VariableEditorTypes.Boolean:

                            break;

                        case VariableEditorTypes.Float:

                            break;

                        case VariableEditorTypes.String:

                            break;
                        }
                        break;
                    }
                }
                else
                {
                    //subPieces[0] = "_invalid_variable_id_";
                }

                output += string.Join("", subPieces);
            }

            return(output);
        }
示例#18
0
    // Update is called once per frame
    void Update()
    {
        if (!_dialogue || !_showDialogueBox)
        {
            setScaleZero();
            return;
        }

        // Set position of conversation bubble
        if (convoBubble != null)
        {
            uiroot = GameObject.Find("UI Root").GetComponent <UIRoot>();

            if (uiroot != null)
            {
                Transform convo = uiroot.transform.Find("Conversation Bubble");
                uiroot.scalingStyle        = UIRoot.Scaling.FixedSize;
                uiroot.manualHeight        = 600;
                convo.transform.localScale = new Vector3(0.6f, 0.6f, 1f);

                // For determining whether convo displays top or bottom of screen
                if (runOnce == false)
                {
                    genericSceneObj = FindObjectsOfType(typeof(genericScene)) as genericScene[];
                }
                Vector3 top          = new Vector3(0f, 100f, 1f);
                Vector3 bottom       = new Vector3(0f, -800f, 1f);
                Vector3 centertop    = new Vector3(-200f, -100f, 1f);
                Vector3 centerbottom = new Vector3(-200f, -800f, 1f);

                if (genericSceneObj != null && genericSceneObj.Length >= 1)
                {
                    foreach (genericScene scene in genericSceneObj)
                    {
                        string sprName = convo.GetComponent <UISprite>().spriteName;
                        // If want to place on top of screen, else...
                        if (scene.getPlaceTop())
                        {
                            if (sprName == "conversation-template-new")
                            {
                                convo.transform.localPosition = Vector3.Lerp(convo.transform.localPosition, top, Time.deltaTime * 8f);
                            }
                            else if (sprName == "regulartext")
                            {
                                convo.transform.localPosition = Vector3.Lerp(convo.transform.localPosition, centertop, Time.deltaTime * 8f);
                            }
                        }
                        else
                        {
                            if (sprName == "conversation-template-new")
                            {
                                convo.transform.localPosition = Vector3.Lerp(convo.transform.localPosition, bottom, Time.deltaTime * 8f);
                            }
                            else if (sprName == "regulartext")
                            {
                                convo.transform.localPosition = Vector3.Lerp(convo.transform.localPosition, centerbottom, Time.deltaTime * 8f);
                            }
                        }

                        Color col = convo.GetComponent <UIWidget>().color;
                        col.a = Mathf.Lerp(col.a, 1f, Time.deltaTime * 4f);
                        convo.GetComponent <UIWidget>().color = col;

                        // Used for switching between conversation template backgrounds
                        // For text where there is no character speaking,
                        // display a different background
                        // HARD CODE LOLOL
                        Transform convoText = convo.Find("Conversation Text");
                        if ((Application.loadedLevelName == "chapter1intronarration" ||
                             Application.loadedLevelName == "chapter1introfinbalcony") &&
                            _nameText == "")
                        {
                            convo.GetComponent <UISprite>().spriteName = "regulartext";
                            convo.GetComponent <UIWidget>().width      = 8000;
                            convoText.GetComponent <UIWidget>().pivot  = UIWidget.Pivot.Top;
                            convo.GetComponent <UISprite>().MarkAsChanged();
                        }
                        else
                        {
                            convo.GetComponent <UISprite>().spriteName = "conversation-template-new";
                            convo.GetComponent <UIWidget>().width      = 4618;
                            convoText.GetComponent <UIWidget>().pivot  = UIWidget.Pivot.TopLeft;
                            convo.GetComponent <UISprite>().MarkAsChanged();
                        }
                    }
                    runOnce = true;
                }
                else
                {
                    // If there is no generic scene in the scene
                    convo.transform.localPosition = Vector3.Lerp(convo.transform.localPosition, bottom, Time.deltaTime * 8f);

                    Color col = convo.GetComponent <UIWidget>().color;
                    col.a = Mathf.Lerp(col.a, 1f, Time.deltaTime * 4f);
                    convo.GetComponent <UIWidget>().color = col;
                }


                if (_nameText == "")
                {
                    runOnce = false;
                }

                convo.GetComponent <UISprite> ().enabled = true;
            }
        }

        // Setup
        if (!GameObject.Find("Conversation Bubble"))
        {
            setup();
            leftChar  = GameObject.Find("LeftCharacter").GetComponent <UISprite>();
            nameLabel = GameObject.Find("Name").GetComponent <UILabel>();
        }

        // Mouse click interval delay
        time += Time.deltaTime;

        // Branched Text
        if (_isBranchedText && _windowCurrentText == _windowTargetText && _branchedTextChoices != null)
        {
            enableColliders();
            repopulateChoices();
            label.text = "";                    // Clear conversation text field
            if (_metadata == "")
            {
                for (int i = 0; i < _branchedTextChoices.Length; ++i)
                {
                    choices[i].text = "- " + _branchedTextChoices[i];
                }
            }
            else
            {
                /// For parsing metadata
                List <int> mylist  = new List <int>();
                List <int> newlist = new List <int>();
                for (int i = 1; i <= _branchedTextChoices.Length; ++i)
                {
                    mylist.Add(i);
                    newlist.Add(i);
                }
                List <int> metalist = new List <int>();
                List <int> varlist  = new List <int>();
                foreach (string[] ele in _parsedmetadata)
                {
                    metalist.Add(int.Parse(ele[0].Trim(',')));
                    varlist.Add(int.Parse(ele[2].Trim(',')));
                }
                foreach (int i in mylist)
                {
                    foreach (int j in metalist)
                    {
                        if (i == j)
                        {
                            newlist.Remove(i);
                        }
                    }
                }
                foreach (int i in newlist)
                {
                    choices[i - 1].text = "- " + _branchedTextChoices[i - 1];
                    enableCollider(choices[i - 1]);
                }
                int itor = 0;
                foreach (int i in metalist)
                {
                    if (Dialoguer.GetGlobalBoolean(varlist[itor]))
                    {
                        choices[i - 1].text = "- " + _branchedTextChoices[i - 1];
                        enableCollider(choices[i - 1]);
                    }
                    else
                    {
                        choices[i - 1].text = "";
                        disableCollider(choices[i - 1]);
                    }
                    ++itor;
                }
            }
        }
        // Regular text
        else
        {
            clearBranchedText();
            label.text = _windowTargetText;
        }

        // Regular text progression
        if (!_isBranchedText)
        {
            disableColliders();
            if (Input.GetMouseButtonUp(0) && time > delay)
            {
                time = 0;
                Dialoguer.ContinueDialogue(0);
            }
        }

        updatePortraits();

        # region test things
        if (Input.GetKeyUp(KeyCode.F))
        protected override void onStart()
        {
            bool success = false;

            switch (type)
            {
            case VariableEditorTypes.Boolean:
                success = bool.TryParse(setValue, out _setBool);
                switch (equation)
                {
                case VariableEditorSetEquation.Equals:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.booleans[variableId] = _setBool;
                    }
                    else
                    {
                        Dialoguer.SetGlobalBoolean(variableId, _setBool);
                    }
                    break;

                case VariableEditorSetEquation.Toggle:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.booleans[variableId] = !_localVariables.booleans[variableId];
                    }
                    else
                    {
                        Dialoguer.SetGlobalBoolean(variableId, !Dialoguer.GetGlobalBoolean(variableId));
                    }
                    success = true;
                    break;
                }
                break;

            case VariableEditorTypes.Float:
                success = float.TryParse(setValue, out _setFloat);
                switch (equation)
                {
                case VariableEditorSetEquation.Equals:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.floats[variableId] = _setFloat;
                    }
                    else
                    {
                        Dialoguer.SetGlobalFloat(variableId, _setFloat);
                    }
                    break;

                case VariableEditorSetEquation.Add:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.floats[variableId] += _setFloat;
                    }
                    else
                    {
                        Dialoguer.SetGlobalFloat(variableId, Dialoguer.GetGlobalFloat(variableId) + _setFloat);
                    }
                    break;

                case VariableEditorSetEquation.Subtract:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.floats[variableId] -= _setFloat;
                    }
                    else
                    {
                        Dialoguer.SetGlobalFloat(variableId, Dialoguer.GetGlobalFloat(variableId) - _setFloat);
                    }
                    break;

                case VariableEditorSetEquation.Multiply:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.floats[variableId] *= _setFloat;
                    }
                    else
                    {
                        Dialoguer.SetGlobalFloat(variableId, Dialoguer.GetGlobalFloat(variableId) * _setFloat);
                    }
                    break;

                case VariableEditorSetEquation.Divide:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.floats[variableId] /= _setFloat;
                    }
                    else
                    {
                        Dialoguer.SetGlobalFloat(variableId, Dialoguer.GetGlobalFloat(variableId) / _setFloat);
                    }
                    break;
                }
                break;

            case VariableEditorTypes.String:
                success    = true;
                _setString = setValue;
                switch (equation)
                {
                case VariableEditorSetEquation.Equals:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.strings[variableId] = _setString;
                    }
                    else
                    {
                        Dialoguer.SetGlobalString(variableId, _setString);
                    }
                    break;

                case VariableEditorSetEquation.Add:
                    if (scope == VariableEditorScopes.Local)
                    {
                        _localVariables.strings[variableId] += _setString;
                    }
                    else
                    {
                        Dialoguer.SetGlobalString(variableId, Dialoguer.GetGlobalString(variableId) + _setString);
                    }
                    break;
                }
                break;
            }

            if (!success)
            {
                Debug.LogWarning("[SetVariablePhase] Could not parse setValue");
            }

            Continue(0);
            state = PhaseState.Complete;
        }
        protected override void onStart()
        {
            bool success = true;

            switch (type)
            {
            case VariableEditorTypes.Boolean:
                success = bool.TryParse(getValue, out _parsedBool);
                if (!success)
                {
                    Debug.LogError("[ConditionalPhase] Could Not Parse Bool: " + getValue);
                }
                if (scope == VariableEditorScopes.Local)
                {
                    _checkBool = _localVariables.booleans[variableId];
                }
                else
                {
                    _checkBool = Dialoguer.GetGlobalBoolean(variableId);
                }
                break;

            case VariableEditorTypes.Float:
                success = float.TryParse(getValue, out _parsedFloat);
                if (!success)
                {
                    Debug.LogError("[ConditionalPhase] Could Not Parse Float: " + getValue);
                }
                if (scope == VariableEditorScopes.Local)
                {
                    _checkFloat = _localVariables.floats[variableId];
                }
                else
                {
                    _checkFloat = Dialoguer.GetGlobalFloat(variableId);
                }
                break;

            case VariableEditorTypes.String:
                _parsedString = getValue;
                if (scope == VariableEditorScopes.Local)
                {
                    _checkString = _localVariables.strings[variableId];
                }
                else
                {
                    _checkString = Dialoguer.GetGlobalString(variableId);
                }
                break;
            }

            bool isTrue = false;

            switch (type)
            {
            case VariableEditorTypes.Boolean:
                switch (equation)
                {
                case VariableEditorGetEquation.Equals:
                    if (_parsedBool == _checkBool)
                    {
                        isTrue = true;
                    }
                    break;

                case VariableEditorGetEquation.NotEquals:
                    if (_parsedBool != _checkBool)
                    {
                        isTrue = true;
                    }
                    break;
                }
                break;

            case VariableEditorTypes.Float:
                switch (equation)
                {
                case VariableEditorGetEquation.Equals:
                    if (_checkFloat == _parsedFloat)
                    {
                        isTrue = true;
                    }
                    break;

                case VariableEditorGetEquation.NotEquals:
                    if (_checkFloat != _parsedFloat)
                    {
                        isTrue = true;
                    }
                    break;

                case VariableEditorGetEquation.EqualOrGreaterThan:
                    if (_checkFloat >= _parsedFloat)
                    {
                        isTrue = true;
                    }
                    break;

                case VariableEditorGetEquation.EqualOrLessThan:
                    if (_checkFloat <= _parsedFloat)
                    {
                        isTrue = true;
                    }
                    break;

                case VariableEditorGetEquation.GreaterThan:
                    if (_checkFloat > _parsedFloat)
                    {
                        isTrue = true;
                    }
                    //Debug.Log ("[ConditionalPhase] " +_checkFloat+" > "+_parsedFloat+" = "+isTrue);
                    break;

                case VariableEditorGetEquation.LessThan:
                    if (_checkFloat < _parsedFloat)
                    {
                        isTrue = true;
                    }
                    break;
                }
                break;

            case VariableEditorTypes.String:
                switch (equation)
                {
                case VariableEditorGetEquation.Equals:
                    if (_parsedString == _checkString)
                    {
                        isTrue = true;
                    }
                    break;

                case VariableEditorGetEquation.NotEquals:
                    if (_parsedString != _checkString)
                    {
                        isTrue = true;
                    }
                    break;
                }
                break;
            }

            if (isTrue)
            {
                //Debug.Log ("[ConditionalPhase] Continue 0");
                Continue(0);
            }
            else
            {
                //Debug.Log ("[ConditionalPhase] Continue 1");
                Continue(1);
            }

            state = PhaseState.Complete;
        }