/// <summary>
        /// Get time to wait before wandering again
        /// </summary>
        private float GetWaitTime()
        {
            if ((FSM.LastState == FStatesWander.NotWandering || FSM.LastState == FStatesWander.CannotWander) && !_waitOnStart)
            {
                return(0.1f);
            }

            if (_currentBotWanderComponent.randomizeWait)
            {
                return(RandomHelpers.RandomFloatWithinRange(_currentBotWanderComponent.WaitTime * .75f, _currentBotWanderComponent.WaitTime));
            }
            return(_currentBotWanderComponent.WaitTime);
        }
        IEnumerator AutoSpawn(bool useSpawnerTransformValues = true)
        {
            yield return(new WaitForSeconds(RandomHelpers.RandomFloatWithinRange(timeFrom, timeTo)));

            yield return(new WaitUntil(() => !Paused));

            if (IsSpawning)
            {
                SpawningCount     = GetSpawnCount();
                SpawningRemaining = SpawningCount;
                trySpawn(useSpawnerTransformValues);
            }
        }
Пример #3
0
        private float GetWaitTime()
        {
            if (m_FSM.LastState == WanderStates.NotWandering || m_FSM.LastState == WanderStates.CannotWander)
            {
                return(0.1f);
            }

            if (randomizeWait)
            {
                return(RandomHelpers.RandomFloatWithinRange(0f, waitTime));
            }
            return(waitTime);
        }