CapersProject/Packages/com.arongranberg.astar/ExampleScenes~/Scenes/OldExamples/Example18_RTS/RTSManager.cs
2024-06-04 03:26:03 +09:00

41 lines
951 B
C#

using UnityEngine;
namespace Pathfinding.Examples.RTS {
[HelpURL("https://arongranberg.com/astar/documentation/stable/rtsmanager.html")]
public class RTSManager : VersionedMonoBehaviour {
public static RTSManager instance;
public RTSUnitManager units;
[UnityEngine.Serialization.FormerlySerializedAs("audio")]
public RTSAudio audioManager;
RTSPlayer[] players;
protected override void Awake () {
if (instance != null) throw new System.Exception("Multiple RTSManager instances in the scene. You should only have one.");
instance = this;
units = new RTSUnitManager();
units.Awake();
players = new RTSPlayer[3];
for (int i = 0; i < players.Length; i++) {
players[i] = new RTSPlayer();
players[i].index = i;
}
}
void OnDestroy () {
units.OnDestroy();
instance = null;
}
public int PlayerCount => players.Length;
public RTSPlayer GetPlayer (int team) {
return players[team];
}
}
}