Example #1
0
 private void OnCollided(object sender, EntityCollisionEventArgs e)
 {
     //TODO: Why the special attack hits the parent first, but only sometimes?
     if (_vulnerabilityTime < 0f)
     {
         Destroy();
     }
 }
Example #2
0
 //- Operation methods
 public void Collision(object sender, EntityCollisionEventArgs e)
 {
     if (Active == true)
     {
         if (e.Entity1.Name == Name)
         {
             OnCollision(e.Entity2, (IArea)sender);
         }
         else if (e.Entity2.Name == Name)
         {
             OnCollision(e.Entity1, (IArea)sender);
         }
     }
 }
Example #3
0
        /// <summary>Sends a collision event to the Entity via the ControllerManager</summary>
        /// <param name="collider">Collider object</param>
        /// <param name="eventHandler">Event handler for the collision event</param>
        private void SendCollisionEvent(Collider collider, string eventHandler)
        {
            var objectBehaviour = collider.GetComponent <ObjectBehaviour>(true);

            if (objectBehaviour == null)
            {
                // Ignore colliders that do not have an ObjectBehaviour component
                return;
            }

            var entityBehaviour = objectBehaviour as EntityBehaviour;

            if (entityBehaviour != null)
            {
                var e = new EntityCollisionEventArgs(this.Entity, entityBehaviour.Entity);
                ControllerManager.SendEvent <EntityCollisionEventArgs>(eventHandler, this.Entity.Id, e);
                return;
            }

            Log.Error(
                "Collider '{0}' has unhandled ObjectBehaviour '{1}'",
                objectBehaviour.name,
                objectBehaviour.GetType().FullName);
        }
Example #4
0
 private void OnCollided(object sender, EntityCollisionEventArgs entityCollisionEventArgs)
 {
     Destroy();
 }