Ejemplo n.º 1
0
        /// <summary>
        /// Determines the next state this object should be in
        /// </summary>
        protected virtual void DetermineNextState()
        {
            switch (_currentState)
            {
            case AppearDisappearStates.Visible:
                _nextChangeIn = _visibleDuration;
                _nextState    = AppearDisappearStates.VisibleToHidden;
                _nextFeedback = VisibleToHiddenFeedback;
                break;

            case AppearDisappearStates.Hidden:
                _nextChangeIn = _hiddenDuration;
                _nextState    = AppearDisappearStates.HiddenToVisible;
                _nextFeedback = HiddenToVisibleFeedback;
                break;

            case AppearDisappearStates.HiddenToVisible:
                _nextChangeIn = _hiddenToVisibleDuration;
                _nextState    = AppearDisappearStates.Visible;
                _nextFeedback = VisibleFeedback;
                break;

            case AppearDisappearStates.VisibleToHidden:
                _nextChangeIn = _visibleToHiddenDuration;
                _nextState    = AppearDisappearStates.Hidden;
                _nextFeedback = HiddenFeedback;
                break;
            }
        }
Ejemplo n.º 2
0
        public static async UniTask PlayFeedbacksAsync(this MMFeedbacks that, Vector3 position, float feedbacksIntensity = 1.0f, bool forceRevert = false)
        {
            var tcs = new UniTaskCompletionSource();

            void Complete() => tcs.TrySetResult();

            that.Events.OnComplete.AddListener(Complete);
            try {
                that.PlayFeedbacks(position, feedbacksIntensity, forceRevert);
                await tcs.Task;
            } finally {
                that.Events.OnComplete.RemoveListener(Complete);
            }
        }
Ejemplo n.º 3
0
        private void Awake()
        {
            anim             = GetComponent <Animator>();
            animOverride     = (AnimatorOverrideController)anim.runtimeAnimatorController;
            outline          = GetComponent <SpriteOutline>();
            button           = GetComponent <Button>();
            animationHandler = GetComponent <AnimationHandler>();

            anim.SetInteger("AnimState", 1);
            outline.enabled = false;

            floatingTextSpawner = GetComponentInParent <MMFloatingTextSpawner>();
            feedback            = GetComponentInParent <MMFeedbacks>();
            floatingText        = GetComponentInParent <MMFeedbackFloatingText>();
            stackCounter        = GetComponentInParent <FloatingTextStackCounter>();

            BattleEvents.CharacterTurnEvent.AddListener(this);
            BattleEvents.CharacterAttackEvent.AddListener(this);
            BattleEvents.ChooseTargetEvent.AddListener(this);
            BattleEvents.NormalEvent.AddListener(this);
            BattleEvents.EndOfTurnEvent.AddListener(this);
            BattleEvents.SkipTurnEvent.AddListener(this);
        }
Ejemplo n.º 4
0
 public static async UniTask PlayFeedbacksAsync(this MMFeedbacks that) => await that.PlayFeedbacksAsync(that.transform.position);