public void ApplyTransition(int index) { if (_stage == null) { _stage = transform.parent.GetComponent <StageForActors>(); } if (index >= TransitionCount) { return; } if (transitions[index] == null) { return; } ActorState nextState = transitions[index].actorState; Move(nextState.relativePosition, transitions[index].type); Flip(nextState.flip); Scale(nextState.scale); Darken(nextState.darkness); ChangeOpacity(nextState.opacity); }
// should probably change it for constructor public void Initialize(ActorToCreate actorToCreate) { character = actorToCreate.Character; currentState = actorToCreate.InitialState; transitions = actorToCreate.Transitions; Canvas parentCanvas = GetComponentInParent <Canvas>(); _parentCanvasRectTransform = parentCanvas.GetComponent <RectTransform>(); _rectTransform = gameObject.AddComponent <RectTransform>(); _stage = transform.GetComponent <StageForActors>(); _image = gameObject.AddComponent <Image>(); _image.sprite = character.BodySprite; _image.SetNativeSize(); SetImageScale(); gameObject.name = character.name + " Actor"; Move(currentState.relativePosition); }