public void OnRemoveTrap(Mobile m) { if (m is PlayerMobile) { if (Path == null || Path.Count == 0) { double skill = m.Skills[SkillName.RemoveTrap].Base; if (skill < 80.0) { _Count = CircuitCount.Nine; } else if (skill < 100.0) { _Count = CircuitCount.Sixteen; } else { _Count = CircuitCount.TwentyFive; } } BaseGump.SendGump(new CircuitTrapGump((PlayerMobile)m, this)); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); switch (version) { case 1: _Count = (CircuitCount)reader.ReadInt(); goto case 0; case 0: int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Path.Add(reader.ReadInt()); } count = reader.ReadInt(); for (int i = 0; i < count; i++) { Progress.Add(reader.ReadInt()); } break; } if (version == 0) { Path.Clear(); Progress.Clear(); } }
private Tuple <bool, bool> FindCircuitCount(string line) { //tuple values are: "found circuit?" true/false and "finished reading board section?" true/false if (line.Contains("Fiducial")) { if (CircuitList.Count > 0) { --CircuitCount; } return(Tuple.Create(false, true)); } Regex reCircuit = new Regex("\\s+Circuit[\\s:\"]+Circuit"); Regex reOffset = new Regex("\\s+Circuit[\\s:\"]+(Offset |\\d{ 1,2})"); Match matchCircuit = reCircuit.Match(line); Match matchOffset = reOffset.Match(line); try { string[] sep = new string[] { "\"" }; if (matchOffset.Success) { string[] temp = line.Split(sep, StringSplitOptions.RemoveEmptyEntries); if (!temp[5].Equals(temp[9])) { ++CircuitCount; return(Tuple.Create(true, false)); } else { return(Tuple.Create(false, false)); } } else if (matchCircuit.Success) { string[] temp = line.Split(sep, StringSplitOptions.RemoveEmptyEntries); if (CircuitList.Add(temp[1])) { ++CircuitCount; return(Tuple.Create(true, false)); } else { return(Tuple.Create(false, false)); } } else { return(Tuple.Create(false, false)); } } catch (Exception e) { MessageBox.Show("The program had a problem parsing the board template section.\nReturning current count of " + CircuitCount.ToString() + " but could be wrong.\n" + e.Message, "Ci2Parser:FindCircuitCount()", MessageBoxButton.OK, MessageBoxImage.Warning); return(Tuple.Create(false, true)); } }