public void SetPauseState(bool paused) { if (PauseStateLocked) { return; } IssueOrder(Order.FromTargetString("PauseGame", paused ? "Pause" : "UnPause", false)); PredictedPaused = paused; }
public void RequestGameSave(string filename) { // Allow traits to save arbitrary data that will be passed back via IGameSaveTraitData.ResolveTraitData // at the end of the save restoration // TODO: This will need to be generalized to a request / response pair for multiplayer game saves var i = 0; foreach (var tp in TraitDict.ActorsWithTrait <IGameSaveTraitData>()) { var data = tp.Trait.IssueTraitData(tp.Actor); if (data != null) { var yaml = new List <MiniYamlNode>() { new MiniYamlNode(i.ToString(), new MiniYaml("", data)) }; IssueOrder(Order.FromTargetString("GameSaveTraitData", yaml.WriteToString(), true)); } i++; } IssueOrder(Order.FromTargetString("CreateGameSave", filename, true)); }