Пример #1
0
 public void UpLevel()
 {
     if (pop.curBoxView.data.level < Def.BoxLevelMax)
     {
         int             ind = pop.curBoxView.data.data.levelData.g_csv_id + 1;
         BoxingLevelData l   = GameShared.Instance.GetBoxingLevelByIdCon(ind);
         if (!UserManager.Instance.ResByType(l.coin_type, l.coin))
         {
             ToastManager.Instance.Show("金币不够" + l.coin);
         }
         else if (pop.curBoxView.data.frag_num < l.item_num)
         {
             ToastManager.Instance.Show("碎片不够");
         }
         else
         {
             C2sSprotoType.kungfu_levelup.request obj = new C2sSprotoType.kungfu_levelup.request();
             obj.csv_id  = pop.curBoxView.data.data.csv_id;
             obj.k_level = pop.curBoxView.data.level + 1;
             obj.k_type  = (int)pop.curBoxView.data.data.levelData.skill_type;
             pop.upLevelBtn.isEnabled = false;
             NetworkManager.Instance.BoxingUp(obj);
         }
     }
     else
     {
         ToastManager.Instance.Show("不能再升了");
     }
 }
Пример #2
0
    public void EnterAraneBattleLevelCallback()
    {
        List <RoleData> rllist = new List <RoleData>();
        RoleData        e      = new RoleData();

        e.csv_id = UserManager.Instance.curLeveldata.monster_csv_id1;
        MonsterData d = GameShared.Instance.GetMonsterById(UserManager.Instance.curLeveldata.monster_csv_id1);

        e.attrArr[(int)Def.AttrType.FightPower] = d.combat;
        e.attrArr[(int)Def.AttrType.Defense]    = d.defense;
        e.attrArr[(int)Def.AttrType.Crit]       = d.critical_hit;
        e.attrArr[(int)Def.AttrType.Pray]       = d.blessing;

        List <BoxingLevelData> rl = new List <BoxingLevelData>();

        if (UserManager.Instance.curRole.boxingList != null && UserManager.Instance.curRole.boxingList.Count > 0)
        {
            for (int i = 0; i < UserManager.Instance.curRole.boxingList.Count; i++)
            {
                if (UserManager.Instance.curRole.boxingList[i].viewdata.data.levelData.skill_type == Def.SkillType.Active)
                {
                    rl.Add(UserManager.Instance.curRole.boxingList[i].viewdata.data.levelData);
                }
            }
        }
        UserManager.Instance.curRole.boxingBattleList = rl;
        rllist.Add(UserManager.Instance.curRole);
        rllist.Add(UserManager.Instance.curRole);
        rllist.Add(UserManager.Instance.curRole);

        List <RoleData>        ellist = new List <RoleData>();
        List <BoxingLevelData> el     = new List <BoxingLevelData>();
        List <int>             str    = GameShared.Instance.GetStr(d.boxing_id);

        for (int i = 0; i < str.Count; i++)
        {
            BoxingLevelData l = GameShared.Instance.GetBoxingLevelById(str[i]);
            if (l.skill_type == Def.SkillType.Active)
            {
                el.Add(l);
            }
        }
        e.boxingBattleList = el;
        ellist.Add(e);
        ellist.Add(e);
        ellist.Add(e);

        BattleManager.Instance.InitArane(rllist, ellist);
        UIManager.Instance.uiRoot.SetActive(false);
        Application.LoadLevelAdditive("game");
    }
Пример #3
0
    public void UpLevelCallback(C2sSprotoType.kungfu_levelup.response resp)
    {
        //拳法升级
        pop.upLevelBtn.isEnabled = true;
        if (resp.errorcode == 1)
        {
            BoxingViewData v = pop.curBoxView.data;

            v.level++;
            int id = (v.data.csv_id * 1000) + v.level;
            v.data.levelData = GameShared.Instance.GetBoxingLevelById(id);

            pop.GetBoxView(v.data.csv_id).data.sort       = GetSort(v);
            pop.GetBoxView(v.data.csv_id).gameObject.name = GetSort(v).ToString();

            UserManager.Instance.SubResByType(v.data.levelData.coin_type, v.data.levelData.coin);
            BagMgr.Instance.SubItemNumById(v.data.levelData.item_id, v.data.levelData.item_num);
            v.frag_num = BagMgr.Instance.GetItemNumById(v.data.levelData.item_id);
            Debug.Log(v.sort + "/" + v.data.csv_id);
            //获得下一级的碎片数
            int             ind = v.data.levelData.g_csv_id + 1;
            BoxingLevelData l   = GameShared.Instance.GetBoxingLevelByIdCon(ind);
            if (v.level < Def.BoxLevelMax)
            {
                //查找背包有多少item
                //v.frag_num = BagMgr.Instance.GetItemNumById(v.data.item_id);
                if (v.frag_num >= l.item_num)
                {
                    v.fra_value = 1.0f;
                }
                else
                {
                    float a = (float)v.frag_num / (float)l.item_num;
                    v.fra_value = a;
                }
            }
            else
            {
                v.fra_value = 1.0f;
            }
            pop.boxingIcon.RestItem(v);
            pop.SetBoxingInfo(v, GetAttr(v.data));
            pop.SetFragNum(v.frag_num + "/" + l.item_num);
            pop.boxTable.Reposition();
            pop.boxTable.repositionNow = true;
        }
    }
Пример #4
0
    public void InitBoxingLevelTableData()
    {
        System.Collections.IDictionaryEnumerator enumerator = boxingLevelTable.GetEnumerator();
        while (enumerator.MoveNext())
        {
            BoxingLevelData r  = boxingLevelTable[enumerator.Key] as BoxingLevelData;
            BuffData        b1 = GameShared.Instance.GetBuffById(r.buff_id);
            b1.GetBuffAttr();
            r.attrArr     = b1.attrArr;
            r.additionArr = b1.additionArr;

            BuffData b2 = GameShared.Instance.GetBuffById(r.equip_buff_id);
            b2.GetBuffAttr();
            r.equipAttrArr     = b2.attrArr;
            r.equipAdditionArr = b2.additionArr;
        }
    }
Пример #5
0
    //选中显示
    public void SetSelectBoxing(BoxingView view)
    {
        BoxingViewData v = view.data;

        Debug.Log(v.sort + "/" + v.data.csv_id);
        if (v.frag_num < 1)
        {
            v.frag_num = BagMgr.Instance.GetItemNumById(view.data.data.levelData.item_id);
        }

        int             ind = view.data.data.levelData.g_csv_id;
        BoxingLevelData bld = null;

        if (v.level < Def.BoxLevelMax)
        {
            //查找背包有多少item
            ind++;
            bld = GameShared.Instance.GetBoxingLevelByIdCon(ind);
            if (v.frag_num >= bld.item_num)
            {
                v.fra_value = 1.0f;
            }
            else
            {
                float a = (float)v.frag_num / (float)bld.item_num;
                v.fra_value = a;
            }
        }
        else
        {
            bld         = GameShared.Instance.GetBoxingLevelByIdCon(ind);
            v.fra_value = 1.0f;
        }

        pop.boxingIcon.RestItem(v);
        pop.SetBoxingInfo(v, GetAttr(v.data));
        pop.curBoxView.SetFous(true);
        pop.SetFragNum(v.frag_num + "/" + bld.item_num);
        //CheckBtn();
    }
 public RoleData FillRoleData(int id, List <long> boxlist, RoleData d,
                              long sum_combat, long sum_defense, long sum_critical_hit, long sum_king)
 {
     d.csv_id = id;
     d.attrArr[(int)Def.AttrType.FightPower] = sum_combat;
     d.attrArr[(int)Def.AttrType.Defense]    = sum_defense;
     d.attrArr[(int)Def.AttrType.Crit]       = sum_critical_hit;
     d.attrArr[(int)Def.AttrType.Pray]       = sum_king;
     d.path = GameShared.Instance.GetRoleStarById((d.csv_id * 1000) + 1).anim;
     for (int j = 0; j < boxlist.Count; j++)
     {
         if ((int)boxlist[j] != 0)
         {
             BoxingLevelData l = GameShared.Instance.GetBoxingLevelById((int)boxlist[j]);
             if (l.skill_type == Def.SkillType.Active)
             {
                 d.boxingBattleList.Add(l);
             }
         }
     }
     return(d);
 }
Пример #7
0
    //拳法
    public Hashtable QueryBoxingLevelTable()
    {
        InitDB();
        SqliteDataReader sqReader = db.ReadFullTable("g_kungfu");
        Hashtable        table    = new Hashtable();

        while (sqReader.Read())
        {
            BoxingLevelData item = new BoxingLevelData();
            item.g_csv_id        = sqReader.GetInt32(sqReader.GetOrdinal("g_csv_id"));
            item.name            = sqReader.GetString(sqReader.GetOrdinal("name"));
            item.csv_id          = sqReader.GetInt32(sqReader.GetOrdinal("csv_id"));
            item.skill_level     = sqReader.GetInt32(sqReader.GetOrdinal("level"));
            item.skill_icon      = sqReader.GetString(sqReader.GetOrdinal("icon"));
            item.skill_desc      = sqReader.GetString(sqReader.GetOrdinal("desc"));
            item.skill_effect    = sqReader.GetString(sqReader.GetOrdinal("effect"));
            item.skill_type      = (Def.SkillType)sqReader.GetInt32(sqReader.GetOrdinal("type"));
            item.skill_hurt      = (Def.HurtType)sqReader.GetInt32(sqReader.GetOrdinal("harm_type"));
            item.trigger_pre     = sqReader.GetInt32(sqReader.GetOrdinal("arise_probability"));
            item.trigger_num     = sqReader.GetInt32(sqReader.GetOrdinal("arise_count"));
            item.trigger_type    = (Def.TriggerType)sqReader.GetInt32(sqReader.GetOrdinal("arise_type"));
            item.trigger_arg     = sqReader.GetInt32(sqReader.GetOrdinal("arise_param"));
            item.formula_type    = (Def.FormulaType)sqReader.GetInt32(sqReader.GetOrdinal("attack_type"));
            item.effect_pre      = sqReader.GetInt32(sqReader.GetOrdinal("effect_pre"));
            item.add_effect_type = (Def.AddEffectType)sqReader.GetInt32(sqReader.GetOrdinal("attch_type"));
            item.add_state_pre   = sqReader.GetInt32(sqReader.GetOrdinal("attch_state"));
            item.buff_id         = sqReader.GetInt32(sqReader.GetOrdinal("buff_id"));
            item.item_id         = sqReader.GetInt32(sqReader.GetOrdinal("prop_csv_id"));
            item.item_num        = sqReader.GetInt32(sqReader.GetOrdinal("prop_num"));
            item.coin_type       = sqReader.GetInt32(sqReader.GetOrdinal("currency_type"));
            item.coin            = sqReader.GetInt32(sqReader.GetOrdinal("currency_num"));
            item.equip_buff_id   = sqReader.GetInt32(sqReader.GetOrdinal("quip_buff_id"));
            table.Add(item.g_csv_id, item);
        }
        return(table);
    }