Example #1
0
        public void Shooting(Vector3 target, DamageData damage)
        {
            MyDamage = damage;

            Vector3 endPosition = IsometricUtility.ToIsometricVector3(
                (target - transform.position).normalized * BulletRange);

            transform.DOBlendableMoveBy(endPosition, (BulletRange / BulletSpeed))
            .SetEase(BulletMoveEase)
            .onComplete += () => GetComponent <Animator>().SetTrigger("Destroy");
            hasShot      = true;
        }
Example #2
0
            public override void Initial()
            {
                //Debug.Log("Wandering Start");

                pathFinded = false;
                float distance = Random.Range
                                     (manager.AISetting.WounderDistanceMin, manager.AISetting.WounderDistanceMax);
                float degree = Random.Range(0, 360);

                manager.Senser.FindPath(manager.Character.transform.position +
                                        IsometricUtility.ToIsometricVector3(
                                            Quaternion.AngleAxis(degree, Vector3.forward) * (Vector3.one * distance))
                                        , PathFinded);
            }
Example #3
0
            public AIAround()
            {
                wayPoints = new Queue <Vector3>();
                var firstTarget = IsometricUtility
                                  .ToIsometricVector3(manager.player.transform.position - manager.Character.transform.position)
                                  * manager.AISetting.AroundRadius;

                wayPoints.Enqueue(firstTarget);

                float angle  = Random.Range(1, 10) > 5 ? -manager.AISetting.AroundDegree : manager.AISetting.AroundDegree;
                var   rotate = Quaternion.AngleAxis(angle, manager.player.transform.position);

                for (int i = 0; i < manager.AISetting.RoundTurn; i++)
                {
                    Vector3 nextTarget = firstTarget;

                    for (int r = 0; r <= i; r++)
                    {
                        nextTarget = rotate * nextTarget;
                    }

                    wayPoints.Enqueue(nextTarget);
                }
            }