示例#1
0
        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);
        }
示例#2
0
        // 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);
        }