Esempio n. 1
0
        public void EnterCharacter(Character character, Sprite sprite, float xPosition, float fadeInTime = 0.5f, bool nextNode = false, bool waitForFinish = false, bool isInvert = false)
        {
            if (TryGetCharacter(character) != null)
            {
                Debug.LogWarning("CNovell: Не пытайтесь ввести два одинаковых символа.");

                SceneManager sceneManager = SceneManager.GetInstance();
                if (sceneManager != null && nextNode)
                {
                    sceneManager.NextNode();
                }
                return;
            }

            GameObject characterObject = Object.Instantiate(m_characterPrefab, m_backgroundPanel);

            if (isInvert)
            {
                m_characterTransformer.SetCharacterScale(characterObject, new Vector2(-1, 1));
            }

            SetSprite(characterObject, sprite);

            m_characterTransformer.SetCharacterPosition(characterObject, new Vector2(xPosition, 0));

            Components.CharacterInfo characterInfo = characterObject.GetComponent <Components.CharacterInfo>();
            characterInfo.SetCharacter(character);

            m_characters.Add(characterObject);


            m_characterComponent.StartCoroutine(FadeIn(characterObject, fadeInTime, nextNode, waitForFinish));
        }
Esempio n. 2
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();
        }