public static RemoveListener ( string eventType, Action, handler ) : void | ||
eventType | string | |
handler | Action, | |
Результат | void |
void OnDisable() { Messenger <PlayerControl> .RemoveListener("SetPlayer", SetPlayer); }
public override void OnDisable() { base.OnDisable(); Messenger <string> .RemoveListener(ButtonEvents.EVENT_BUTTON_CLICK, OnButtonClickEventHandler); }
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; } }
private void OnDestroy() { Messenger <float> .RemoveListener(GameEvent.SPEED_CHANGED, OnSpeedChanged); }
public void OnDisable() { Messenger.RemoveListener(MessageDefines.OnClickNextLevelButton, NextLevel); }
void OnDestroy() { Messenger.RemoveListener(GameEvent.ENEMY_HIT, OnEnermyHit); }
//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()); } }