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; } }
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; } }