private void MoveToRandomNearbyPosition()
        {
            Vector3 nearbyPosition = GenerateRandomNearbyPosition();

            // TODO (darren): validate nearby position with nav-mesh
            coroutine_ = CoroutineWrapper.StartCoroutine(MoveToPosition(nearbyPosition));
        }
        protected override void OnStateEntered()
        {
            movementAction_.Init(StateMachine_);

            CoroutineWrapper.DoAfterDelay(StateMachine_.AIConfiguration.RandomReactionTime(), () => {
                StateMachine_.InputState.LaserPressed = false;
                if (UnityEngine.Random.Range(0.0f, 1.0f) <= kCluckChance)
                {
                    coroutine_ = CoroutineWrapper.StartCoroutine(DoCluckCoroutine());
                }
            });
        }
        // PRAGMA MARK - Public Interface
        public void SetupWithViewIdQuantity(IViewIdQuantity viewIdQuantity)
        {
            this._viewIdQuantity = viewIdQuantity;

            DTEntity         entity           = this._viewIdQuantity.Entity;
            DisplayComponent displayComponent = entity.GetComponent <DisplayComponent>();

            if (displayComponent != null)
            {
                this._renderer.sprite = displayComponent.displaySprite;
            }

            this._autoTapCoroutine = CoroutineWrapper.StartCoroutine(this.AutoTapCoroutine());
        }
        public static void Shake(this Transform transform, float magnitude, float duration, EaseType easeType = EaseType.QuadraticEaseOut, bool returnToOriginalPosition = true)
        {
            if (coroutineMap_.ContainsKey(transform))
            {
                coroutineMap_[transform].Cancel();
                coroutineMap_.Remove(transform);
                if (originalPositionMap_.ContainsKey(transform))
                {
                    transform.position = originalPositionMap_[transform];
                    originalPositionMap_.Remove(transform);
                }
            }

            if (returnToOriginalPosition)
            {
                originalPositionMap_[transform] = transform.position;
            }
            coroutineMap_[transform] = CoroutineWrapper.StartCoroutine(ShakeCoroutine(transform, magnitude, duration, easeType));
        }
 /// <summary>
 /// ????????????
 /// </summary>
 /// <param name="sec"></param>
 /// <param name="ev"></param>
 public static void EXES(float sec, Action ev)
 {
     inst.StartCoroutine(inst.ExeDelayS(sec, ev));
 }
Beispiel #6
0
        protected override void OnStateEntered()
        {
            movementAction_.Init(StateMachine_);

            checkDashAttackCoroutine_ = CoroutineWrapper.StartCoroutine(CheckDashAttack());
        }