Exemple #1
0
 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);
 }