public void UpdateSelfShaftWeapon(TimeUpdateEvent e, ShaftWeaponNode weapon, [JoinByTank] SelfTankNode tank, [JoinByUser] SingleNode <MouseControlStateHolderComponent> mouseControlStateHolder)
        {
            float deltaTime = e.DeltaTime;

            base.ScheduleEvent(BaseWeaponRotationUpdateDeltaTimeEvent <WeaponRotationUpdateGyroscopeEvent> .GetInstance(deltaTime), weapon);
            this.UpdateWeaponRotation(weapon, mouseControlStateHolder, deltaTime, false);
            base.ScheduleEvent(BaseWeaponRotationUpdateDeltaTimeEvent <WeaponRotationUpdateVerticalEvent> .GetInstance(deltaTime), weapon);
            base.ScheduleEvent(BaseWeaponRotationUpdateDeltaTimeEvent <WeaponRotationUpdateShaftAimingCameraEvent> .GetInstance(deltaTime), weapon);
            base.ScheduleEvent <WeaponRotationUpdateAimEvent>(weapon);
        }
Esempio n. 2
0
 public void SetKickBackEffectForCameraOnAimingShot(ShaftAimingShotPrepareEvent evt, ShaftWeaponNode shaft)
 {
     shaft.Entity.AddComponent(new ShaftAimingCameraKickbackComponent(shaft.weaponInstance.WeaponInstance.transform.position, shaft.weaponInstance.WeaponInstance.transform.rotation));
 }
 public void CheckWeaponStateOnInactiveTank(NodeRemoveEvent evt, SelfActiveTankNode tank, [JoinByTank] ShaftWeaponNode weapon)
 {
     StateUtils.SwitchEntityState <ShaftIdleStateComponent>(weapon.Entity, this.weaponStates);
 }
 public void InitIdleState(NodeAddedEvent evt, ShaftWeaponNode weapon)
 {
     StateUtils.SwitchEntityState <ShaftIdleStateComponent>(weapon.Entity, this.weaponStates);
 }