示例#1
0
        /// <summary>
        /// 检查玩家是否有意愿捡取该品质物品
        /// </summary>
        /// <param name="tpid">物品配置ID</param>
        /// <returns></returns>
        public bool WillPick(uint tpid)
        {
            a3_ItemData itmData = a3_BagModel.getInstance().getItemDataById(tpid);
            int         quality = itmData.quality;
            int         bitQual = (1 << (quality - 1));
            bool        will    = true;

            if (itmData.item_type == 1)
            {//道具
             //will = ((bitQual & PickMat) != 0);
                var      ap       = XMLMgr.instance.GetSXML("autoplay");
                string[] eqpcl    = ap.GetNode("eqp_cailiao").getString("list").Split(',');
                string[] petcl    = ap.GetNode("pet_cailiao").getString("list").Split(',');
                string[] wingcl   = ap.GetNode("wing_cailiao").getString("list").Split(',');
                string[] summoncl = ap.GetNode("summon_cailiao").getString("list").Split(',');
                string[] drugscl  = ap.GetNode("drugs").getString("list").Split(',');
                if (eqpcl.Contains(tpid.ToString()) && PickEqp_cailiao != 1)
                {
                    will = false;
                }
                else if (petcl.Contains(tpid.ToString()) && PickPet_cailiao != 1)
                {
                    will = false;
                }
                else if (wingcl.Contains(tpid.ToString()) && PickWing_cailiao != 1)
                {
                    will = false;
                }
                else if (summoncl.Contains(tpid.ToString()) && PickSummon_cailiao != 1)
                {
                    will = false;
                }
                else if (drugscl.Contains(tpid.ToString()) && PickDrugs != 1)
                {
                    will = false;
                }
                else if (PickOther != 1)
                {
                    will = false;
                }
            }
            else if (itmData.item_type == 2)
            {//装备
                will = ((bitQual & PickEqp) != 0);
            }
            else if (tpid == 0)
            {//金币
                if (PickGold != 1)
                {
                    will = false;
                }
            }


            return(will);
        }
示例#2
0
    public void refreshViewData1(Variant v)
    {
        int  num  = v["carr"];
        bool flag = v.ContainsKey("eqp");

        if (flag)
        {
            this.m_roleDta.m_BodyID       = 0;
            this.m_roleDta.m_BodyFXID     = 0;
            this.m_roleDta.m_EquipColorID = 0u;
            this.m_roleDta.m_Weapon_LID   = 0;
            this.m_roleDta.m_Weapon_LFXID = 0;
            this.m_roleDta.m_Weapon_RID   = 0;
            this.m_roleDta.m_Weapon_RFXID = 0;
            foreach (Variant current in v["eqp"]._arr)
            {
                a3_ItemData itemDataById = ModelBase <a3_BagModel> .getInstance().getItemDataById(current["tpid"]);

                bool flag2 = itemDataById.equip_type == 3;
                if (flag2)
                {
                    int tpid     = (int)itemDataById.tpid;
                    int bodyFXID = current["intensify"];
                    this.m_roleDta.m_BodyID   = tpid;
                    this.m_roleDta.m_BodyFXID = bodyFXID;
                    uint equipColorID = 0u;
                    bool flag3        = current.ContainsKey("colour");
                    if (flag3)
                    {
                        equipColorID = current["colour"];
                    }
                    this.m_roleDta.m_EquipColorID = equipColorID;
                }
                bool flag4 = itemDataById.equip_type == 6;
                if (flag4)
                {
                    int tpid2 = (int)itemDataById.tpid;
                    int num2  = current["intensify"];
                    switch (num)
                    {
                    case 2:
                        this.m_roleDta.m_Weapon_RID   = tpid2;
                        this.m_roleDta.m_Weapon_RFXID = num2;
                        break;

                    case 3:
                        this.m_roleDta.m_Weapon_LID   = tpid2;
                        this.m_roleDta.m_Weapon_LFXID = num2;
                        break;

                    case 5:
                        this.m_roleDta.m_Weapon_LID   = tpid2;
                        this.m_roleDta.m_Weapon_LFXID = num2;
                        this.m_roleDta.m_Weapon_RID   = tpid2;
                        this.m_roleDta.m_Weapon_RFXID = num2;
                        break;
                    }
                }
            }
        }
        bool flag5 = v.ContainsKey("wing");

        if (flag5)
        {
            this.m_roleDta.m_WindID = v["wing"];
        }
        bool flag6 = v.ContainsKey("ach_title");

        if (flag6)
        {
            base.title_id = v["ach_title"];
            base.isactive = v["title_display"]._bool;
            PlayerNameUIMgr.getInstance().refreshTitlelv(this, base.title_id);
        }
        bool flag7 = v.ContainsKey("lvl");

        if (flag7)
        {
            this.lvl = v["lvl"];
        }
        bool flag8 = v.ContainsKey("combpt");

        if (flag8)
        {
            this.combpt = v["combpt"];
        }
        bool flag9 = v.ContainsKey("clname");

        if (flag9)
        {
            this.clanName = v["clname"];
        }
        ArrayList arrayList = new ArrayList();

        arrayList.Add(this.m_unCID);
        arrayList.Add(this.combpt);
        bool flag10 = BaseProxy <FriendProxy> .getInstance() != null;

        if (flag10)
        {
            BaseProxy <FriendProxy> .getInstance().reFreshProfessionInfo(arrayList);
        }
        bool flag11 = OtherPlayerMgr._inst.VIEW_PLAYER_TYPE == 1 || this.m_isMain;

        if (flag11)
        {
            base.refreshViewType(BaseRole.VIEW_TYPE_ALL);
        }
    }
示例#3
0
    public override void refreshViewData(Variant v)
    {
        bool flag = !this.m_isMain && this.m_moveAgent != null && this.m_moveAgent.enabled;

        if (flag)
        {
            this.m_moveAgent.avoidancePriority = 48;
        }
        this.detailInfo = v;
        int  num   = v["carr"];
        bool flag2 = v.ContainsKey("activate_count");

        if (flag2)
        {
            this.m_roleDta.add_eff = false;
            bool flag3 = v["activate_count"] >= 10;
            if (flag3)
            {
                this.m_roleDta.add_eff = true;
            }
        }
        bool flag4 = v.ContainsKey("show_eqp");

        if (flag4)
        {
            this.m_roleDta.m_BodyID       = 0;
            this.m_roleDta.m_BodyFXID     = 0;
            this.m_roleDta.m_EquipColorID = 0u;
            this.m_roleDta.m_Weapon_LID   = 0;
            this.m_roleDta.m_Weapon_LFXID = 0;
            this.m_roleDta.m_Weapon_RID   = 0;
            this.m_roleDta.m_Weapon_RFXID = 0;
            foreach (Variant current in v["show_eqp"]._arr)
            {
                a3_ItemData itemDataById = ModelBase <a3_BagModel> .getInstance().getItemDataById(current["tpid"]);

                bool flag5 = itemDataById.equip_type == 3;
                if (flag5)
                {
                    int tpid     = (int)itemDataById.tpid;
                    int bodyFXID = current["stage"];
                    this.m_roleDta.m_BodyID   = tpid;
                    this.m_roleDta.m_BodyFXID = bodyFXID;
                    uint equipColorID = 0u;
                    bool flag6        = current.ContainsKey("colour");
                    if (flag6)
                    {
                        equipColorID = current["colour"];
                    }
                    this.m_roleDta.m_EquipColorID = equipColorID;
                }
                bool flag7 = itemDataById.equip_type == 6;
                if (flag7)
                {
                    int tpid2 = (int)itemDataById.tpid;
                    int num2  = current["stage"];
                    switch (num)
                    {
                    case 2:
                        this.m_roleDta.m_Weapon_RID   = tpid2;
                        this.m_roleDta.m_Weapon_RFXID = num2;
                        break;

                    case 3:
                        this.m_roleDta.m_Weapon_LID   = tpid2;
                        this.m_roleDta.m_Weapon_LFXID = num2;
                        break;

                    case 5:
                        this.m_roleDta.m_Weapon_LID   = tpid2;
                        this.m_roleDta.m_Weapon_LFXID = num2;
                        this.m_roleDta.m_Weapon_RID   = tpid2;
                        this.m_roleDta.m_Weapon_RFXID = num2;
                        break;
                    }
                }
            }
        }
        bool flag8 = v.ContainsKey("wing");

        if (flag8)
        {
            this.m_roleDta.m_WindID = v["wing"]["show_stage"];
        }
        bool flag9 = v.ContainsKey("ach_title");

        if (flag9)
        {
            base.title_id = v["ach_title"];
            base.isactive = v["title_display"]._bool;
            PlayerNameUIMgr.getInstance().refreshTitlelv(this, base.title_id);
        }
        bool flag10 = v.ContainsKey("serial_kp");

        if (flag10)
        {
            PlayerNameUIMgr.getInstance().refreserialCount(this, v["serial_kp"]);
        }
        bool flag11 = v.ContainsKey("rednm");

        if (flag11)
        {
            base.rednm = v["rednm"];
            PlayerNameUIMgr.getInstance().refreshNameColor(this, base.rednm);
            bool flag12 = SelfRole._inst != null && SelfRole._inst.m_LockRole != null && SelfRole._inst.m_LockRole.m_unIID == v["iid"];
            if (flag12)
            {
                PkmodelAdmin.RefreshShow(SelfRole._inst.m_LockRole, false, true);
            }
        }
        bool flag13 = v.ContainsKey("strike_back_tm");

        if (flag13)
        {
            base.hidbacktime = v["strike_back_tm"];
            PlayerNameUIMgr.getInstance().refresHitback(this, (int)(base.hidbacktime - (uint)NetClient.instance.CurServerTimeStamp), false);
        }
        bool flag14 = v.ContainsKey("lvl");

        if (flag14)
        {
            this.lvl = v["lvl"];
        }
        bool flag15 = v.ContainsKey("combpt");

        if (flag15)
        {
            this.combpt = v["combpt"];
        }
        bool flag16 = v.ContainsKey("clname");

        if (flag16)
        {
            this.clanName = v["clname"];
        }
        ArrayList arrayList = new ArrayList();

        arrayList.Add(this.m_unCID);
        arrayList.Add(this.combpt);
        bool flag17 = BaseProxy <FriendProxy> .getInstance() != null;

        if (flag17)
        {
            BaseProxy <FriendProxy> .getInstance().reFreshProfessionInfo(arrayList);
        }
        bool flag18 = OtherPlayerMgr._inst.VIEW_PLAYER_TYPE == 1 || this.m_isMain;

        if (flag18)
        {
            base.refreshViewType(BaseRole.VIEW_TYPE_ALL);
        }
    }
示例#4
0
        public bool WillPick(uint tpid)
        {
            a3_ItemData itemDataById = ModelBase <a3_BagModel> .getInstance().getItemDataById(tpid);

            int  quality = itemDataById.quality;
            int  num     = 1 << quality - 1;
            bool result  = true;
            bool flag    = itemDataById.item_type == 1;

            if (flag)
            {
                SXML     sXML   = XMLMgr.instance.GetSXML("autoplay", "");
                string[] source = sXML.GetNode("eqp_cailiao", "").getString("list").Split(new char[]
                {
                    ','
                });
                string[] source2 = sXML.GetNode("pet_cailiao", "").getString("list").Split(new char[]
                {
                    ','
                });
                string[] source3 = sXML.GetNode("wing_cailiao", "").getString("list").Split(new char[]
                {
                    ','
                });
                string[] source4 = sXML.GetNode("summon_cailiao", "").getString("list").Split(new char[]
                {
                    ','
                });
                string[] source5 = sXML.GetNode("drugs", "").getString("list").Split(new char[]
                {
                    ','
                });
                bool flag2 = source.Contains(tpid.ToString()) && this.PickEqp_cailiao != 1;
                if (flag2)
                {
                    result = false;
                }
                else
                {
                    bool flag3 = source2.Contains(tpid.ToString()) && this.PickPet_cailiao != 1;
                    if (flag3)
                    {
                        result = false;
                    }
                    else
                    {
                        bool flag4 = source3.Contains(tpid.ToString()) && this.PickWing_cailiao != 1;
                        if (flag4)
                        {
                            result = false;
                        }
                        else
                        {
                            bool flag5 = source4.Contains(tpid.ToString()) && this.PickSummon_cailiao != 1;
                            if (flag5)
                            {
                                result = false;
                            }
                            else
                            {
                                bool flag6 = source5.Contains(tpid.ToString()) && this.PickDrugs != 1;
                                if (flag6)
                                {
                                    result = false;
                                }
                                else
                                {
                                    bool flag7 = this.PickOther != 1;
                                    if (flag7)
                                    {
                                        result = false;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                bool flag8 = itemDataById.item_type == 2;
                if (flag8)
                {
                    result = ((num & this.PickEqp) != 0);
                }
                else
                {
                    bool flag9 = tpid == 0u;
                    if (flag9)
                    {
                        bool flag10 = this.PickGold != 1;
                        if (flag10)
                        {
                            result = false;
                        }
                    }
                }
            }
            return(result);
        }