예제 #1
0
        public override void Initialize()
        {
            var countOfSlots = SlotService.CalculateCountOfSlots(_navMeshAgent.radius, AgentConstant.Radius);

            Debug.Log($"### count of slots: {countOfSlots}");

            _slots   = new List <Vector3>();
            _countOf = new Dictionary <int, int>();
            var rotation     = Quaternion.Euler(new Vector3(0f, 360f / countOfSlots, 0f));
            var nextPosition = 2f * AgentConstant.Radius * Vector3.forward;

            for (var i = 0; i < countOfSlots; ++i)
            {
                _slots.Add(nextPosition);
                _countOf[i] = 0;

                nextPosition = rotation * nextPosition;
            }
        }
예제 #2
0
        public override void Initialize()
        {
            var countOfSlots = SlotService.CalculateCountOfSlots(_navMeshAgent.radius, AgentConstant.Radius);

            var rotation          = Quaternion.Euler(new Vector3(0f, 360f / countOfSlots, 0f));
            var innerNextPosition = 2f * AgentConstant.Radius * Vector3.forward;
            var outerNextPosition = 6f * AgentConstant.Radius * Vector3.forward;

            for (var i = 0; i < countOfSlots; ++i)
            {
                _innerSlot.Slots.Add(innerNextPosition);
                _innerSlot.CountOf[i] = 0;

                innerNextPosition = rotation * innerNextPosition;

                _outerSlot.Slots.Add(outerNextPosition);

                outerNextPosition = rotation * outerNextPosition;
            }
        }