Esempio n. 1
0
        protected virtual void OnSelectCharacter(IPlayerCharacterData playerCharacterData)
        {
            eventOnSelectCharacter.Invoke(playerCharacterData);
            characterModelContainer.SetChildrenActive(false);
            SelectedDataId   = playerCharacterData.DataId;
            SelectedEntityId = playerCharacterData.EntityId;
            CharacterModelByEntityId.TryGetValue(playerCharacterData.EntityId, out selectedModel);
            // Clear character class selection
            CacheCharacterClassSelectionManager.Clear();
            CacheCharacterClassList.HideAll();
            // Show selected model
            if (SelectedModel != null)
            {
                SelectedModel.gameObject.SetActive(true);
            }
            // Setup character class list
            PlayerCharacter firstData = null;

            PlayerCharacterDataByEntityId.TryGetValue(playerCharacterData.EntityId, out selectableCharacterClasses);
            CacheCharacterClassList.Generate(selectableCharacterClasses, (index, playerCharacter, ui) =>
            {
                // Cache player character to dictionary, we will use it later
                PlayerCharacterByDataId[playerCharacter.DataId] = playerCharacter;
                // Setup UI
                if (ui != null)
                {
                    UICharacterClass uiCharacterClass = ui.GetComponent <UICharacterClass>();
                    uiCharacterClass.Data             = playerCharacter;
                    CacheCharacterClassSelectionManager.Add(uiCharacterClass);
                }
                if (index == 0)
                {
                    firstData = playerCharacter;
                }
            });
            // Select first entry
            if (CacheCharacterClassSelectionManager.Count > 0)
            {
                CacheCharacterClassSelectionManager.Select(0);
            }
            else
            {
                OnSelectCharacterClass(firstData);
            }
        }
Esempio n. 2
0
 protected void OnSelectCharacterClass(UICharacterClass uiCharacterClass)
 {
     OnSelectCharacterClass(uiCharacterClass.Data);
 }