Exemple #1
0
 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;
         }
     }
 }
Exemple #2
0
 public void Init(CharacterInitialData characterInitialData)
 {
     characterData = characterInitialData;
     InitView(characterData.spriteName);
     foreach (CharacterManager characterManager in managers)
     {
         characterManager.Init(this);
     }
 }
Exemple #3
0
    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);
    }
Exemple #4
0
 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);
 }