Exemplo n.º 1
0
        private void ChangeUIVisibility(PlayerTypesFlag charactersDisplaying, string text = "", string name = "")
        {
            if (charactersDisplaying == 0)
            {
                m_toFollow = null;
                m_currentBubble.SetActive(false);
                m_charactersDisplaying = charactersDisplaying;
                return;
            }


            CharController controller = CharactersManager.I.GetCharacterWithType(charactersDisplaying);

            if (controller && !string.IsNullOrEmpty(text))
            {
                if (m_soundChangeDialog)
                {
                    m_soundChangeDialog.Play();
                }

                m_toFollow        = controller.OverlayPosition.transform;
                m_bubbleName.text = name;

                StopAllCoroutines();
                StartCoroutine(DisplayText(text, m_timeBetweenLetters));

                m_charactersDisplaying = charactersDisplaying;

                if (m_toFollow)
                {
                    m_currentBubble.transform.position = m_toFollow.position + m_bubbleOffset;
                }

                if (!m_currentBubble.activeSelf)
                {
                    m_currentBubble.SetActive(true);
                }
            }
            else if (controller)
            {
                NextText();
            }
        }
Exemplo n.º 2
0
        public static GameObject CreatePlayer(PlayerTypesFlag type, Vector3 position)
        {
            GameObject result = null;

            switch (type)
            {
            case PlayerTypesFlag.Leader:
                result = Instantiate(m_instance.m_prefabs.FirstOrDefault(p => p.Type == PlayerTypesFlag.Leader).Prefab, position, Quaternion.identity);
                result.GetComponent <CharController>().PlayerType = PlayerTypesFlag.Leader;
                break;

            case PlayerTypesFlag.Small:
                result = Instantiate(m_instance.m_prefabs.FirstOrDefault(p => p.Type == PlayerTypesFlag.Small).Prefab, position, Quaternion.identity);
                result.GetComponent <CharController>().PlayerType = PlayerTypesFlag.Small;
                break;

            case PlayerTypesFlag.HighJump:
                result = Instantiate(m_instance.m_prefabs.FirstOrDefault(p => p.Type == PlayerTypesFlag.HighJump).Prefab, position, Quaternion.identity);
                result.GetComponent <CharController>().PlayerType = PlayerTypesFlag.HighJump;
                break;

            case PlayerTypesFlag.FarJump:
                result = Instantiate(m_instance.m_prefabs.FirstOrDefault(p => p.Type == PlayerTypesFlag.FarJump).Prefab, position, Quaternion.identity);
                result.GetComponent <CharController>().PlayerType = PlayerTypesFlag.FarJump;
                break;

            case PlayerTypesFlag.Strong:
                result = Instantiate(m_instance.m_prefabs.FirstOrDefault(p => p.Type == PlayerTypesFlag.Strong).Prefab, position, Quaternion.identity);
                result.GetComponent <CharController>().PlayerType = PlayerTypesFlag.Strong;
                break;

            default:
                break;
            }

            return(result);
        }
Exemplo n.º 3
0
 public static void SavePlayerType(PlayerTypesFlag playerType)
 {
     m_instance.m_playerTypesToSpawn |= playerType;
 }
Exemplo n.º 4
0
 public CharController GetCharacterWithType(PlayerTypesFlag type)
 {
     return(characters.FirstOrDefault(c => (c.PlayerType & type) == type));
 }