using Cal.DataTable; namespace ET { public static class TrialCopyHelper { public static async ETTask GetReword(Unit unit, MonsterBase monsterBase, UnOrderMultiMap rewordMap) { await ETTask.CompletedTask; float expAddtion = 1; PlayerData playerData = unit.GetComponent(); float drop = 1; NumericComponent num = unit.GetComponent(); if (!unit.IsAlive) { expAddtion *= 0.5f; drop *= 0.5f; } //!Exp long exp = MathHelper.RoundToLong(monsterBase.Exp * playerData.BattleExpSpeed * expAddtion); num.AddSet(NumericType.Exp, exp); if (drop != 0) { M2C_SendReward rewardRet = new M2C_SendReward(); DropHelper. Drop(unit, playerData, BattleType.TrialCopy, monsterBase.Dropasubset, rewordMap, drop, "试炼掉落", list:rewardRet.ItemList); SendMessage(unit, num, rewardRet, exp, 0); } UnitHelper.Save(unit).Coroutine(); } private static void SendMessage(Unit unit, NumericComponent num, M2C_SendReward rewardRet, long exp, long coin) { M2C_SendBag bagRet = new M2C_SendBag(); BagHelper.GetBagInfo(unit, bagRet.BagMapList); MessageHelper.SendActor(unit, bagRet); //!发送奖励信息 rewardRet.Exp = exp; rewardRet.Coin = coin; MessageHelper.SendActor(unit, rewardRet); } } }