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); }
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); }