Esempio n. 1
0
        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>();
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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();
        }