public override void Execute() { if (endedInstruction) { DialogueDatabase.activeGraphPlayer.ReturnCharacterPool(character); DialogueDatabase.activeGraphPlayer.ChangeNode(output.outputNode); return; } if (_inAction) { return; } if (!DialogueDatabase.activeGraphPlayer.CharactersInScene.ContainsKey(character)) { endedInstruction = true; Debug.LogWarning($"The character {character.name} is not in the scene"); return; } Image charaImg = DialogueDatabase.activeGraphPlayer.CharactersInScene[character]; var position = charaImg.rectTransform.anchoredPosition; switch (transition) { case EnumCharacterTransition.Instante: ParadoxCharacterTransition.Instante(charaImg, sprite, EnumPosition.Custom, this, charaImg.rectTransform.anchoredPosition, true); break; case EnumCharacterTransition.Fade: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.Fade(charaImg, sprite, EnumPosition.Custom, this, position, timeDuration, true)); break; case EnumCharacterTransition.Slide_Down: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideUp(charaImg, sprite, EnumPosition.Custom, this, position, timeDuration, true)); break; case EnumCharacterTransition.Slide_Up: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideDown(charaImg, sprite, EnumPosition.Custom, this, position, timeDuration, true)); break; case EnumCharacterTransition.Slide_Left: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideRight(charaImg, sprite, EnumPosition.Custom, this, position, timeDuration, true)); break; case EnumCharacterTransition.Slide_Right: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideLeft(charaImg, sprite, EnumPosition.Custom, this, position, timeDuration, true)); break; } _inAction = true; }
public override void Execute() { if (endedInstruction) { DialogueDatabase.activeGraphPlayer.ChangeNode(output.outputNode); return; } if (_inAction) { return; } if (DialogueDatabase.activeGraphPlayer.CharactersInScene.ContainsKey(character)) { endedInstruction = true; Debug.LogWarning($"The character {character.name} is already in the scene"); return; } Image charaImg = DialogueDatabase.activeGraphPlayer.TakeCharacterPool(character); charaImg.CrossFadeAlpha(1, 0, false); switch (transition) { case EnumCharacterTransition.Instante: ParadoxCharacterTransition.Instante(charaImg, sprite, position, this, customPoint); break; case EnumCharacterTransition.Fade: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.Fade(charaImg, sprite, position, this, customPoint, timeDuration)); break; case EnumCharacterTransition.Slide_Up: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideUp(charaImg, sprite, position, this, customPoint, timeDuration)); break; case EnumCharacterTransition.Slide_Down: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideDown(charaImg, sprite, position, this, customPoint, timeDuration)); break; case EnumCharacterTransition.Slide_Right: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideRight(charaImg, sprite, position, this, customPoint, timeDuration)); break; case EnumCharacterTransition.Slide_Left: DialogueDatabase.activeGraphPlayer.StartCoroutine(ParadoxCharacterTransition.SlideLeft(charaImg, sprite, position, this, customPoint, timeDuration)); break; } _inAction = true; }