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(); } }
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); }
public static void SavePlayerType(PlayerTypesFlag playerType) { m_instance.m_playerTypesToSpawn |= playerType; }
public CharController GetCharacterWithType(PlayerTypesFlag type) { return(characters.FirstOrDefault(c => (c.PlayerType & type) == type)); }