public void SetDialogue(Character?character, Sprite sprite, string dialogue, CharacterManager characterManager = null) { m_currentDialogue = dialogue; m_speaker.text = character?.GetName() ?? ""; m_dialogueComponent.StopAllCoroutines(); m_dialogueComponent.StartCoroutine(m_typewriteEvent = TypewriteText()); if (characterManager != null && character != null) { GameObject characterObject = characterManager.TryGetCharacter(character); if (sprite != null) { if (characterObject != null) { characterManager.SetSprite(characterObject, sprite); } else { Debug.LogWarning("CNovell: Не пытайтесь изменить спрайт персонажа, которого нет в сцене."); } } if (characterObject) { characterManager.HighlightSpeakingCharacter(character); } } }
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(); }