Example #1
0
    public void WingEquip(int wingid, int action)
    {
        WingData wingData = PlayerDataPool.Instance.MainData.mWingData;

        WingItemData        itemData  = wingData.GetWingItemDataById(wingid);
        WingCommonTableItem commonRes = DataManager.WingCommonTable[wingid] as WingCommonTableItem;
        string modelName    = WingModule.GetModelName(wingid, itemData.level);
        int    wingeffectId = WingModule.GetEffectId(wingid, (int)itemData.level);

        if (action == 0)
        {
            RemoveAttach(AttachMountType.Wing);
            GameDebug.Log("装备翅膀");
            ChangeAttach(AttachMountType.Wing, AssetConfig.WeaponPath + modelName, commonRes.modelSlot);
            if (wingeffectId != -1)
            {
                AddEffect((uint)wingeffectId, null, float.NaN, AttachMountType.Wing);
            }
        }
        else
        {
            GameDebug.Log("卸载翅膀");
            RemoveAttach(AttachMountType.Wing);
        }
    }
Example #2
0
    //计算已解锁翅膀属性总和
    public void getPropertyTotal(ref WingItemData wingitemdata)
    {
        for (int j = 0; j < WingDefine.Max_Wing_Level; ++j)
        {
            WingLevelTableItem wlt = DataManager.WingLevelTable[wingitemdata.id * 1000 + (j + 1)] as WingLevelTableItem;
            if (wlt == null)
            {
                GameDebug.LogError("winglevel表不存在id为" + wingitemdata.id * 1000 + (j + 1) + "的数据");
            }

            switch ((WingPropertyType)wlt.propertyType)
            {
            case WingPropertyType.Life:
                wingitemdata.liftTotal += wlt.propertyNum;
                break;

            case WingPropertyType.Attack:
                wingitemdata.attackTotal += wlt.propertyNum;
                break;

            case WingPropertyType.Defence:
                wingitemdata.defenceTotal += wlt.propertyNum;
                break;

            case WingPropertyType.Critical:
                wingitemdata.criticalTotal += wlt.propertyNum;
                break;

            case WingPropertyType.Energy:
                wingitemdata.powerTotal += wlt.propertyNum;
                break;
            }
        }
    }
Example #3
0
    public void SetupWing(int resid)
    {
        if (!DataManager.WingCommonTable.ContainsKey(resid))
        {
            return;
        }

        WingCommonTableItem wingtable = DataManager.WingCommonTable[resid] as WingCommonTableItem;

        if (wingtable == null)
        {
            GameDebug.LogError("WingTable 没有找到 id = " + resid.ToString());
            return;
        }

        if (resid != mResid)
        {
            if (mWing != null)
            {
                mWing.Destroy();
            }

            mResid = resid;
            mWing  = new MeshVisual();
            WingItemData itemData  = PlayerDataPool.Instance.MainData.mWingData.GetWingItemDataById(mResid);
            string       modleName = WingModule.GetModelName(itemData.id, itemData.level);
            //mWing.CreateWithConfig(AssetConfig.WeaponPath + modleName,
        }
    }
Example #4
0
    public uint GetWingLevel(int wingid)
    {
        WingItemData itemData = PlayerDataPool.Instance.MainData.mWingData.GetWingItemDataById(wingid);

        if (itemData == null)
        {
            return(UInt32.MaxValue);
        }
        return(itemData.level);
    }
Example #5
0
    public bool GetWingItemData(int curPageNum, out WingItemData itemdata)
    {
        WingData wd = PlayerDataPool.Instance.MainData.mWingData;

        if (mCurPageNum > wd.wingItems.Count)
        {
            itemdata = null;
            GameDebug.Log("获取翅膀数ItemData据失败");
            return(false);
        }
        itemdata = PlayerDataPool.Instance.MainData.mWingData.wingItems[curPageNum - 1];
        return(true);
    }
Example #6
0
    private void SyncWingData(role_property serverProperty)
    {
        if (serverProperty.wing_info == null)
        {
            return;
        }

        if (serverProperty.wing_info.unlock_count != null)
        {
            if (mOtherData.mWingData.wingItems.Count > (int)serverProperty.wing_info.unlock_count.value)
            {
                //除非重置数据否则不会出现这种情况
                mOtherData.mWingData.Clear();
            }
        }
        if (serverProperty.wing_info.wearid != null)
        {
            mOtherData.mWingData.mWearId = serverProperty.wing_info.wearid.value;
        }
        if (serverProperty.wing_info.items != null && serverProperty.wing_info.items.Count > 0)
        {
            for (int i = 0; i < serverProperty.wing_info.items.Count; ++i)
            {
                WingItemData wing_item_data =
                    mOtherData.mWingData.wingItems.Find(x => (x.id == serverProperty.wing_info.items[i].id));
                if (wing_item_data == null)
                {
                    wing_item_data = new WingItemData();
                    mOtherData.mWingData.wingItems.Add(wing_item_data);
                    wing_item_data.id    = serverProperty.wing_info.items[i].id;
                    wing_item_data.level = serverProperty.wing_info.items[i].level;
                    mOtherData.mWingData.getPropertyTotal(ref wing_item_data);
                    // GameDebug.Log("添加WingitemData数据" + serverProperty.wing_info.items[i].id);
                }

                wing_item_data.id      = serverProperty.wing_info.items[i].id;
                wing_item_data.level   = serverProperty.wing_info.items[i].level;
                wing_item_data.process = serverProperty.wing_info.items[i].process;
                wing_item_data.UpdateProperty();
            }
        }
    }
Example #7
0
    public void SyncProperty(other_role_fight_property msg)
    {
        if (msg == null)
        {
            return;
        }

        name          = msg.name;
        level         = (int)msg.level;
        resId         = (int)msg.job;
        main_weaponId = (int)msg.weapon_id;
        sub_weaponId  = (int)msg.sub_weapon_id;
        mStrenLv      = msg.stren_lv;

        skillData.Clear();

        if (msg.skillinfo != null)
        {
            for (int i = 0; i < msg.skillinfo.levels.Count; ++i)
            {
                skillData.mLevels.Add(i, msg.skillinfo.levels[i]);
            }

            for (int i = 0; i < msg.skillinfo.equips.Count && i < SkillMaxCountDefine.MAX_EQUIP_SKILL_NUM; ++i)
            {
                skillData.skills[i] = msg.skillinfo.equips[i];
            }
        }

        if (msg.wing_info != null)
        {
            if (msg.wing_info.unlock_count != null)
            {
                if (mWingData.wingItems.Count > (int)msg.wing_info.unlock_count.value)
                {
                    //除非重置数据否则不会出现这种情况
                    mWingData.Clear();
                }
            }
            if (msg.wing_info.wearid != null)
            {
                mWingData.mWearId = msg.wing_info.wearid.value;
            }
            if (msg.wing_info.items != null && msg.wing_info.items.Count > 0)
            {
                for (int i = 0; i < msg.wing_info.items.Count; ++i)
                {
                    WingItemData wing_item_data =
                        mWingData.wingItems.Find(x => (x.id == msg.wing_info.items[i].id));
                    if (wing_item_data == null)
                    {
                        wing_item_data = new WingItemData();
                        mWingData.wingItems.Add(wing_item_data);
                        wing_item_data.id    = msg.wing_info.items[i].id;
                        wing_item_data.level = msg.wing_info.items[i].level;
                        mWingData.getPropertyTotal(ref wing_item_data);
                        // GameDebug.Log("添加WingitemData数据" + serverProperty.wing_info.items[i].id);
                    }

                    wing_item_data.id      = msg.wing_info.items[i].id;
                    wing_item_data.level   = msg.wing_info.items[i].level;
                    wing_item_data.process = msg.wing_info.items[i].process;
                    wing_item_data.UpdateProperty();
                }

                EventSystem.Instance.PushEvent(new WingUIEvent(WingUIEvent.WING_GHOST_UPDATE));
            }
        }

        //时装
        role_fashion_info fashion_info = msg.fashion_info;

        if (fashion_info != null)
        {
            if (fashion_info.head_id != null)
            {
                mFashionData.head_id = fashion_info.head_id.value;
                GameDebug.Log("同步Fashion head_id = " + mFashionData.head_id);
            }

            if (fashion_info.uppper_body_id != null)
            {
                mFashionData.upper_body_id = fashion_info.uppper_body_id.value;
                GameDebug.Log("同步Fashion upper_body_id = " + mFashionData.upper_body_id);
            }

            if (fashion_info.lower_body_id != null)
            {
                mFashionData.lower_body_id = fashion_info.lower_body_id.value;
                GameDebug.Log("同步Fashion lower_body_id = " + mFashionData.lower_body_id);
            }

            if (fashion_info.unlock_count != null)
            {
                mFashionData.unlock_count = fashion_info.unlock_count.value;
                GameDebug.Log("同步Fashion unlock_count = " + mFashionData.unlock_count);
            }

            if (fashion_info.items != null)
            {
                for (int i = 0; i < mFashionData.unlock_count; ++i)
                {
                    mFashionData.items[i].id      = fashion_info.items[i].id;
                    mFashionData.items[i].starnum = fashion_info.items[i].starnum;
                    GameDebug.Log("同步Fashion items = " + mFashionData.items[i].id + " starnum =" + mFashionData.items[i].starnum);
                }
            }
        }

        do
        {
            GameDebug.Log("同步对手佣兵信息!");
            mMainCropsInfo.mCropsId      = msg.maincrops.cropsid;
            mMainCropsInfo.mCropsStarslv = msg.maincrops.starslv;
            mSubCropsInfo.mCropsId       = msg.subcrops.cropsid;
            mSubCropsInfo.mCropsStarslv  = msg.subcrops.starslv;
        } while (false);
    }