void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if (element != null) { // Remove the element List <GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) { this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>()); } elementList.Remove(element); // If the element exited a trigger // this means they are not in all of the triggers // so they exited the complex trigger // But they could of already exited a trigger so we don't want to double exit bool wasRemoved = triggerInstanceList.Remove(element); if (wasRemoved) { ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } }
void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if(element != null) { // Add elements List<GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>()); // Add it to the list only if it doesn't exist already // This is just a safety, as it should get removed before triggered again if(!elementList.Contains(element)) { elementList.Add(element); // Since this is a additive trigger // Any enter triggers a enter. // But we want to make sure to only send one enter if already in this additive trigger if(!triggerInstanceList.Contains(element)) { triggerInstanceList.Add(element); ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } } }
void TerritoryExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { Player player = e.gameObject.GetComponent <Player>(); if (player != null) { // Remove the element List <Player> playerList; if (!this.playersCapturing.TryGetValue(player.PlayerTeam, out playerList)) { this.playersCapturing.Add(player.PlayerTeam, playerList = new List <Player>()); } playerList.Remove(player); this.CheckIfPlayerIsCapturing(); // Something changed so maybe someone is capturing } // Fire our own event from this script TerritoryData tData = new TerritoryData(); tData.Progress = this.CaptureProgress; tData.Color = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary(); tData.LockedColor = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary(); tData.TempColor = new ColorData(this.tempCaptureState ? this.tempCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary(); this.OnTerritoryExited(this, new TerritoryActivityEventArgs(player, tData)); }
void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if (element != null) { // Add elements List <GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) { this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>()); } // Add it to the list only if it doesn't exist already // This is just a safety, as it should get removed before triggered again if (!elementList.Contains(element)) { elementList.Add(element); // Since this is a additive trigger // Any enter triggers a enter. // But we want to make sure to only send one enter if already in this additive trigger if (!triggerInstanceList.Contains(element)) { triggerInstanceList.Add(element); ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } } }
void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if (element != null) { // Add elements List <GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) { this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>()); } // Add it to the list only if it doesn't exist already // This is just a safety, as it should get removed before triggered again if (!elementList.Contains(element)) { elementList.Add(element); // Check if we entered all of the triggers if (this.CheckIfElementInComplexTrigger(element)) { if (!triggerInstanceList.Contains(element)) { triggerInstanceList.Add(element); } ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } } }
void ExposedTriggerEnter(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if(element != null) { // Add elements List<GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>()); // Add it to the list only if it doesn't exist already // This is just a safety, as it should get removed before triggered again if(!elementList.Contains(element)) { elementList.Add(element); // Check if we entered all of the triggers if(this.CheckIfElementInComplexTrigger(element)) { if(!triggerInstanceList.Contains(element)) triggerInstanceList.Add(element); ThisTriggerEnter(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } } }
// Use this to trigger the event protected virtual void ThisTriggerExit(ExposedTrigger sender, TriggerActivityEventArgs e) { ThisTriggerExitEventHandler handler = OnThisTriggerExit; if(handler != null) { handler(sender, e); } }
// Use this to trigger the event protected virtual void ThisTriggerExit(ExposedTrigger sender, TriggerActivityEventArgs e) { ThisTriggerExitEventHandler handler = OnThisTriggerExit; if (handler != null) { handler(sender, e); } }
void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if (element != null) { // Remove the element List <GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) { this.elementListForTriggerDictionary.Add(sender, elementList = new List <GameObject>()); } elementList.Remove(element); // Check if we are still in any of the triggers if (!this.CheckIfElementInAdditiveTrigger(element)) { triggerInstanceList.Remove(element); ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } }
void TerritoryExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { Player player = e.gameObject.GetComponent<Player>(); if(player != null) { // Remove the element List<Player> playerList; if (!this.playersCapturing.TryGetValue(player.PlayerTeam, out playerList)) this.playersCapturing.Add(player.PlayerTeam, playerList = new List<Player>()); playerList.Remove(player); this.CheckIfPlayerIsCapturing(); // Something changed so maybe someone is capturing } // Fire our own event from this script TerritoryData tData = new TerritoryData(); tData.Progress = this.CaptureProgress; tData.Color = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary(); tData.LockedColor = new ColorData(this.LockedCaptureState ? this.LockedCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary(); tData.TempColor = new ColorData(this.tempCaptureState ? this.tempCaptureState.ThisTeamToColor() : Player.TeamToColor(Player.Team.None)).ToDictionary(); this.OnTerritoryExited(this, new TerritoryActivityEventArgs(player, tData)); }
void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if(element != null) { // Remove the element List<GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>()); elementList.Remove(element); // Check if we are still in any of the triggers if(!this.CheckIfElementInAdditiveTrigger(element)) { triggerInstanceList.Remove(element); ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } }
void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { Debug.Log("Exit ~~ Sender: " + sender + " Object: " + e.gameObject); }
void ExposedTriggerExit(ExposedTrigger sender, ExposedTrigger.TriggerActivityEventArgs e) { GameObject element = e.gameObject; if(element != null) { // Remove the element List<GameObject> elementList; if (!this.elementListForTriggerDictionary.TryGetValue(sender, out elementList)) this.elementListForTriggerDictionary.Add(sender, elementList = new List<GameObject>()); elementList.Remove(element); // If the element exited a trigger // this means they are not in all of the triggers // so they exited the complex trigger // But they could of already exited a trigger so we don't want to double exit bool wasRemoved = triggerInstanceList.Remove(element); if(wasRemoved) { ThisTriggerExit(this, new ExposedTrigger.TriggerActivityEventArgs(element)); } } }