private void OnCollided(object sender, EntityCollisionEventArgs e) { //TODO: Why the special attack hits the parent first, but only sometimes? if (_vulnerabilityTime < 0f) { Destroy(); } }
//- 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); } } }
/// <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); }
private void OnCollided(object sender, EntityCollisionEventArgs entityCollisionEventArgs) { Destroy(); }