/// <summary> /// Spawns a projectile. Projectiles are fast, invunerable and self destructs on impact with the hero. /// </summary> void spawnProjectile() { this.colorModifier.FadeToDelected(this.attackFrequency / 3f); RadialPosition thisRadialPos = RotationUtils.XYToRadialPos(transform.position); this.projectile.SetRadialSpawnPosition(thisRadialPos.GetAngle(), thisRadialPos.GetRadius()); this.enemySpawner.InstantiateEnemyPrefab(this.projectile); }
public static Vector3 RadialPosToXY(RadialPosition radialPosition) { float angle = radialPosition.GetAngle(); angle = MakePositiveAngle(angle); float radius = radialPosition.GetRadius(); float x = Mathf.Cos(Mathf.Deg2Rad * angle) * radius; float y = Mathf.Sin(Mathf.Deg2Rad * angle) * radius; if (Mathf.Abs(x) < 0.001) { x = 0; } if (Mathf.Abs(y) < 0.001) { y = 0; } return(new Vector3(x, y)); }