Ejemplo n.º 1
0
    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);
         }
     }
 }
Ejemplo n.º 3
0
 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);
         }
     }
 }
Ejemplo n.º 4
0
    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();
            }
        }
    }
Ejemplo n.º 5
0
 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);
     }
 }
Ejemplo n.º 6
0
 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;
     }
 }