protected override bool assignObject(object obj) { if (obj == null || obj.GetType() != typeof(Notes_CheckListItem)) { return false; } checkListItem = (Notes_CheckListItem)obj; return true; }
private Notes_CheckListContainer loadCheckList(ConfigNode node, bool archived) { Notes_CheckListContainer c = new Notes_CheckListContainer(); for (int j = 0; j < node.GetNodes("CHECK_LIST_ITEM").Length; j++) { ConfigNode checkListItem = node.GetNodes("CHECK_LIST_ITEM")[j]; if (checkListItem == null) continue; if (!checkListItem.HasValue("NOTE")) continue; string text = checkListItem.GetValue("NOTE"); int order = checkListItem.parse("ORDER", j); bool complete = checkListItem.parse("COMPLETE", false); double completeTime = 0; if (complete) completeTime = checkListItem.parse("COMPLETE_TIME", 0d); float? data = checkListItem.parse("DATA", (float?)null); Guid id = checkListItem.parse("KEY", Guid.NewGuid()); Notes_CheckListType type = checkListItem.parse("TYPE", Notes_CheckListType.custom); Vessel targetV = null; CelestialBody targetB = null; if (!archived) { targetV = checkListItem.parse("TARGET_VESSEL", (Vessel)null); targetB = checkListItem.parse("TARGET_BODY", (CelestialBody)null); } if (!complete && !archived) { switch (type) { case Notes_CheckListType.dockVessel: case Notes_CheckListType.dockAsteroid: case Notes_CheckListType.rendezvousVessel: case Notes_CheckListType.rendezvousAsteroid: if (targetV == null) continue; break; case Notes_CheckListType.enterOrbit: case Notes_CheckListType.land: case Notes_CheckListType.orbit: case Notes_CheckListType.blastOff: case Notes_CheckListType.returnToOrbit: case Notes_CheckListType.scienceFromPlanet: case Notes_CheckListType.surfaceEVA: case Notes_CheckListType.spacewalk: case Notes_CheckListType.plantFlag: if (targetB == null) continue; break; case Notes_CheckListType.launch: case Notes_CheckListType.returnHome: if (targetB == null) targetB = Planetarium.fetch.Home; break; } } Notes_CheckListItem newCheckListItem = new Notes_CheckListItem(text, order, complete, targetV, targetB, id, type, c, data, completeTime); c.addCheckList(newCheckListItem); } return c; }
public void addCheckList(Notes_CheckListItem item) { if (!allChecks.ContainsKey(item.ID)) allChecks.Add(item.ID, item); }