Example #1
0
        private void UpdateBoostStatus(BoostSystem boostSystem)
        {
            if (boostSystem.CooldownTimer == TimeSpan.Zero && boostSystem.TimeRemaining == TimeSpan.Zero)
            {
                BoostIndication.AdditionalText = boostSystem.ActivationsRemaining < 0 ? string.Empty : boostSystem.ActivationsRemaining.ToString();
            }
            else
            {
                BoostIndication.AdditionalText = boostSystem.TimeRemaining == TimeSpan.Zero ? boostSystem.CooldownTimer.TotalSeconds.ToString("F0") : boostSystem.TimeRemaining.TotalSeconds.ToString("F0");
            }

            switch (boostSystem.BoostStatus)
            {
            case BoostStatus.UnAvailable:
                BoostIndication.IconState = StatusIconState.Unlit;
                break;

            case BoostStatus.Available:
                BoostIndication.IconState = StatusIconState.Information;
                break;

            case BoostStatus.InUse:
                BoostIndication.IconState = StatusIconState.Ok;
                break;

            case BoostStatus.Cooldown:
                BoostIndication.IconState = StatusIconState.Warning;
                break;
            }
        }
Example #2
0
    void Awake()
    {
        myRigidbody        = GetComponent <Rigidbody>();
        wheels             = new WheelComponent[2];
        wheels[0]          = SetWheelComponent(connectWheel.wheelFront, connectWheel.AxleFront, false, 0, connectWheel.AxleFront.localPosition.y);
        wheels[1]          = SetWheelComponent(connectWheel.wheelBack, connectWheel.AxleBack, true, 0, connectWheel.AxleBack.localPosition.y);
        startPosition      = transform.position;
        respawnPosition    = startPosition;
        bikerStartPosition = bikeSetting.bikerMan.transform.localPosition;
        currentSpeedLimit  = speedLimit;
        GameHUD.OnRestartPosition.Subscribe(_ => {
            RestartPosition();
        }).AddTo(this);
        GameHUD.OnResetPosition.Subscribe(_ => {
            ResetPosition();
        }).AddTo(this);
        PlayerTrigger.OnRespawnPosition.Subscribe(pos => {
            RestartPosition(pos);
        });

        canvas.worldCamera = Camera.main;
        if (!isControll)
        {
            RemoveCrashDetecter();
        }
        else
        {
            // CrashDetecter.OnCrash.Subscribe(_=>{
            //     crash = true;
            //     OnCrash();
            // }).AddTo(this);
        }
        boostSystem = GetComponent <BoostSystem>();
    }
Example #3
0
 private void Awake()
 {
     _controls           = new Controls();
     References.Controls = _controls;
     _boost = GetComponentInChildren <BoostSystem>();
     _rb    = GetComponent <Rigidbody2D>();
 }
Example #4
0
        private void FillBoostData(AssettoCorsaShared data, CarInfo playerCar)
        {
            BoostSystem boostSystem = playerCar.BoostSystem;

            if (data.AcsPhysics.kersCharge <= 0)
            {
                return;
            }

            boostSystem.ActivationsRemaining = (int)(data.AcsPhysics.kersCharge * 100);
            boostSystem.BoostStatus          = data.AcsPhysics.ersIsCharging == 1 ? BoostStatus.Available : BoostStatus.InUse;
        }
Example #5
0
        private void FillBoostData(PCars2SharedMemory data, CarInfo playerCar)
        {
            BoostSystem boostSystem = playerCar.BoostSystem;

            if (data.mBoostAmount <= 0)
            {
                boostSystem.BoostStatus = BoostStatus.UnAvailable;
                return;
            }

            boostSystem.ActivationsRemaining = (int)data.mBoostAmount;
            boostSystem.BoostStatus          = data.mBoostActive ? BoostStatus.InUse : BoostStatus.Available;
        }
        private static void FillBoostData(ref CarStatusData rawCarStatusData, CarInfo playerCar)
        {
            BoostSystem boostSystem = playerCar.BoostSystem;

            boostSystem.ActivationsRemaining = (int)rawCarStatusData.MErsStoreEnergy / 100000;
            if (rawCarStatusData.MErsDeployMode <= 1)
            {
                boostSystem.BoostStatus = BoostStatus.Available;
            }
            else if (rawCarStatusData.MErsDeployMode <= 3)
            {
                boostSystem.BoostStatus = BoostStatus.InUse;
            }
            else
            {
                boostSystem.BoostStatus = BoostStatus.Cooldown;
            }
        }
        private static void FillBoostData(PushToPass pushToPass, CarInfo playerCar)
        {
            BoostSystem boostSystem = playerCar.BoostSystem;

            if (pushToPass.Available != 1)
            {
                boostSystem.BoostStatus = BoostStatus.UnAvailable;
                return;
            }

            boostSystem.ActivationsRemaining = pushToPass.AmountLeft;
            boostSystem.CooldownTimer        = TimeSpan.FromSeconds(pushToPass.WaitTimeLeft);
            boostSystem.TimeRemaining        = TimeSpan.FromSeconds(pushToPass.EngagedTimeLeft);

            if (pushToPass.Engaged == 1)
            {
                boostSystem.BoostStatus = BoostStatus.InUse;
                return;
            }

            boostSystem.BoostStatus = boostSystem.CooldownTimer == TimeSpan.Zero ? BoostStatus.Available : BoostStatus.Cooldown;
        }