using Sirenix.OdinInspector; using UnityEngine; // ReSharper disable once CheckNamespace namespace BlueWaterProject { public class PirateUnit : BaseUnit { #region Property and variable [PropertyOrder(-10)] public PirateUnitStat pirateUnitStat; #endregion #region Custom function public void MoveCommand(Vector3 targetPos) { var gridSize = 0; switch (pirateUnitStat.SailorCount) { case 0: gridSize = 1; break; case <= 3: gridSize = 2; break; case <= 8: gridSize = 3; break; case <= 15: gridSize = 4; break; default: print("유닛의 병사 숫자 설정 에러"); break; } for (var i = 0; i < gridSize; i++) { for (var j = 0; j < gridSize; j++) { var currentPos = i * gridSize + j; if (currentPos > pirateUnitStat.SailorCount) break; var zOffset = (i - (gridSize - 1) / 2.0f) * UnitManager.Inst.UnitSpacing; var xOffset = (j - (gridSize - 1) / 2.0f) * UnitManager.Inst.UnitSpacing; var movePos = targetPos + new Vector3(xOffset, 0, zOffset); pirateUnitStat.PirateAiList[currentPos].CommandMoveTarget(movePos); } } } #endregion } }