RemoveListener() public static method

public static RemoveListener ( string eventType, Action, handler ) : void
eventType string
handler Action,
return void
示例#1
0
文件: Trigger.cs 项目: Dziek/FeFoFall
 void OnDisable()
 {
     Messenger <PlayerControl> .RemoveListener("SetPlayer", SetPlayer);
 }
    public override void OnDisable()
    {
        base.OnDisable();

        Messenger <string> .RemoveListener(ButtonEvents.EVENT_BUTTON_CLICK, OnButtonClickEventHandler);
    }
示例#3
0
 void OnDisable()
 {
     //Remove  Listeners
     Messenger.RemoveListener(gameObject, "SpawnEnemy", SpawnEnemy);
 }
    // Update is called once per frame
    void Update()
    {
        if (GameObject.FindGameObjectWithTag("creature1") != null)
        {
            creature1 = GameObject.FindGameObjectWithTag("creature1");
        }
        if (GameObject.FindGameObjectWithTag("creature2") != null)
        {
            creature2 = GameObject.FindGameObjectWithTag("creature2");
        }


        switch (myCharState)
        {
        case CharState.Idle:

            if (creature1 != null && creature2 != null)
            {
                if (Vector3.Distance(creature1.transform.position, transform.position) < pointingDistance &&
                    Vector3.Distance(creature2.transform.position, transform.position) < pointingDistance &&
                    creature1.GetComponent <CreatureController>().listening == true &&
                    creature2.GetComponent <CreatureController>().listening == true)
                {
                    Messenger.SendToListeners(new Message(gameObject, "manipulate_prop", ""));
                }
            }
            if (GameObject.FindGameObjectWithTag("creature1") != null)
            {
                if (Vector3.Distance(creature1.transform.position, transform.position) > pointingDistance && Vector3.Distance(creature1.transform.position, transform.position) < pointingDistance + 0.1f)
                {
                    if (pointingbool1 == true)
                    {
                        if (prevDistance1 > Vector3.Distance(creature1.transform.position, transform.position))
                        {
                            Messenger.SendToListeners(new Message(gameObject, "pointing_prop", "creature1"));
                            timer1        = 0;
                            pointingbool1 = false;
                        }
                    }
                }
                timer1 += Time.deltaTime;
                if (timer1 > 10)
                {
                    pointingbool1 = true;
                }
                prevDistance1 = Vector3.Distance(creature1.transform.position, transform.position);
            }

            if (GameObject.FindGameObjectWithTag("creature2") != null)
            {
                if (Vector3.Distance(creature2.transform.position, transform.position) > pointingDistance && Vector3.Distance(creature2.transform.position, transform.position) < pointingDistance + 0.1f)
                {
                    if (pointingbool2 == true)
                    {
                        if (prevDistance2 > Vector3.Distance(creature2.transform.position, transform.position))
                        {
                            Messenger.SendToListeners(new Message(gameObject, "pointing_prop", "creature2"));
                            timer2        = 0;
                            pointingbool2 = false;
                        }
                    }
                }
                timer2 += Time.deltaTime;
                if (timer2 > 10)
                {
                    pointingbool2 = true;
                }
                prevDistance2 = Vector3.Distance(creature2.transform.position, transform.position);
            }

            break;

        case CharState.Manipulated:

            if (timer == 0)
            {
                animator = GetComponent <Animator>();
                animator.SetTrigger("manipulated");

                string     path      = "Effects/PropManipulated";
                GameObject Particles = (GameObject)Resources.Load(path, typeof(GameObject));
                Particles.transform.position = new Vector3(transform.position.x, 0.6f, transform.position.z);
                GameObject NewCreatureAnimation = (GameObject)GameObject.Instantiate(Particles);

                string path_clip = "Props/" + gameObject.name.Replace("(Clone)", "") + "/" + gameObject.name.Replace("(Clone)", "");
                audio.clip = Resources.Load <AudioClip>(path_clip);
                audio.Play();
            }
            transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(new Vector3(0, 0, 0) - transform.position), 10 * Time.deltaTime);
            timer += Time.deltaTime;
            //if ( timer > animator.GetCurrentAnimatorStateInfo(0).length)
            if (timer > animator.GetCurrentAnimatorStateInfo(0).length || timer > 5)
            {
                Messenger.SendToListeners(new Message(gameObject, "prop_eliminated", gameObject.tag));
                Messenger.RemoveListener(PropManipulated);
                Destroy(gameObject);
                timer = 0;
            }

            break;
        }

        if (Input.GetKeyDown(KeyCode.Alpha1) && this.gameObject.tag == "prop1")
        {
            myCharState  = CharState.Manipulated;
            timer        = 0;
            countmessage = 0;
        }
        if (Input.GetKeyDown(KeyCode.Alpha2) && this.gameObject.tag == "prop2")
        {
            myCharState  = CharState.Manipulated;
            timer        = 0;
            countmessage = 0;
        }
        if (Input.GetKeyDown(KeyCode.Alpha3) && this.gameObject.tag == "prop3")
        {
            myCharState  = CharState.Manipulated;
            timer        = 0;
            countmessage = 0;
        }
        if (Input.GetKeyDown(KeyCode.Alpha4) && this.gameObject.tag == "prop4")
        {
            myCharState  = CharState.Manipulated;
            timer        = 0;
            countmessage = 0;
        }
    }
示例#5
0
 private void OnDestroy()
 {
     Messenger <float> .RemoveListener(GameEvent.SPEED_CHANGED, OnSpeedChanged);
 }
示例#6
0
 public void OnDisable()
 {
     Messenger.RemoveListener(MessageDefines.OnClickNextLevelButton, NextLevel);
 }
示例#7
0
 void OnDestroy()
 {
     Messenger.RemoveListener(GameEvent.ENEMY_HIT, OnEnermyHit);
 }
示例#8
0
    //NPC-SIDE QUEST-MANAGER INTERFACE PACKAGE:
    public void qPack_AI(string caller)
    {
        if (qStatus.onQuest == 0)
        {
            //SET TO ZERO AFTER COMPLETION
            qStatus.onQuest = 1;
        }
        if (caller == "qNPC_I")
        {
            Debug.Log("T");
            if (qStatus.onQuest == 1)
            {
                if (qStatus.qPhase [0] == 0)
                {
                    //Issue quest 1:
                    qStatus.onQuest = 2;
                    Messenger <int> .AddListener("contBtnRtrn", compileDecision);

                    StartCoroutine(firstStage(wasSuccessful => {
                        if (wasSuccessful != null)
                        {
                            Debug.Log("Returned to start");
                            success_stgI = wasSuccessful;
                            if (success_stgI)
                            {
                                Debug.Log("Quest1 Successfully Completed");
                                qStatus.onQuest = 0;
                            }
                            else
                            {
                                Debug.Log("Quest1 failed; Restarting level");
                                GOCanvas.GetComponent <GameOverUI>().promptRestart();
                            }
                            Messenger <int> .RemoveListener("contBtnRtrn", compileDecision);
                        }
                    }));
                }
            }
        }
        else if (caller == "qNPC_II")
        {
            if (qStatus.onQuest == 1)
            {
                if (/*qStatus.qPhase [0] == 2 &&*/ qStatus.qPhase [1] == 0)
                {
                    //Issue quest 2:
                    //ADD MOVEMENT SCRIPT PARAMETER TO HALT MOVEMENT UPON ENGAGEMENT OF QUEST
                    qStatus.onQuest = 2;
                    Messenger <int> .AddListener("contBtnRtrn", compileDecision);

                    Messenger <bool> .AddListener("LERtrn", LEGate);

                    StartCoroutine(secondStage(wasSuccessful => {
                        if (wasSuccessful != null)
                        {
                            Debug.Log("Returned to start");
                            success_stgII = wasSuccessful;
                            if (success_stgII)
                            {
                                Debug.Log("Quest2 Successfully Completed");
                                qStatus.onQuest = 0;
                            }
                            else
                            {
                                Debug.Log("Quest2 failed; prompting restart screen");
                                GOCanvas.GetComponent <GameOverUI>().promptRestart();
                            }
                            Messenger <int> .RemoveListener("contBtnRtrn", compileDecision);
                            Messenger <bool> .RemoveListener("LERtrn", LEGate);
                        }
                    }));
                }
            }
        }
        else if (caller == "qNPC_III")
        {
            if (qStatus.onQuest == 1)
            {
                if (/*qStatus.qPhase[1] == 2 &&*/ qStatus.qPhase [2] == 0)
                {
                    qStatus.onQuest = 2;
                    Messenger <int> .AddListener("contBtnRtrn", compileDecision);

                    StartCoroutine(thirdStage(wasSuccessful => {
                        if (wasSuccessful != null)
                        {
                            Debug.Log("Returned to start");

                            Messenger <bool, int> .Broadcast("MnPackAssignment", true, 0);
                            Messenger <bool, int> .Broadcast("(un)lockCellar", true, 1);
                        }
                    }));
                }
            }
        }
        else if (caller == "qNPC_IV")
        {
            if (qStatus.onQuest == 1)
            {
                if (/*qStatus.qPhase[2] == 2 &&*/ qStatus.qPhase [3] == 0)
                {
                    qStatus.onQuest = 2;

                    StartCoroutine(fourthStage(wasSuccessful => {
                        if (wasSuccessful != null)
                        {
                            Debug.Log("Returned to start");
                        }
                    }));
                }
            }
        }
        else if (caller == "qNPC_Tester")
        {
            Debug.Log("Engaged Test NPC, NPC Inactive");
            qStatus.onQuest = 2;
            Messenger <int> .AddListener("contBtnRtrn", compileDecision);

            //StartCoroutine (testerStage());
        }
    }