public void RemoveMapObject(MinimapObject mapObject) { if (!_indicatorsDictionary.ContainsKey(mapObject)) { return; } var indicator = _indicatorsDictionary[mapObject]; _indicatorsDictionary.Remove(mapObject); indicator.EndLife(); }
public void AddMapObject(MinimapObject minimapObject) { var newIndicator = GetPoolable(minimapObject); newIndicator.transform.SetParent(_MapIndicatorWrapper, false); _indicatorsDictionary.Add(minimapObject, newIndicator); var sortedIndicators = _indicatorsDictionary.Values.OrderBy(indicator => indicator.SortingIndex); var i = 0; foreach (var indicator in sortedIndicators) { indicator.transform.SetSiblingIndex(i++); } }
protected abstract PoolableIndicator GetPoolable(MinimapObject minimapObject);