// Remove unitmarker of given unit and put it back in the pool private void RemoveUnitWaypointMarker(UnitWaypoint unitWaypoint) { UnitWaypointMarker unitMarker = unitWaypointMarkers[unitWaypoint]; unitMarker.Deactivate(); unitWaypointMarkers.Remove(unitWaypoint); unitWaypoints.Remove(unitWaypoint); unitWaypointMarkerPool.Add(unitMarker); }
// Add unitmarker for given unit private void AddUnitWaypointMarker(UnitWaypoint unitWaypoint) { if (unitWaypointMarkerPool.Count == 0) { MakeNewUnitWaypointMarker(); } UnitWaypointMarker unitWaypointMarker = unitWaypointMarkerPool[0]; unitWaypointMarkerPool.Remove(unitWaypointMarker); unitWaypointMarker.Setup(unitWaypoint); unitWaypoints.Add(unitWaypoint); unitWaypointMarkers.Add(unitWaypoint, unitWaypointMarker); }
public void Setup(UnitWaypoint unitWaypoint) { this.unitWaypoint = unitWaypoint; UpdateMarker(); gameObject.SetActive(true); }