protected override void OnTargetOwnerChanged(IMortalModel target) { base.OnTargetOwnerChanged(target); var _target = target as IMortalTarget; if (Owner.IsEnemyOf(_target.Owner)) { if (!EnemyTargets.Contains(_target)) { AddEnemyTarget(_target); } } else { RemoveEnemyTarget(_target); } }
protected virtual void OnDeath(IMortalModel itemModel) { // Equals avoids erroneous warning D.Assert(Model.Equals(itemModel), "{0} has erroneously received OnDeath from {1}.".Inject(Model.FullName, itemModel.FullName)); CleanupOnDeath(); }
private void OnSubordinateElementDeath(IMortalModel mortalItem) { AUnitElementModel element = mortalItem as AUnitElementModel; D.Assert(element != null); D.Log("{0} acknowledging {1} has been lost.", FullName, element.FullName); RemoveElement(element); }
public MortalItemDeathEvent(object source, IMortalModel itemModel) : base(source) { ItemModel = itemModel; }
protected virtual void OnTargetOwnerChanged(IMortalModel target) { }
protected virtual void OnTargetDeath(IMortalModel target) { Remove(target as IMortalTarget); }