public static bool Deserialize(string orig, Deep deep, out MineGunV1_0 deserialized) { string[] rest; if (ProtocolV1_0Utils.GetParams(orig, NAME, deep, out rest)) { if (rest.Length == 4) { int[] paramsInt; string[] zonesString; if (Parser.TryParse(new int[] { 0, 1, 2 }, rest, out paramsInt) && ProtocolV1_0Utils.Deserialize(rest[3], out zonesString, deep.NEXT)) { ZoneV1_0[] zones = new ZoneV1_0[zonesString.Length]; for (int i = 0; i < zones.Length; i++) { if (!ZoneV1_0.Deserialize(zonesString[i], deep.NEXT.NEXT, out zones[i])) { deserialized = null; return(false); } } deserialized = new MineGunV1_0(paramsInt[0], paramsInt[1], paramsInt[2], zones); return(true); } } } deserialized = null; return(false); }
public static ZoneV1_0[] Convert(Zone[] zones) { ZoneV1_0[] zonesV1_0 = new ZoneV1_0[zones.Length]; for (int i = 0; i < zones.Length; i++) { zonesV1_0[i] = new ZoneV1_0(zones[i]); } return(zonesV1_0); }
public static bool Deserialize(string orig, Deep deep, out ZoneV1_0 deserialized) { string[] rest; int[] param; if (ProtocolV1_0Utils.GetParams(orig, NAME, deep, out rest)) { if (rest.Length == 2 && Parser.TryParse(rest, out param)) { deserialized = new ZoneV1_0(param[0], param[1]); return(true); } } deserialized = null; return(false); }
public MineGunV1_0(MineGun mineGun) : base(mineGun.ID, mineGun.COST, mineGun.MAX_MINES, ZoneV1_0.Convert(mineGun.ZONES)) { }
public RepairToolV1_0(RepairTool repairTool) : base(repairTool.ID, repairTool.COST, repairTool.MAX_USAGES, ZoneV1_0.Convert(repairTool.ZONES)) { }
public GunV1_0(Gun GUN) : base(GUN.ID, GUN.COST, GUN.BARREL_NUMBER, GUN.MAX_RANGE, GUN.SHOT_SPEED, ZoneV1_0.Convert(GUN.ZONES)) { }