/// <summary>
        /// Handles Collision events invoked from Entitiy types
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void Collided(object sender, EntityCollideEventArgs e)
        {
            if (e.Victim is Player)
            {
                Player player = (Player)e.Victim;

                if (e.Attacker is Bullet)
                {
                    if (!player.Invincible)
                    {
                        this.updateQueue.Enqueue(new RespawnEventArgs(player, new Vector2(600, 600)));

                        this.RewardEvent(player);
                    }

                    LogConsole.Log("Player has been hit");
                    return;
                }

                throw new NotImplementedException("EntitiyManager: Collided(): Non-Bullet Attacker");
            }

            throw new NotImplementedException("EntityManager: Collided(): Non-Player Victim");
        }
Beispiel #2
0
 public void InvokeCollide(object sender, EntityCollideEventArgs e)
 {
     this.Collided.Invoke(sender, e);
 }