Ejemplo n.º 1
0
 private void Charge(ILaunchForceComponent launchForce, ITankInputComponent tankInput, IAimSliderComponent aimSlider)
 {
     aimSlider.AimSliderValue = launchForce.MinLaunchForce;
     if (tankInput.GetFireButton && !tankInput.Fired)
     {
         aimSlider.AimSliderValue = launchForce.CurrentLaunchForce;
     }
 }
Ejemplo n.º 2
0
        private void Charge(ITankInputComponent input, ITransformComponent transform, ILaunchForceComponent launchForce, ITime time)
        {
            float chargeSpeed = (launchForce.MaxLaunchForce - launchForce.MinLaunchForce) / launchForce.MaxChargeTime;

            if (launchForce.CurrentLaunchForce >= launchForce.MaxLaunchForce && !input.Fired)
            {
                launchForce.CurrentLaunchForce = launchForce.MaxLaunchForce;
                Fire(transform, launchForce.CurrentLaunchForce);
                input.Fired = true;
                launchForce.CurrentLaunchForce = launchForce.MinLaunchForce;
            }
            else if (input.GetFireButtonDown)
            {
                input.Fired = false;
                launchForce.CurrentLaunchForce = launchForce.MinLaunchForce;
            }
            else if (input.GetFireButton && !input.Fired)
            {
                launchForce.CurrentLaunchForce += chargeSpeed * time.DeltaTime;
            }
            else if (input.GetFireButtonUp && !input.Fired)
            {
                Fire(transform, launchForce.CurrentLaunchForce);
                input.Fired = true;
                launchForce.CurrentLaunchForce = launchForce.MinLaunchForce;
            }
        }