Example #1
0
        private void btnOrder_Click(object sender, EventArgs e)
        {
            Dictionary <string, int> dPizzaOrder = new Dictionary <string, int>(); //Pizza 주문을 담을 그릇
            delFunc        dDow     = new delFunc(fDow);                           //delegate 호출
            delFunc        dEdge    = new delFunc(fEdge);
            delFuncTopping dTopping = null;

            int dowIdx  = 0;
            int edgeIdx = 0;

            //Dow
            if (rdoDow1.Checked)
            {
                dowIdx = 1;
                dPizzaOrder.Add("Original", 1);    //Dictionary에 key,value 추가
            }
            else if (rdoDow2.Checked)
            {
                dowIdx = 2;
                dPizzaOrder.Add("Napoli", 1);
            }
            else if (rdoDow3.Checked)
            {
                dowIdx = 3;
                dPizzaOrder.Add("Thin", 1);
            }

            //dDow(dowIdx);

            //Edge
            if (rdoEdge1.Checked)
            {
                edgeIdx = 1;
                dPizzaOrder.Add("Rich Gold", 1);
            }
            else if (rdoEdge2.Checked)
            {
                edgeIdx = 2;
                dPizzaOrder.Add("Cheese Crust", 2);
            }
            //dEdge(edgeIdx);

            fCallBack(dowIdx, dDow);
            fCallBack(edgeIdx, dEdge);

            if (cBoxTopping1.Checked)
            {
                dTopping += fTopping1;      //delegate chain(함수를 연결시킴)
                dPizzaOrder.Add("Pepperoni", 1);
            }
            if (cBoxTopping2.Checked)
            {
                dTopping += fTopping2;
                dPizzaOrder.Add("Potato", 1);
            }
            if (cBoxTopping3.Checked)
            {
                dTopping += fTopping3;
                dPizzaOrder.Add("Meat", 1);
            }
            if (cBoxTopping4.Checked)
            {
                dTopping += fTopping4;
                dPizzaOrder.Add("White Mushroom", 1);
            }
            if (cBoxTopping5.Checked)
            {
                dTopping += fTopping5;
                dPizzaOrder.Add("Paprika", 1);
            }

            if (dTopping == null)
            {
                fOrderError("Topping");
            }
            else
            {
                dTopping();
                fEndOrder("------------------------------------");
                fEndOrder(string.Format("Total Price is {0}.", totalPrice));
                frmLoading(dPizzaOrder);
            }
        }
Example #2
0
 public int fCallBack(int i, delFunc dFunc)
 {
     return(dFunc(i));
 }
Example #3
0
    public void Init(delFunc callback)
    {
        UnityAction <AddInventory> systemListner = new UnityAction <AddInventory>(callback);

        breackEvent.AddListener(systemListner);
    }
Example #4
0
 /**
  * function name: constructor
  * the input: delFunc, string
  **/
 public SingleMission(delFunc delF, string funcName)
 {
     df    = delF;
     fName = funcName;
 }
Example #5
0
 public ComposedMission Add(delFunc func)
 {
     delList.Add(func);
     return(this);
 }