コード例 #1
0
 public void Clean()
 {
     timeToClean -= Time.deltaTime;
     if (timeToClean <= 0)
     {
         if (pc.SelectedClass == PlayerClass.CaretakerClass.Detective)
         {
             brokenBy.Track();
         }
         lm.AddDamageCashValue((int)(-Value * 0.5f));
         Destroy(gameObject);
     }
 }
コード例 #2
0
    private void Update()
    {
        switch (SelectedClass)
        {
        case CaretakerClass.Basic:
            break;

        case CaretakerClass.Segway:
            if (Input.GetButton("CaretakerSpecificAction") && stamina > 0)
            {
                sprintT   -= Time.deltaTime;
                _fpc.speed = baseSpeed * 4f;
                if (sprintT < 0f)
                {
                    SpendSprintResource();
                    lm.AddDamageCashValue(100);
                }
                else
                {
                    isSprint = false;
                }
            }
            else
            {
                _fpc.speed = baseSpeed;
                sprintT    = sprintTMax;
                regenT    -= Time.deltaTime;
                if (regenT < 0)
                {
                    regenT = regenTMax;
                    RegenSprintCharge();
                }
            }

            break;

        case CaretakerClass.Detective:
            break;

        case CaretakerClass.Tech:
            if (!canShoot)
            {
                shootT  -= Time.deltaTime;
                canShoot = shootT <= 0;
            }

            if (Input.GetButtonDown("CaretakerSpecificAction"))
            {
                if (canShoot)
                {
                    Shoot();
                }
                else
                {
                    RadarPing();
                }
            }

            break;

        case CaretakerClass.Assistant:
            if (Input.GetButtonDown("CaretakerSpecificAction"))
            {
                ActivateCCTV();
            }

            if (Input.GetKeyDown(KeyCode.Tab))
            {
                ResetCam();
            }
            break;

        default:
            throw new ArgumentOutOfRangeException();
        }
    }