/// <summary> /// Call this after an individual is created, and it will instantiate, then score this individual for you /// </summary> public static GameObject Simulate(Individual indiv) { GameObject instanced = Instantiate(indiv); SimulationPhysics so = instanced.AddComponent <SimulationPhysics>(); so.Init(indiv); return(instanced); }
private void Start() { var config = LoadConfig(); var physics = new SimulationPhysics(config); _battleField.Init(config, physics); _battleField.SpawnRandomUnits(OnUnitsSpawned); }
public void Init(GameConfig config, SimulationPhysics physics) { _config = config; _field.size = new Vector2(config.gameAreaWidth, config.gameAreaHeight); _camera.orthographicSize = _field.size.y / 2f; _physics = physics; _views = new List <UnitView>(config.numUnitsToSpawn); _viewPool = new Stack <UnitView>(config.numUnitsToSpawn); }