コード例 #1
0
ファイル: LiLianView.cs プロジェクト: ChestnutGames/boxing
 public void InitData(LiLianViewData d)
 {
     data      = d;
     data.view = this;
     name.text = data.data.csv_id.ToString();
     ChangeState(data.unlock);
     SetState(false);
 }
コード例 #2
0
    public void RestHallYes(object o)
    {
        LiLianViewData view = o as LiLianViewData;

        C2sSprotoType.lilian_reset_quanguan.request obj = new C2sSprotoType.lilian_reset_quanguan.request();
        obj.quanguan_id = view.data.csv_id;
        restHall        = view;
        NetworkManager.Instance.RestHall(obj);
    }
コード例 #3
0
 public void RestHallCallback(C2sSprotoType.lilian_reset_quanguan.response resp)
 {
     if (resp.errorcode == 1)
     {
         UserManager.Instance.SubDiamond(GameShared.Instance.GetLiLianStrengthByCount(restHall.num).diamond);
         restHall.rest_num++;
         restHall.num = 0;
         restHall.view.RestView();
     }
     restHall = null;
 }
コード例 #4
0
    public void LiLianSend(LiLianViewData card)
    {
        curRun              = new LiLianRunData();
        curRun.card         = GameShared.Instance.GetLiLianCardById(50001);
        curRun.hall         = card.data;
        curRun.hallviewdata = card;
        curRun.quanguan_id  = curRun.hall.csv_id;


        C2sSprotoType.start_lilian.request obj = new C2sSprotoType.start_lilian.request();
        obj.invitation_id = curRun.card.csv_id;
        obj.quanguan_id   = curRun.hall.csv_id;
        NetworkManager.Instance.LiLianStart(obj);
    }
コード例 #5
0
    public void LiLianOpen(LiLianViewData d)
    {
        bool flag     = false;
        int  runCount = 0;

        if (runList != null && runList.Count > 0)
        {
            for (int i = 0; i < runList.Count; i++)
            {
                if (runList[i].hall != null && runList[i].state != 0)
                {
                    runCount++;
                    if (runList[i].hall.csv_id == d.data.csv_id)
                    {
                        flag = true;
                    }
                }
            }
        }
        pop.name.text = "csv——id" + d.data.csv_id;
        if (UserManager.Instance.GetStrength() < d.data.need_phy_power)
        {
            ToastManager.Instance.Show("体力不够");
        }
        else if (data.queue <= runCount)
        {
            ToastManager.Instance.Show("队列以满");
        }
        else if (d.num >= d.data.day_finish_time)
        {
            //todo
            RestHall(d);
        }
        else if (this.runEvent.runTime != null)
        {
            ToastManager.Instance.Show("不能在事件进行时开始历练");
        }
        else if (flag)
        {
            ToastManager.Instance.Show("不可再历练");
        }
        else
        {
            //LiLianSend(d);
            MainUI.Instance.LilianHanPop(d.data);
        }
    }
コード例 #6
0
 public void InitHallData()
 {
     hallTable = new Dictionary <int, LiLianViewData>();
     foreach (KeyValuePair <int, LiLianHallData> pair in GameShared.Instance.lilianHallTable)
     {
         LiLianViewData d = new LiLianViewData();
         d.data   = pair.Value;
         d.unlock = false;
         d.num    = 0;
         if (lilian_level >= d.data.open_level)
         {
             d.unlock = true;
         }
         if (hallTable.ContainsKey(d.data.csv_id))
         {
             hallTable[d.data.csv_id] = d;
         }
         else
         {
             hallTable.Add(d.data.csv_id, d);
         }
     }
 }
コード例 #7
0
 public void RestHall(LiLianViewData view)
 {
     if (view.rest_num >= UserManager.Instance.curVipdata.SCHOOL_reset_count)
     {
         ToastManager.Instance.Show("达到重置最大次数");
     }
     else if (UserManager.Instance.diamond < GameShared.Instance.GetLiLianStrengthByCount(view.num).diamond)
     {
         ToastManager.Instance.Show("钻石不够");
     }
     else
     {
         MainUI.Instance.SetPopState(MainUI.PopType.YesOrNo, true);
         GameObject obj = Instantiate(MainUI.Instance.yesOrNoPop);
         obj.SetActive(true);
         yesPop = obj.GetComponent <YesOrNoPop>();
         yesPop.InitData(view, "是用" + GameShared.Instance.GetLiLianStrengthByCount(view.num).diamond + "钻石购买"
                         );
         yesPop.YesCallBackEvent    += RestHallYes;
         yesPop.transform.parent     = pop.transform.parent;
         yesPop.transform.position   = Vector3.zero;
         yesPop.transform.localScale = Vector3.one;
     }
 }
コード例 #8
0
 public void GetLiLianSward(LiLianViewData d)
 {
     OpenSwaredPop(d.run);
 }
コード例 #9
0
    public void LiLianInfoCallback(C2sSprotoType.get_lilian_info.response resp)
    {
        Debug.Log("get_lilian_info" + "phy_power:" + resp.phy_power + "level:" + resp.level + "lilian_exp:" + resp.lilian_exp
                  + "resp.lilian_exp:" + resp.lilian_exp + "purch_phy_power_num:" + resp.purch_phy_power_num + "present_phy_power_num:" + resp.present_phy_power_num);
        present_phy_power_num = (int)resp.present_phy_power_num;
        //信息
        UserManager.Instance.strength     = (int)resp.phy_power;
        UserManager.Instance.lilian_level = (int)resp.level;
        UserManager.Instance.lilian_exp   = (int)resp.lilian_exp;
        purch_phy_power_num   = (int)resp.purch_phy_power_num;
        pop.NumTxt.text       = purch_phy_power_num + "/" + UserManager.Instance.curVipdata.purchase_hp_count;
        pop.totalTimeTxt.text = "";
        pop.timeTxt.text      = "";
        data = GameShared.Instance.GetLiLianLevelById(UserManager.Instance.lilian_level);

        //正在历练de
        runList = new List <LiLianRunData>();
        for (int r = 0; r < data.queue; r++)
        {
            runList.Add(InitLiLianRunData());
        }
        runEvent      = InitLiLianRunData();
        runEvent.view = pop.eventView.time;
        pop.eventView.RestView(runEvent);



        SetExpPrograss();
        ChangeStrength(resp.phy_power_left_cd_time);
        pop.name.text = "";


        data = GameShared.Instance.GetLiLianLevelById(UserManager.Instance.lilian_level);
        pop.levelBar.value   = (float)UserManager.Instance.lilian_exp / data.experience;
        pop.level.text       = UserManager.Instance.lilian_level.ToString();
        pop.levelBarTxt.text = UserManager.Instance.lilian_exp + "/" + data.experience;



        //拳官
        List <LiLianViewData> hallList = new List <LiLianViewData>();

        foreach (KeyValuePair <int, LiLianViewData> pair in UserManager.Instance.hallTable)
        {
            pair.Value.unlock = false;
            if (UserManager.Instance.lilian_level >= pair.Value.data.open_level)
            {
                pair.Value.unlock = true;
            }
            hallList.Add(pair.Value);
        }

        if (resp.lilian_num_list != null)
        {
            for (int r = 0; r < resp.lilian_num_list.Count; r++)
            {
                Debug.Log("get_lilian_info--lilian_num_list:[" + r + "]: quanguan_id" + resp.lilian_num_list[r].quanguan_id +
                          "num ; " + resp.lilian_num_list[r].num + "reset_num" + resp.lilian_num_list[r].reset_num);
                LiLianViewData d = new LiLianViewData();
                d.data     = GameShared.Instance.GetLiLianHallById((int)resp.lilian_num_list[r].quanguan_id);
                d.num      = (int)resp.lilian_num_list[r].num;
                d.rest_num = (int)resp.lilian_num_list[r].reset_num;

                if (UserManager.Instance.hallTable.ContainsKey(d.data.csv_id))
                {
                    UserManager.Instance.hallTable[d.data.csv_id] = d;
                }
                else
                {
                    UserManager.Instance.hallTable.Add(d.data.csv_id, d);
                }
            }
        }

        timer = new PassiveTimer(1);
        pop.SetLiLianList(hallList);
        pop.SetLiLianRun(runList);


        int ind = 0;

        swardList = new List <ItemViewData>();
        if (resp.basic_info != null)
        {
            for (int i = 0; i < resp.basic_info.Count; i++)
            {
                LiLianRunData d = new LiLianRunData();
                d.quanguan_id = (int)resp.basic_info[i].quanguan_id;
                d.card_id     = (int)resp.basic_info[i].invitation_id;
                d.triggr_id   = (int)resp.basic_info[i].eventid;
                d.hall        = GameShared.Instance.GetLiLianHallById((int)resp.basic_info[i].quanguan_id);
                d.time        = DateTime.Now.AddSeconds(resp.basic_info[i].left_cd_time);

                d.if_event_reward  = (int)resp.basic_info[i].if_event_reward;
                d.if_lilian_reward = (int)resp.basic_info[i].if_lilian_reward;
                d.type             = (Def.LiLianType)resp.basic_info[i].delay_type;
                d.swaredList       = new List <ItemViewData>();

                string debugss = "";
                if (resp.basic_info[i].reward != null)
                {
                    for (int r = 0; r < resp.basic_info[i].reward.Count; r++)
                    {
                        ItemViewData v = new ItemViewData();
                        v.data     = GameShared.Instance.GetItemData((int)resp.basic_info[i].reward[r].propid);
                        debugss   += resp.basic_info[i].reward[r].propid.ToString() + "-";
                        v.curCount = (int)resp.basic_info[i].reward[r].propnum;
                        d.swaredList.Add(v);
                    }
                }

                Debug.Log("get_lilian_info--basic_info:[" + i + "]: quanguan_id:" + resp.basic_info[i].quanguan_id +
                          "left_cd_time" + resp.basic_info[i].left_cd_time + "delay_type " + resp.basic_info[i].delay_type + "if_lilian_reward"
                          + resp.basic_info[i].if_lilian_reward + "if_event_reward" + resp.basic_info[i].if_event_reward + "if_trigger_event" + resp.basic_info[i].if_trigger_event +
                          "invitation_id" + resp.basic_info[i].invitation_id + "reward:" + debugss);

                if (d.if_lilian_reward == 1)
                {
                    d.card = GameShared.Instance.GetLiLianCardById((int)resp.basic_info[i].invitation_id);
                    List <GameShared.StrData> str2 = GameShared.Instance.GetStrData(d.card.reward);
                    for (int j = 0; j < str2.Count; j++)
                    {
                        ItemViewData item = new ItemViewData();
                        item.data     = GameShared.Instance.GetItemData(str2[j].id);
                        item.curCount = str2[j].num;
                        d.swaredList.Add(item);
                    }
                }
                if (d.if_event_reward == 1)
                {
                    runEvent      = d;
                    runEvent.view = pop.eventView.time;
                }


                if (d.type == Def.LiLianType.Lilian)
                {
                    ind++;
                }

                if (resp.basic_info[i].left_cd_time > 0)
                {
                    d.time = DateTime.Now.AddSeconds(resp.basic_info[i].left_cd_time);
                    //runList.Add(d.quanguan_id, d);
                    d.runid = ind;

                    AddLiLianRun(d);
                }
                else
                {
                    d.runid = ind;
                    RemoveInitLiLianRun(d);
                }
            }
        }
    }