Skip to content

Instantly share code, notes, and snippets.

@kazumalab
Created April 1, 2017 23:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kazumalab/aae906d25da6f80e895541112739ac47 to your computer and use it in GitHub Desktop.
Save kazumalab/aae906d25da6f80e895541112739ac47 to your computer and use it in GitHub Desktop.
ゲームで敵を管理する場所
[Serializable]
public class EnemyManager {
private Player player;
[SerializeField]private List<Enemy> enemies = new List<Enemy> ();
public EnemyManager (Player p) {
player = p;
}
public void AddEnemy (Enemy e) {
enemies.Add (e);
}
public void DeleteEnemy (Enemy e) {
enemies.Remove (e);
}
public Enemy getNearEnemy () {
Enemy nearEnemy = null;
float minDistance = 100f;
foreach (var e in enemies) {
float distance = getDistance (player.transform.position, e.transform.position);
if (minDistance > distance) {
minDistance = distance;
nearEnemy = e;
}
}
return nearEnemy;
}
private float getDistance (Vector3 a, Vector3 b) {
Vector3 dv = a - b;
return Mathf.Pow ((dv.x * dv.x + dv.y * dv.y + dv.z * dv.z), 0.5f);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment