using System.Collections.Generic;
static int TYPE_GROUP = 0;
public int TYPE_ITEM = 1;
public CO (string name, int objectType)
this.objectType = objectType;
public virtual void calculate(){}
public List<int> numberList;
public itemCO(string name, List<int> numberList):base(name, 1)
this.numberList = numberList;
public override void calculate()
foreach(int number in numberList)
public List<CO> childList;
public groupCO(string name):base(name, 0)
childList = new List<CO>();
public void addChild(CO child)
this.childList.Add(child);
public override void calculate()
foreach ( CO child in childList)
public List<CO> itemList;
itemList = new List<CO>();
public groupCO currentGroup;
public void display(groupCO currentGroup)
List<groupCO> parentList;
parentList = new List<groupCO>();
groupCO pg = currentGroup;
for(int i = 0; i < parentList.Count; i++)
Console.WriteLine("{0} {1} {2}", number, parentList[i].name, parentList[i].val);
itemList.Add(parentList[i]);
foreach (itemCO a in currentGroup.childList)
Console.WriteLine("{0} {1} {2}", number, a.name, a.val);
Console.WriteLine("{0} {1}{2}{3}",number, a.numberList, a.val);
numList = new List<int>();
root = new groupCO("root");
m = new itemCO("kfc",numList);
m = new itemCO("PizzaHutt",numList);
g = new groupCO("Hotel");
m = new itemCO("Mercure",numList);
m = new itemCO("Hyatt",numList);
m = new itemCO("padang",numList);
itemList = new List<CO> ();
public static void Main()
Boss = new gameManager();