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; }
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); }
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); } }