public void PlayAndAddTraining() { List <Player> players = new List <Player> () { new HumanPlayer(_gameView.TurnView), _brain, _brain.Clone(), _brain.Clone() }; _gameView.gameObject.SetActive(true); Game game = new Game(players); _gameView.Init(game); Thread thread = new Thread(new ThreadStart(() => { game.Play(() => { CompositionRoot.Instance.ExecuteInMainThread(() => { //_view.gameObject.SetActive (false); Debug.Log("Match ended"); foreach (var trainingController in game.TrainingControllers) { foreach (var trainingModel in trainingController.TrainingModels) { _trainingModels.Add(trainingModel); } } UpdateView(); InitTrainers(); }); }); })); thread.Start(); }
public void CreateRandomBrainPressed() { _brain = new AINeuralPlayer2(); _prevBrain = (AINeuralPlayer2)_brain.Clone(); _trainingsCount = 0; Debug.Log("Created ai"); }
public void LoadTraining() { using (Stream stream = File.Open(FilePath, FileMode.Open)) { var binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); _trainingModels = (List <TrainingDecisionModel>)binaryFormatter.Deserialize(stream); _brain = (AINeuralPlayer2)binaryFormatter.Deserialize(stream); _prevBrain = (AINeuralPlayer2)_brain.Clone(); } UpdateView(); InitTrainers(); Debug.Log("Training loaded"); }
public void OnRevertToPrevPressed() { _brain = (AINeuralPlayer2)_prevBrain.Clone(); UpdateView(); }