public override void Tick(RealmTime time) { if (collisionMap == null) { collisionMap = ProjectileOwner is Player ? Owner.EnemiesCollision : Owner.PlayersCollision; } long elapsedTicks = time.tickTimes - BeginTime; if (elapsedTicks > Descriptor.LifetimeMS) { Destroy(true); return; } long counter = time.thisTickTimes; while (counter > RealmManager.MsPT && TickCore(elapsedTicks - counter, time)) { counter -= RealmManager.MsPT; } if (Owner != null) { TickCore(elapsedTicks, time); } base.Tick(time); }
public override void Tick(RealmTime time) { if (collisionMap == null) collisionMap = ProjectileOwner is Player ? Owner.EnemiesCollision : Owner.PlayersCollision; long elapsedTicks = time.tickTimes - BeginTime; if (elapsedTicks > Descriptor.LifetimeMS) { Destroy(true); return; } long counter = time.thisTickTimes; while (counter > RealmManager.MsPT && TickCore(elapsedTicks - counter, time)) counter -= RealmManager.MsPT; if (Owner != null) TickCore(elapsedTicks, time); base.Tick(time); }