public CharacterManager(CharacterComponent characterComponent) { m_characterComponent = characterComponent; m_characterPrefab = characterComponent.GetCharacterPrefab(); m_backgroundPanel = characterComponent.GetBackgroundPanel(); m_foregroundPanel = characterComponent.GetForegroundPanel(); m_characterTransformer = new CharacterTransformer(); m_characters = new List <GameObject>(); }
public void ProcessCharacterTransform() { CharacterTransformer characterTransformer = m_characterManager.GetCharacterTransformer(); Debug.Assert(characterTransformer != null, "CNovell: CharacterTransformer не найден!"); if (m_currentNode is CharacterScaleNode) { ScaleCharacter(characterTransformer); } else if (m_currentNode is CharacterTranslateNode) { TranslateCharacter(characterTransformer); } }
private void TranslateCharacter(CharacterTransformer characterTransformer) { CharacterTranslateNode translateNode = m_currentNode as CharacterTranslateNode; GameObject character = m_characterManager.TryGetCharacter(translateNode.GetCharacter()); Vector2 position = new Vector2(translateNode.GetXPosition(), 0); if (translateNode.GetIsLerp()) { m_sceneManager.StartCoroutine(characterTransformer.LerpCharacterPosition(character, position, translateNode.GetLerpTime())); } else { characterTransformer.SetCharacterPosition(character, position); } m_sceneManager.NextNode(); }
private void ScaleCharacter(CharacterTransformer characterTransformer) { CharacterScaleNode scaleNode = m_currentNode as CharacterScaleNode; GameObject character = m_characterManager.TryGetCharacter(scaleNode.GetCharacter()); Vector2 scale = scaleNode.GetScale(); if (scaleNode.GetIsLerp()) { m_sceneManager.StartCoroutine(characterTransformer.LerpCharacterScale(character, scale, scaleNode.GetLerpTime())); } else { characterTransformer.SetCharacterScale(character, scale); } m_sceneManager.NextNode(); }