public uConversationNode(ConversationNode proto) { alternatives = new Dictionary <long, Alternative>(); blocks = new List <StatusBlock>(); uid = proto.Uid; if (proto.Name != "null") { ID = proto.Name; } else { ID = "" + uid; } if (proto.Text != "null") { text = proto.Text; } else { text = ""; } foreach (Connection c in proto.ConnectionsList) { List <List <StatusCheckable> > reqs = new List <List <StatusCheckable> >(); foreach (RequirementSet block in c.RequirementSetsList) { StatusCheckableFactory factory = new StatusCheckableFactory(); List <StatusCheckable> checks = new List <StatusCheckable>(); foreach (StatusCheckableProtocol p in block.RequirementsList) { checks.Add(factory.getStatusCheckableFromProtocol(p)); } reqs.Add(checks); } Alternative alt = new Alternative(c.NodeId, c.Text, reqs); if (c.HasPriority) { alt.setPriority(c.Priority); } else { alt.setPriority(0); } alternatives.Add(alt.getUID(), alt); } foreach (StatusBlockProtocol s in proto.BlocksList) { blocks.Add(new StatusBlock(s)); } cacheIds(); }
public StatusBlock(StatusBlockProtocol proto) { init(proto.Name); foreach (SpawnCommandProtocol s in proto.CommandsList) { blockCommands.Add(new SpawnCommand(s)); } StatusCheckableFactory factory = new StatusCheckableFactory(); foreach (StatusCheckableProtocol s in proto.StatusesList) { statuses.Add(factory.getStatusCheckableFromProtocol(s)); } }
public Step(StatusStepProtocol proto) { name = proto.Name; description = proto.Description; StatusCheckableFactory factory = new StatusCheckableFactory(); IList <StatusCheckableProtocol> statusProtocols = proto.StatusesInStepList; statuses = new Dictionary <StatusCheckable, bool>(); foreach (StatusCheckableProtocol p in statusProtocols) { statuses.Add(factory.getStatusCheckableFromProtocol(p), false); } IList <SpawnCommandProtocol> commandProtocols = proto.CommandsList; commands = new List <SpawnCommand>(); foreach (SpawnCommandProtocol c in commandProtocols) { commands.Add(new SpawnCommand(c)); } spawnLocations = new List <Point>(); }
public void initFromProto(ConversationNode proto) { alternatives = new Dictionary <long, Alternative>(); blocks = new List <StatusBlock>(); if (proto.Name != "null") { ID = proto.Name; } else { ID = "" + uid; } if (proto.Text != "null") { text = proto.Text; } else { text = ""; } foreach (Connection c in proto.ConnectionsList) { List <List <StatusCheckable> > reqs = new List <List <StatusCheckable> >(); foreach (RequirementSet block in c.RequirementSetsList) { StatusCheckableFactory factory = new StatusCheckableFactory(); List <StatusCheckable> checks = new List <StatusCheckable>(); foreach (StatusCheckableProtocol p in block.RequirementsList) { StatusCheckable check = factory.getStatusCheckableFromProtocol(p); check.setActive(); checks.Add(check); } reqs.Add(checks); } Alternative alt = new Alternative(c.NodeId, c.Text, reqs); if (c.HasPriority) { alt.setPriority(c.Priority); } else { alt.setPriority(0); } alternatives.Add(alt.getUID(), alt); } foreach (StatusBlockProtocol s in proto.BlocksList) { Debug.Log("LOADING: " + this.text); StatusBlock block = new StatusBlock(s); foreach (StatusCheckable check in block.getStatuses()) { check.setActive(); } blocks.Add(block); } strIdMap.Add(ID, this); }