コード例 #1
0
 private void Start()
 {
     if (_startSpawned.Value)
     {
         for (int i = 0; i < _count.Value; i++)
         {
             Spawn();
         }
     }
     else
     {
         _spawnDelay.RestartTimer();
     }
 }
コード例 #2
0
 public void StartTimer()
 {
     if (restartOnEnterPreviousState)
     {
         targetParameter?.RestartTimer();
     }
 }
コード例 #3
0
 private void UpdateHunger()
 {
     HungerDecayTimer?.UpdateTime();
     if (HungerDecayTimer.IsFinished && HungerOut.Value > 0)
     {
         damageFeedback.PlayFeedbacks();
         IncrementHunger(-1);
         HungerDecayTimer.RestartTimer();
     }
 }
コード例 #4
0
    public override void Enter()
    {
        base.Enter();

        comboTimer.RestartTimer();
        comboFinishTimer.RestartTimer();

        Vector3 throwDirection;
        var     aimTarget = CurrentTargetRef.Value;

        //If no target, throw forward
        if (aimTarget.SafeIsUnityNull())
        {
            throwDirection = GetMoveDirection().normalized;
        }
        //If find collider, target center bounds, otherwise target transform.
        else
        {
            Collider targetCollider = aimTarget.GetComponent <Collider>();
            Vector3  targetPosition;

            if (targetCollider != null)
            {
                targetPosition = targetCollider.bounds.center;
            }


            else
            {
                targetPosition = aimTarget.position;
            }


            throwDirection = (targetPosition - FirePoint.Value.position).normalized;
        }

        if (Mathf.Approximately(throwDirection.magnitude, 0))
        {
            throwDirection = FirePoint.Value.forward;
        }

        MeatClumpController clump = Instantiate(MeatClumpPrefab);

        clump.transform.position = FirePoint.Value.position;
        clump.SetMoving(ThrowSpeed.Value, throwDirection);
        if (ClumpOverCharged.Value)
        {
            clump.SetOverCharged();
        }

        playerController.OnClumpThrown(throwDirection);
    }
コード例 #5
0
    private void Start()
    {
        charMotor.CharacterController = this;
        MaxStableDenivelationAngle.Subscribe(OnUpdateMaxStableDenivelationAngle);
        HungerDecayTimer?.RestartTimer();

        FrenzyOut.Subscribe(OnUpdateFrenzy);
        GroundSlamCooldownTimer.StartTimer();

        capsuleStartHeight = charMotor.Capsule.height;
        capsuleStartCenter = charMotor.Capsule.center;
        capsuleStartRadius = charMotor.Capsule.radius;

        UpdateScale(Scale.Value, Scale.Value);
        Scale.Subscribe(UpdateScale);
        IsPlayerDead.Value = false;
    }
コード例 #6
0
 public void StartTimer()
 {
     _timer.RestartTimer();
 }
コード例 #7
0
 private void AddFrenzy()
 {
     FrenzyDecayTimer.RestartTimer();
     FrenzyOut.Value += 1;
 }