public void OnClickCharacterItem(CharacterInitialData character) { foreach (CharacterCardUIItem item in instantiatedItems) { if (item.character == character) { // Если персонаж, на которой кликнули уже был выбран, то мы убираем его из списка выбранных, снимаем выделение if (chosenCharacters.Items.Exists(i => i == character)) { item.ChangeChooseMode(false); chosenCharacters.Remove(item.character); } else { // Если не был выбран, то выбираем item.ChangeChooseMode(true); chosenCharacters.Add(item.character); // Если превышено максимальное количество выбранных персонажей, то снимаем выделение с персонажа, выбранного раньше всего if (chosenCharacters.Items.Count > maxActiveCharacters) { CharacterInitialData oldestChosenCharacter = chosenCharacters.Items[0]; CharacterCardUIItem oldestChosenCharacterUI = instantiatedItems.Find(i => i.character == oldestChosenCharacter); oldestChosenCharacterUI.ChangeChooseMode(false); chosenCharacters.Remove(oldestChosenCharacter); } } break; } } }
public void Init(CharacterInitialData characterInitialData) { characterData = characterInitialData; InitView(characterData.spriteName); foreach (CharacterManager characterManager in managers) { characterManager.Init(this); } }
public CharacterPreviewUIItem InstantiateItem(CharacterInitialData characterData) { if (previewsParent == null) { previewsParent = new GameObject("CharactersPreviewsParent"); previewsParent.transform.position = new Vector3(0, 0, -10); } CharacterPreviewUIItem characterPreview = Instantiate(characterPreviewPrefab, previewsParent.transform); characterPreview.Init(characterData); Vector3 positionInGrid = characterPreview.transform.position; positionInGrid.x = characterPreview.SpriteSize.x * Items.Count; characterPreview.transform.position = positionInGrid; Add(characterPreview); return(characterPreview); }
public override void Init(CharacterInitialData setupData) { base.Init(setupData); characterHistory.text = setupData.description; }
public void InitCharacterDetailedInfoItem(CharacterInitialData character) { characterDetailed = Instantiate(characterDetailedPrefab, detailedInfoParent); characterDetailed.Init(character); }