private void EnemyHit(BaseEventInfo e) { HitEventInfo eventInfo = e as HitEventInfo; if (eventInfo != null && !eventInfo.ObjectHit.CompareTag("Player")) { GameObject playerThatShot = eventInfo.ObjectThatFired; GameObject hitObject = eventInfo.ObjectHit; hitObject.SetActive(false); if (!playerScore.ContainsKey(playerThatShot)) { playerScore.Add(playerThatShot, 1); } else { playerScore[playerThatShot]++; if (playerScore[playerThatShot] == winCondition) { EliminateEventInfo winnerEvent = new EliminateEventInfo(playerThatShot); EventHandler.Instance.FireEvent(EventHandler.EventType.FinaleWinEvent, winnerEvent); } } UpdatePlayerScoreEventInfo updateEventInfo = new UpdatePlayerScoreEventInfo() { Player = playerThatShot, Score = playerScore[playerThatShot] }; EventHandler.Instance.FireEvent(EventHandler.EventType.UpdateScoreEvent, updateEventInfo); } }
private void OnTriggerExit(Collider other) // playarea { if (GameStarted) { if (other.CompareTag("Player")) { EliminateEventInfo e = new EliminateEventInfo(other.gameObject); EventHandler.Instance.FireEvent(EventHandler.EventType.EliminateEvent, e); } } }
private void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Player")) { if (!triggeredObjects.Contains(other.gameObject)) { triggeredObjects.Add(other.gameObject); EliminateEventInfo eventInfo = new EliminateEventInfo(other.gameObject); EventHandler.Instance.FireEvent(EventHandler.EventType.EliminateEvent, eventInfo); } } }
private void UpdatePlayerWonIcon(BaseEventInfo e) { EliminateEventInfo finishedEventInfo = e as EliminateEventInfo; if (finishedEventInfo != null) { if (GameController.Instance != null && MinigameController.Instance != null) { var playerID = GameController.Instance.FindPlayerByGameObject(finishedEventInfo.PlayerToEliminate).ID; playerIconImage.sprite = sprites[playerID]; MinigameController.Instance.EndMinigame(); } } }
private void LimitedRespawn(GameObject player) { EventHandler.Instance.FireEvent(EventHandler.EventType.UpdateUIEvent, new UpdateUIEventInfo(player)); if (!playerRespawns.ContainsKey(player)) { playerRespawns.Add(player, 1); DetermineSpawnPoint(player); } else if (playerRespawns[player] < numberOfRespawns - 1) { playerRespawns[player]++; DetermineSpawnPoint(player); } else { EliminateEventInfo e = new EliminateEventInfo(player); EventHandler.Instance.FireEvent(EventHandler.EventType.EliminateEvent, e); } }
private void ResetPlatforms() { if (eliminatedPlayers.Count > 1) { MultipleEliminateEventInfo multipleEliminateEventInfo = new MultipleEliminateEventInfo(eliminatedPlayers); EventHandler.Instance.FireEvent(EventHandler.EventType.MultipleEliminateEvent, multipleEliminateEventInfo); } else if (eliminatedPlayers.Count == 1) { EliminateEventInfo eliminateEventInfo = new EliminateEventInfo(eliminatedPlayers[0]); EventHandler.Instance.FireEvent(EventHandler.EventType.EliminateEvent, eliminateEventInfo); } eliminatedPlayers.Clear(); currentSymbolPlatform.ResetPlatform(); foreach (var item in platforms) { item.ResetPlatform(); item.IsSafe = false; } }