private StoryDebugInfo FromProtobuf(StoryDebugInfoMsg msg) { var debugInfo = new StoryDebugInfo(); debugInfo.Version = msg.Version; foreach (var dbMsg in msg.Databases) { var db = FromProtobuf(dbMsg); debugInfo.Databases.Add(db.Id, db); } foreach (var goalMsg in msg.Goals) { var goal = FromProtobuf(goalMsg); debugInfo.Goals.Add(goal.Id, goal); } foreach (var ruleMsg in msg.Rules) { var rule = FromProtobuf(ruleMsg); debugInfo.Rules.Add(rule.Id, rule); } foreach (var nodeMsg in msg.Nodes) { var node = FromProtobuf(nodeMsg); debugInfo.Nodes.Add(node.Id, node); } foreach (var funcMsg in msg.Functions) { var func = FromProtobuf(funcMsg); debugInfo.Functions.Add(new FunctionNameAndArity(func.Name, func.Params.Count), func); } return(debugInfo); }
private StoryDebugInfoMsg ToProtobuf(StoryDebugInfo debugInfo) { var msg = new StoryDebugInfoMsg(); msg.Version = debugInfo.Version; foreach (var db in debugInfo.Databases) { var dbMsg = ToProtobuf(db.Value); msg.Databases.Add(dbMsg); } foreach (var goal in debugInfo.Goals) { var goalMsg = ToProtobuf(goal.Value); msg.Goals.Add(goalMsg); } foreach (var rule in debugInfo.Rules) { var ruleMsg = ToProtobuf(rule.Value); msg.Rules.Add(ruleMsg); } foreach (var node in debugInfo.Nodes) { var nodeMsg = ToProtobuf(node.Value); msg.Nodes.Add(nodeMsg); } foreach (var func in debugInfo.Functions) { var funcMsg = ToProtobuf(func.Value); msg.Functions.Add(funcMsg); } return(msg); }