public bool SyncOtherData(role_property serverPropery) { if (mOtherData == null) { mOtherData = new PlayerData(); } SyncBaseData(serverPropery); SyncBag(serverPropery); SyncWingData(serverPropery); return(true); }
public void SyncBag(role_property serverProperty) { //只同步装备栏 if (serverProperty.equipbag == null) { return; } mOtherData.mPack.Clear(); mOtherData.mPack.SyncPackBag(PackageType.Pack_Equip, serverProperty.equipbag); mOtherData.mPack.SyncPackBag(PackageType.Pack_Weapon, serverProperty.weaponbag); }
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(); } } }
private bool SyncBaseData(role_property serverPropery) { if (serverPropery.name != null) { mOtherData.name = serverPropery.name.value; } if (serverPropery.level != null) { mOtherData.level = (int)serverPropery.level.value; } if (serverPropery.resid != null) { mOtherData.resId = (int)serverPropery.resid.value; } if (serverPropery.vip_value != null) { mOtherData.vip_value = serverPropery.vip_value.value; } if (serverPropery.vip_level != null) { mOtherData.vip_level = serverPropery.vip_level.value; } if (serverPropery.weapon_id != null) { mOtherData.main_weaponId = (int)serverPropery.weapon_id.value; } if (serverPropery.sub_weapon_id != null) { mOtherData.sub_weaponId = (int)serverPropery.sub_weapon_id.value; } if (serverPropery.exp != null) { mOtherData.exp = (int)serverPropery.exp.value; } if (serverPropery.stren_lv != null) { mOtherData.mStrenLv = serverPropery.stren_lv.value; } if (serverPropery.sp != null) { mOtherData.sp = (int)serverPropery.sp.value; } if (serverPropery.grades != null && serverPropery.grades.Count > 0) { int count = (int)PlayerGradeEnum.PlayerGradeEnumMax; uint[] vals = new uint[count]; for (int i = 0; i < serverPropery.grades.Count; ++i) { if (i < count) { vals[i] = serverPropery.grades[i]; } } mOtherData.mGrades.Grades = vals; } return(true); }