コード例 #1
0
        public void PrepareBestDirection(ShotPrepareEvent evt, UnblockedWeaponNode weaponNode, [JoinByTank] SingleNode <TankSyncComponent> tankNode)
        {
            TargetingData targetingData = BattleCache.targetingData.GetInstance().Init();

            base.ScheduleEvent(new TargetingEvent(targetingData), weaponNode);
            base.ScheduleEvent(new SendShotToServerEvent(targetingData), weaponNode);
        }
コード例 #2
0
        public void PrepareTargetsByUnblockedWeapon(ShotPrepareEvent evt, UnblockedWeaponNode weaponNode)
        {
            TargetingData targetingData = BattleCache.targetingData.GetInstance().Init();

            base.ScheduleEvent(new TargetingEvent(targetingData), weaponNode);
            base.ScheduleEvent(new SendShotToServerEvent(targetingData), weaponNode);
            base.ScheduleEvent(new SendHitToServerIfNeedEvent(targetingData), weaponNode);
        }
コード例 #3
0
        public void SendShot(ShotPrepareEvent evt, NotUnblockedHammerNode hammer)
        {
            SelfHammerShotEvent eventInstance = new SelfHammerShotEvent {
                RandomSeed = hammer.hammerPelletCone.ShotSeed
            };

            eventInstance.ShotDirection = new MuzzleLogicAccessor(hammer.muzzlePoint, hammer.weaponInstance).GetFireDirectionWorld();
            base.ScheduleEvent(eventInstance, hammer);
        }
コード例 #4
0
        public void PrepareSplashTargetsWhenBlockedWeapon(ShotPrepareEvent evt, BlockedWeaponNode weapon)
        {
            WeaponBlockedComponent weaponBlocked = weapon.weaponBlocked;
            StaticHit staticHit = new StaticHit {
                Position = weaponBlocked.BlockPoint,
                Normal   = weaponBlocked.BlockNormal
            };
            SplashHitData splashHit = SplashHitData.CreateSplashHitData(new List <HitTarget>(), staticHit, weapon.Entity);

            base.ScheduleEvent(new CollectSplashTargetsEvent(splashHit), weapon);
        }
コード例 #5
0
ファイル: ShaftHitSystem.cs プロジェクト: radiomonter/Tanki_X
 public void PrepareQuickShotTargets(ShotPrepareEvent evt, UnblockedShaftNode weapon)
 {
     this.PrepareQuickShotTargets(weapon.Entity);
 }
コード例 #6
0
        public void SendShot(ShotPrepareEvent evt, BlockedWeaponNode weaponNode)
        {
            MuzzleLogicAccessor accessor = new MuzzleLogicAccessor(weaponNode.muzzlePoint, weaponNode.weaponInstance);

            base.ScheduleEvent(new SelfShotEvent(accessor.GetFireDirectionWorld()), weaponNode);
        }
コード例 #7
0
 public void DefineCooldownTimerForNextPossibleShot(ShotPrepareEvent evt, CooldownNode cooldown)
 {
     base.UpdateCooldownOnShot(cooldown.cooldownTimer, cooldown.weaponCooldown);
 }
コード例 #8
0
 public void CreateShaftMuzzleFlashOnSelfQuickShot(ShotPrepareEvent evt, ShaftMuzzleFlashNode muzzle)
 {
     this.InstantiateMuzzleEffect(muzzle.shaftMuzzleFlash.muzzleFlashPrefab, muzzle, muzzle.shaftMuzzleFlash.duration);
 }