Ejemplo n.º 1
0
        public void SetPauseState(bool paused)
        {
            if (PauseStateLocked)
            {
                return;
            }

            IssueOrder(Order.FromTargetString("PauseGame", paused ? "Pause" : "UnPause", false));
            PredictedPaused = paused;
        }
Ejemplo n.º 2
0
        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));
        }