private void OverlordObjectSelectedEventHandler(OverlordObject overlordObject) { foreach (OverlordObject item in _overlordObjects) { if (!item.Equals(overlordObject)) { item.Deselect(); } else { item.Select(); } } _currentOverlordObject = overlordObject; }
private void FillOverlordObjects() { ResetOverlordObjects(); _overlordObjects = new List <OverlordObject>(); _loopFakeOverlordObjects = new List <OverlordObject>(); for (int i = LoopStartFakeHeroCount - 1; i >= 0; i--) { int index = _dataManager.CachedHeroesData.Heroes.Count - i - 1; Hero hero = _dataManager.CachedHeroesData.Heroes[index]; OverlordObject current = new OverlordObject(_overlordsContainer.GetComponent <RectTransform>(), _rightContentObject, hero); current.SelfObject.name += $" #{index}"; _loopFakeOverlordObjects.Add(current); } for (int i = 0; i < _dataManager.CachedHeroesData.Heroes.Count; i++) { Hero hero = _dataManager.CachedHeroesData.Heroes[i]; OverlordObject current = new OverlordObject(_overlordsContainer.GetComponent <RectTransform>(), _rightContentObject, hero); current.SelfObject.name += $" #{i}"; current.OverlordObjectSelectedEvent += OverlordObjectSelectedEventHandler; _overlordObjects.Add(current); } for (int i = 0; i < LoopEndFakeHeroCount; i++) { Hero hero = _dataManager.CachedHeroesData.Heroes[i]; OverlordObject current = new OverlordObject(_overlordsContainer.GetComponent <RectTransform>(), _rightContentObject, hero); current.SelfObject.name += $" #{i}"; _loopFakeOverlordObjects.Add(current); } _overlordObjects[0].Select(false); }