コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Projectile.cs プロジェクト: lcnvdl/rotmg-server
        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);
        }