public static void SetFleetLevel(int fleetLevel) { Mem_record user_record = Comm_UserDatas.Instance.User_record; if (user_record.Level == fleetLevel) { return; } Dictionary <int, int> mstLevelUser = ArrayMaster.GetMstLevelUser(); int num = 0; if (!mstLevelUser.TryGetValue(fleetLevel, ref num)) { return; } uint exp = user_record.Exp; int num2 = (int)((long)num - (long)((ulong)exp)); if (num2 < 0) { user_record.GetType().InvokeMember("_level", 2084, null, user_record, new object[] { 1 }); user_record.GetType().InvokeMember("_exp", 2084, null, user_record, new object[] { 0u }); num2 = num; } user_record.UpdateExp(num2, mstLevelUser); }
public static void SetFleetLevel(int fleetLevel) { Mem_record user_record = Comm_UserDatas.Instance.User_record; if (user_record.Level == fleetLevel) { return; } Dictionary <int, int> mstLevelUser = ArrayMaster.GetMstLevelUser(); int value = 0; if (mstLevelUser.TryGetValue(fleetLevel, out value)) { uint exp = user_record.Exp; int num = (int)(value - exp); if (num < 0) { user_record.GetType().InvokeMember("_level", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.SetField, null, user_record, new object[1] { 1 }); user_record.GetType().InvokeMember("_exp", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.SetField, null, user_record, new object[1] { 0u }); num = value; } user_record.UpdateExp(num, mstLevelUser); } }