public void CreateGroup(List <IBaseNPC> selectedGroup) { if (selectedGroup.Count == 1) { controlUnit = selectedGroup[0]; } else if (selectedGroup.Count > 1) { CompositeGroup tempGroup = new CompositeGroup(); for (int i = 0; i < selectedGroup.Count; i++) { tempGroup.AddUnit(selectedGroup[i]); } controlUnit = tempGroup; } else if (selectedGroup.Count == 0) { CompositeGroup tempGroup = new CompositeGroup(); tempGroup.ResetGroup(); controlUnit = tempGroup; } }
static void CompositeDemo() { ICompositeComponent group = new CompositeGroup("Animals"); var turkeyCats = new CompositeGroup("Turkey Cats"); turkeyCats.AddComponent(new CompositeItem("Van cat")); var pamuk = new CompositeItem("Pamuk"); var cats = new CompositeGroup("Cats", new List <ICompositeComponent> { turkeyCats, pamuk }); var bulldogs = new CompositeGroup("Bulldogs"); bulldogs.AddComponent(new CompositeItem("Ugly")); var dogs = new CompositeGroup("Dogs"); dogs.AddComponent(bulldogs); group.AddComponent(cats); group.AddComponent(dogs); group.DisplayComponents(); }