Main/Component/UI/Effect/TimeMgr.cs
@@ -9,13 +9,11 @@ private Dictionary<Component, TimeItem> timeItems = new Dictionary<Component, TimeItem>(); private List<TimeItem> timeItemList = new List<TimeItem>(); private int hourBuff = -1; private int minuteBuff = -1; public int dayBuff = -1; public int monthBuff { get { return LocalSave.GetInt("month"); } private set { LocalSave.SetInt("month", value); } } public int weekBuff { get { return LocalSave.GetInt("week"); } private set { LocalSave.SetInt("week", value); } } public event Action OnDayEvent; public event Action OnHourEvent; public event Action OnMinuteEvent; public event Action OnMonthAfterPlayerDataInitializeEvent; public event Action OnWeekAfterPlayerDataInitializeEvent; @@ -55,14 +53,6 @@ OnHourEvent(); } hourBuff = TimeUtility.ServerNow.Hour; } if (minuteBuff != TimeUtility.ServerNow.Minute) { if (OnMinuteEvent != null) { OnMinuteEvent(); } minuteBuff = TimeUtility.ServerNow.Minute; } } catch (Exception e) Main/Config/PartialConfigs/ChestsAwardConfig.cs
@@ -1,9 +1,4 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Sunday, February 04, 2018 //-------------------------------------------------------- using System.Collections.Generic; using System.Collections.Generic; public partial class ChestsAwardConfig : ConfigBase<int, ChestsAwardConfig> { Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB223_tagCMTreeLVUP.cs
New file @@ -0,0 +1,18 @@ using UnityEngine; using System.Collections; // B2 23 仙树升级 #tagCMTreeLVUP public class CB223_tagCMTreeLVUP : GameNetPackBasic { public byte Type; // 0-开始升级(请求扣除消耗,开始升级倒计时);1-执行升级(前端自行倒计时,时间到后发送该类型) public CB223_tagCMTreeLVUP () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xB223; } public override void WriteToBytes () { WriteBytes (Type, NetDataType.BYTE); } } Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB223_tagCMTreeLVUP.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 647b6a53269ebc54ba1cdbbd2d5d3c79 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB224_tagCMUseTreeLVUPTimeItem.cs
New file @@ -0,0 +1,20 @@ using UnityEngine; using System.Collections; // B2 24 使用仙树升级减时物品 #tagCMUseTreeLVUPTimeItem public class CB224_tagCMUseTreeLVUPTimeItem : GameNetPackBasic { public uint UseCount; // 使用个数 public byte IsAutoBuy; // 不足个数是否自动购买 public CB224_tagCMUseTreeLVUPTimeItem () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xB224; } public override void WriteToBytes () { WriteBytes (UseCount, NetDataType.DWORD); WriteBytes (IsAutoBuy, NetDataType.BYTE); } } Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB224_tagCMUseTreeLVUPTimeItem.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 7fc725d02eee6f745bb03e23287408a0 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB121_tagMCTreeInfo.cs
New file @@ -0,0 +1,13 @@ using UnityEngine; using System.Collections; // B1 21 仙树信息 #tagMCTreeInfo public class DTCB121_tagMCTreeInfo : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { base.Done(vNetPack); HB121_tagMCTreeInfo vNetData = vNetPack as HB121_tagMCTreeInfo; BlessLVManager.Instance.UpdateBlessLVInfo(vNetData); } } Main/Core/NetworkPackage/DTCFile/ServerPack/HB1_Role/DTCB121_tagMCTreeInfo.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: b2ffbbf1287918e4f964b34b469a7fec MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -110,6 +110,7 @@ Register(typeof(HA814_tagMCMakeItemAnswer), typeof(DTCA814_tagMCMakeItemAnswer)); Register(typeof(HB122_tagSCHeroInfo), typeof(DTCB122_tagSCHeroInfo)); Register(typeof(HA338_tagMCInvestInfo), typeof(DTCA338_tagMCInvestInfo)); Register(typeof(HB121_tagMCTreeInfo), typeof(DTCB121_tagMCTreeInfo)); } //主工程注册封包 Main/Core/NetworkPackage/ServerPack/HB1_Role/HB121_tagMCTreeInfo.cs
New file @@ -0,0 +1,25 @@ using UnityEngine; using System.Collections; // B1 21 仙树信息 #tagMCTreeInfo public class HB121_tagMCTreeInfo : GameNetPackBasic { public byte TreeLV; // 当前仙树等级 public byte LVUPState; // 0-非升级中;1-升级中 public uint LVUPRemainTime; // 升级剩余时间,秒;当升级中且倒计时为0时可发送B223执行升级包进行升级 public byte FreeTimeCnt; // 今日已免费减时次数 public uint FreeTimeLast; // 上次免费减时时间戳 public HB121_tagMCTreeInfo () { _cmd = (ushort)0xB121; } public override void ReadFromBytes (byte[] vBytes) { TransBytes (out TreeLV, vBytes, NetDataType.BYTE); TransBytes (out LVUPState, vBytes, NetDataType.BYTE); TransBytes (out LVUPRemainTime, vBytes, NetDataType.DWORD); TransBytes (out FreeTimeCnt, vBytes, NetDataType.BYTE); TransBytes (out FreeTimeLast, vBytes, NetDataType.DWORD); } } Main/Core/NetworkPackage/ServerPack/HB1_Role/HB121_tagMCTreeInfo.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 5d4fec1aa2a73b64086988aef86ec5c6 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/Main.cs
@@ -76,6 +76,7 @@ managers.Add(PlayerMainDate.Instance); managers.Add(HeroUIManager.Instance); managers.Add(InvestModel.Instance); managers.Add(BlessLVManager.Instance); foreach (var manager in managers) { Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -15,6 +15,10 @@ public override bool IsFinished() { if (null == skillBase) { return true; } return skillBase.IsFinished(); } Main/System/Battle/Motion/MotionBase.cs
@@ -152,6 +152,7 @@ if (anim == null) { BattleDebug.LogError($"找不到动画: {skillConfig.SkillMotionName}"); _onComplete?.Invoke(); return null; } Main/System/Equip/BlessLVCell.cs
New file @@ -0,0 +1,44 @@ using UnityEngine; using UnityEngine.UI; public class BlessLVCell : CellView { [SerializeField] Text qualityName; [SerializeField] Text qualityRate; [SerializeField] Text qualityNextRate; [SerializeField] Image qualityIcon; [SerializeField] OutlineEx qualityNameOutline; public void Display(int index) { var startQuality = BlessLVManager.Instance.GetStartEquipQuality(); var config = TreeLVConfig.Get(BlessLVManager.Instance.m_TreeLV); var nextConfig = TreeLVConfig.Get(BlessLVManager.Instance.m_TreeLV + 1); var quality = startQuality + index; qualityName.text = Language.Get("equipQuality" + quality); qualityName.color = UIHelper.GetUIColor(quality); float rate = 0; if (config != null) { if (quality - 1 < config.EquipColorRateList.Length) rate = config.EquipColorRateList[quality - 1] / 100.0f; } qualityRate.text = rate + "%"; if (nextConfig != null) { if (quality - 1 < nextConfig.EquipColorRateList.Length) rate = nextConfig.EquipColorRateList[quality - 1] / 100.0f; } qualityNextRate.text = rate + "%"; qualityIcon.SetSprite("TreeItemQuality_" + quality); qualityNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(quality); } } Main/System/Equip/BlessLVCell.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: bcbe9f8e3b41b3049be9a08f505fde26 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/Equip/BlessLVManager.cs
New file @@ -0,0 +1,177 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; using System; public class BlessLVManager : GameSystemManager<BlessLVManager> { public int m_TreeLV { get; private set; } // 当前仙树等级 public int m_LVUPState { get; private set; } // 0-非升级中;1-升级中 public int m_LVUPRemainTime { get; private set; } // 升级剩余时间,秒;当升级中且倒计时为0时可发送B223执行升级包进行升级 public int m_FreeTimeCnt { get; private set; } // 今日已免费减时次数 public int m_FreeTimeLast { get; private set; } // 上次免费减时时间戳 public event Action OnBlessLVUpdateEvent; int m_LVPackTime; //收包时间用于计算剩余时间m_LVUPRemainTime public int upgradeTreeMoneyType; //升级仙树消耗的货币类型 public int timeUpTreeItemID; //加速仙树升级的道具ID public int timeUpTreeItemSubTime; //减少仙树升级时间的道具减少的时间 public int dayFreeMaxTimes; //每日免费升级次数 public int freeTimeCD; //免费减少时间的冷却CD 分 public int freeSubTime; //免费减少的时间 分 public int lastTreeLV; //上一次树的等级 用于打开界面的时候播放下升级特效 public override void Init() { m_TreeLV = 0; m_LVUPState = 0; m_LVUPRemainTime = 0; m_LVPackTime = 0; DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOK; GlobalTimeEvent.Instance.fiveSecondEvent += OnTimeEvent; ParseConfig(); } public override void Release() { DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOK; GlobalTimeEvent.Instance.fiveSecondEvent -= OnTimeEvent; } void OnPlayerLoginOK() { lastTreeLV = 0; AutoUpgrade(); UpdateTreeRedpoint(); } void ParseConfig() { var config = FuncConfigConfig.Get("TreeLVUP"); upgradeTreeMoneyType = int.Parse(config.Numerical1); var arr = config.Numerical2.Split('|'); timeUpTreeItemID = int.Parse(arr[0]); timeUpTreeItemSubTime = int.Parse(arr[1]); dayFreeMaxTimes = int.Parse(config.Numerical3); freeTimeCD = int.Parse(config.Numerical4); freeSubTime = int.Parse(config.Numerical5); } public void UpdateBlessLVInfo(HB121_tagMCTreeInfo netPack) { m_TreeLV = netPack.TreeLV; m_LVUPState = netPack.LVUPState; m_LVUPRemainTime = (int)netPack.LVUPRemainTime; m_FreeTimeCnt = netPack.FreeTimeCnt; m_FreeTimeLast = (int)netPack.FreeTimeLast; m_LVPackTime = TimeUtility.AllSeconds; if (lastTreeLV == 0) { lastTreeLV = m_TreeLV; } OnBlessLVUpdateEvent?.Invoke(); UpdateTreeRedpoint(); AutoUpgrade(); } public int GetLVUPRemainTime() { if (m_LVUPState == 0) return 0; return m_LVUPRemainTime - (TimeUtility.AllSeconds - m_LVPackTime); } public int GetFreeRemainTime() { if (m_LVUPState == 0) return 0; return m_FreeTimeLast + freeTimeCD * 60 - TimeUtility.AllSeconds; } Redpoint redpointTree = new Redpoint(MainRedDot.BlessLVRedpoint); Redpoint redpointTreeItem = new Redpoint(MainRedDot.BlessLVRedpoint, MainRedDot.BlessLVRedpoint * 10); Redpoint redpointTreeFree = new Redpoint(MainRedDot.BlessLVRedpoint, MainRedDot.BlessLVRedpoint * 10 + 1); void UpdateTreeRedpoint() { redpointTreeFree.state = RedPointState.None; redpointTreeItem.state = RedPointState.None; redpointTree.state = RedPointState.None; var config = TreeLVConfig.Get(m_TreeLV); if (config == null) return; //非升级中检查升级材料 if (m_LVUPState == 0) { if (UIHelper.GetMoneyCnt(upgradeTreeMoneyType) >= config.LVUPNeedMoney) { redpointTree.state = RedPointState.Simple; } } else { //检查时间道具 和 免费的时间 if (PackManager.Instance.GetSinglePack(PackType.Item).HasItem(timeUpTreeItemID)) { redpointTreeItem.state = RedPointState.Simple; return; } if (m_FreeTimeCnt > 0 && GetFreeRemainTime() <= 0) { redpointTreeFree.state = RedPointState.Simple; return; } } } public void AutoUpgrade() { //时间结束自动通知服务端升级,或者打开界面时,或者上线 都做检查 if (m_LVUPState == 0) { return; } if (GetLVUPRemainTime() > 0) { return; } var pack = new CB223_tagCMTreeLVUP(); pack.Type = 1; GameNetSystem.Instance.SendInfo(pack); } void OnTimeEvent() { //升级中检查 倒计时结束;非升级中检查免费次数时间 红点 if (m_LVUPState == 1) { //升级 AutoUpgrade(); } UpdateTreeRedpoint(); } //装备品质的起始表现,最小1 public int GetStartEquipQuality() { var rateList = TreeLVConfig.Get(m_TreeLV).EquipColorRateList; for (int i = 0; i < rateList.Length; i++) { if (rateList[i] != 0) return i + 1; } return 1; } } Main/System/Equip/BlessLVManager.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 4ec372b43a4e10e4798aa452c7c1f6aa MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/Equip/BlessLVTimeUpWin.cs
New file @@ -0,0 +1,112 @@ using System; using UnityEngine; using UnityEngine.UI; public class BlessLVTimeUpWin : UIBase { [SerializeField] ItemCell itemCell; [SerializeField] Text itemCntTxt; [SerializeField] LongPressButton subBtn; [SerializeField] LongPressButton addBtn; [SerializeField] Text timeText; [SerializeField] Button speedBtn; protected override void InitComponent() { addBtn.SetListener(OnClickPlus); addBtn.onPress.AddListener(OnClickPlus); subBtn.SetListener(OnClickReduce); subBtn.onPress.AddListener(OnClickReduce); speedBtn.AddListener(OnSpeedUP); } protected override void OnPreOpen() { int count = (int)PackManager.Instance.GetItemCountByID(PackType.Item, BlessLVManager.Instance.timeUpTreeItemID); itemCell.Init(new ItemCellModel(BlessLVManager.Instance.timeUpTreeItemID, false, count)); itemCell.button.AddListener(() => { ItemTipUtility.Show(BlessLVManager.Instance.timeUpTreeItemID); }); var remainTime = BlessLVManager.Instance.GetLVUPRemainTime(); int needCount = (int)Math.Ceiling((float)remainTime / BlessLVManager.Instance.timeUpTreeItemSubTime); showCount = Math.Min(count, needCount); RefreshCount(needCount, remainTime); RefreshBtn(showCount); } int showCount; void RefreshCount(int needCount, int remainTime) { itemCntTxt.text = showCount + "/" + needCount; timeText.text = Language.Get("L1100", Language.Get("BlessTree8"), TimeUtility.SecondsToDHMSEx(remainTime)) + UIHelper.AppendColor(TextColType.DarkGreen, "(" + TimeUtility.SecondsToDHMSEx(showCount * BlessLVManager.Instance.timeUpTreeItemSubTime) + ")"); } void RefreshBtn(int maxCount) { if (showCount >= maxCount) { addBtn.interactable = false; addBtn.SetColorful(null, false); } else { addBtn.interactable = true; addBtn.SetColorful(null, true); } if (showCount == 0) { subBtn.interactable = false; subBtn.SetColorful(null, false); } else { subBtn.interactable = true; subBtn.SetColorful(null, true); } } void OnClickPlus() { int count = (int)PackManager.Instance.GetItemCountByID(PackType.Item, BlessLVManager.Instance.timeUpTreeItemID); var remainTime = BlessLVManager.Instance.GetLVUPRemainTime(); int needCount = (int)Math.Ceiling((float)remainTime / BlessLVManager.Instance.timeUpTreeItemSubTime); if (showCount == Math.Min(count, needCount)) return; showCount++; RefreshCount(needCount, remainTime); RefreshBtn(Math.Min(count, needCount)); } void OnClickReduce() { if (showCount == 0) return; var remainTime = BlessLVManager.Instance.GetLVUPRemainTime(); showCount--; itemCntTxt.text = showCount.ToString(); int needCount = (int)Math.Ceiling((float)remainTime / BlessLVManager.Instance.timeUpTreeItemSubTime); RefreshCount(needCount, remainTime); int count = (int)PackManager.Instance.GetItemCountByID(PackType.Item, BlessLVManager.Instance.timeUpTreeItemID); RefreshBtn(Math.Min(count, needCount)); } void OnSpeedUP() { var pack = new CB224_tagCMUseTreeLVUPTimeItem(); pack.UseCount = (uint)showCount; GameNetSystem.Instance.SendInfo(pack); CloseWindow(); } } Main/System/Equip/BlessLVTimeUpWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: 71aa0a65d75dea04c9bded1f9bc01fc3 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/Equip/BlessLVWin.cs
New file @@ -0,0 +1,214 @@ using System; using UnityEngine; using UnityEngine.UI; public class BlessLVWin : UIBase { [SerializeField] Text curLVTxt; [SerializeField] Text nextLVTxt; [SerializeField] ScrollerController scroller; [SerializeField] Text leftTime; [SerializeField] Transform upgradeOnState; //升级中按钮 [SerializeField] Text itemCntTxt; [SerializeField] Image itemIcon; [SerializeField] Button timeUpBtn; //加速时间按钮 [SerializeField] Button freeBtn; [SerializeField] Text freeLeftTime; [SerializeField] Transform upgradeWaiteState; //待升级 [SerializeField] Image processImg; //进度 [SerializeField] Text moneyText; [SerializeField] Image moneyTypeImg; [SerializeField] Button upgradeButton; [SerializeField] UIEffectPlayer upgradeEffect; [SerializeField] UIEffectPlayer btnEffect; protected override void InitComponent() { timeUpBtn.AddListener(() => { UIManager.Instance.OpenWindow<BlessLVTimeUpWin>(); }); upgradeButton.AddListener(OnUpgrade); freeBtn.AddListener(() => { var pack = new CA504_tagCMPlayerGetReward(); pack.RewardType = 82; GameNetSystem.Instance.SendInfo(pack); }); } protected override void OnPreOpen() { BlessLVManager.Instance.OnBlessLVUpdateEvent += Display; PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefreshEvent; GlobalTimeEvent.Instance.secondEvent += OnTimeEvent; scroller.OnRefreshCell += OnRefreshCell; CreateScroller(); Display(); BlessLVManager.Instance.AutoUpgrade(); } protected override void OnPreClose() { BlessLVManager.Instance.OnBlessLVUpdateEvent -= Display; PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefreshEvent; GlobalTimeEvent.Instance.secondEvent -= OnTimeEvent; scroller.OnRefreshCell -= OnRefreshCell; } void DisplayLVUPEffect() { if (BlessLVManager.Instance.lastTreeLV != BlessLVManager.Instance.m_TreeLV) { BlessLVManager.Instance.lastTreeLV = BlessLVManager.Instance.m_TreeLV; upgradeEffect.Play(); } else { upgradeEffect.Stop(); } } void OnTimeEvent() { if (BlessLVManager.Instance.m_LVUPState == 1) { if (BlessLVManager.Instance.GetLVUPRemainTime() > 0) { TimeUpShow(); } } } void Display() { curLVTxt.text = Language.Get("L1100", Language.Get("BlessTree2"), BlessLVManager.Instance.m_TreeLV); nextLVTxt.text = Language.Get("L1100", Language.Get("BlessTree3"), BlessLVManager.Instance.m_TreeLV + 1); var config = TreeLVConfig.Get(BlessLVManager.Instance.m_TreeLV); itemIcon.SetItemSprite(BlessLVManager.Instance.timeUpTreeItemID); //待升级 if (BlessLVManager.Instance.m_LVUPState == 0) { upgradeOnState.SetActive(false); upgradeWaiteState.SetActive(true); leftTime.text = Language.Get("L1100", Language.Get("BlessTree8"), TimeUtility.SecondsToDHMSEx(config.LVUPNeedTime)); ShowMoney(); moneyTypeImg.SetIconWithMoneyType(BlessLVManager.Instance.upgradeTreeMoneyType); } else { upgradeOnState.SetActive(true); upgradeWaiteState.SetActive(false); TimeUpShow(); } DisplayLVUPEffect(); scroller.m_Scorller.RefreshActiveCellViews(); } void TimeUpShow() { var remainTime = BlessLVManager.Instance.GetLVUPRemainTime(); leftTime.text = Language.Get("L1100", Language.Get("BlessTree8"), TimeUtility.SecondsToDHMSEx(remainTime)); long itemCnt = PackManager.Instance.GetItemCountByID(PackType.Item, BlessLVManager.Instance.timeUpTreeItemID); int needCount = (int)Math.Ceiling((float)remainTime / BlessLVManager.Instance.timeUpTreeItemSubTime); itemCntTxt.text = itemCnt + "/" + needCount; itemCntTxt.color = itemCnt >= needCount ? UIHelper.GetUIColor(TextColType.Green, true) : UIHelper.GetUIColor(TextColType.Red, true); if (BlessLVManager.Instance.m_FreeTimeCnt < BlessLVManager.Instance.dayFreeMaxTimes) { var freeeRemainTime = BlessLVManager.Instance.GetFreeRemainTime(); if (freeeRemainTime > 0) { freeLeftTime.text = TimeUtility.SecondsToHMS(freeeRemainTime); freeBtn.interactable = false; } else { freeLeftTime.text = ""; freeBtn.interactable = true; } } else { freeLeftTime.text = ""; freeBtn.interactable = false; } } void CreateScroller() { scroller.Refresh(); for (int i = 0; i < 13; i++) { scroller.AddCell(ScrollerDataType.Header, i); } scroller.Restart(); } void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as BlessLVCell; _cell.Display(cell.index); } private void OnPlayerDataRefreshEvent(PlayerDataType type) { if (type == UIHelper.moneyTypeToPlayerDataType[BlessLVManager.Instance.upgradeTreeMoneyType]) { ShowMoney(); } } void ShowMoney() { var config = TreeLVConfig.Get(BlessLVManager.Instance.m_TreeLV); string needMoney = config.LVUPNeedMoney.ToString(); if (config.LVUPNeedMoney >= 1000000) needMoney = UIHelper.ReplaceLargeNum(config.LVUPNeedMoney); long lsMoney = UIHelper.GetMoneyCnt(BlessLVManager.Instance.upgradeTreeMoneyType); string money = lsMoney.ToString(); if (lsMoney >= 1000000) money = UIHelper.ReplaceLargeNum(lsMoney); moneyText.text = money + "/" + needMoney; // moneyText.color = lsMoney >= config.LVUPNeedMoney ? UIHelper.GetUIColor(TextColType.Green, true) : UIHelper.GetUIColor(TextColType.Red, true); moneyTypeImg.SetIconWithMoneyType(BlessLVManager.Instance.upgradeTreeMoneyType); processImg.fillAmount = (float)lsMoney / config.LVUPNeedMoney; } void OnUpgrade() { var config = TreeLVConfig.Get(BlessLVManager.Instance.m_TreeLV); if (config.LVUPNeedMoney > UIHelper.GetMoneyCnt(BlessLVManager.Instance.upgradeTreeMoneyType)) { ItemTipUtility.ShowMoneyTip(BlessLVManager.Instance.upgradeTreeMoneyType); return; } var pack = new CB223_tagCMTreeLVUP(); pack.Type = 0; GameNetSystem.Instance.SendInfo(pack); } } Main/System/Equip/BlessLVWin.cs.meta
New file @@ -0,0 +1,11 @@ fileFormatVersion: 2 guid: e9b4d07c3a38a1b4cb30eea29e82efa5 MonoImporter: externalObjects: {} serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: Main/System/Main/HomeWin.cs
@@ -28,7 +28,8 @@ [SerializeField] Button changeHeroPosBtn; [SerializeField] Button autoBtn; [SerializeField] Button blessLVBtn; [SerializeField] Text blessLVText; //其他功能入口 [SerializeField] Button monthCardBtn; @@ -78,37 +79,41 @@ { InvestModel.Instance.BuyInvest(InvestModel.monthCardType); }); blessLVBtn.AddListener(()=> { UIManager.Instance.OpenWindow<BlessLVWin>(); }); } public override void Refresh() public void Display() { UpdatePlayerInfo(); UpdateTask(); RefreshRecharge(); ShowBlessLV(); } protected override void OnPreOpen() { PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; TaskManager.Instance.OnTaskUpdate += UpdateTask; Refresh(); BlessLVManager.Instance.OnBlessLVUpdateEvent += ShowBlessLV; Display(); // var battleWin = UIManager.Instance.OpenWindow<BattleWin>(); // battleWin.SetBattleField(BattleManager.Instance.storyBattleField); } protected override void OnOpen() { base.OnOpen(); } protected override void OnPreClose() { PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; TaskManager.Instance.OnTaskUpdate -= UpdateTask; BlessLVManager.Instance.OnBlessLVUpdateEvent -= ShowBlessLV; // 关闭的时候把战斗界面也给关了 虽然是在外面开的 UIManager.Instance.CloseWindow<BattleWin>(); @@ -135,6 +140,12 @@ monthCardBtn.SetActive(!InvestModel.Instance.IsInvested(InvestModel.monthCardType)); } void ShowBlessLV() { blessLVText.text = BlessLVManager.Instance.m_TreeLV.ToString(); } /// <summary> /// 更新玩家信息 /// </summary> Main/System/Main/MoneyMoveByPath.cs
@@ -46,7 +46,7 @@ //挂父节点 imgMoney.transform.SetParentEx(this.transform, Vector3.zero, Quaternion.identity, Vector3.one); var moneyImg = imgMoney.GetComponent<ImageEx>(); moneyImg.SetSprite(StringUtility.Contact("Money_Type_", moneyType)); moneyImg.SetIconWithMoneyType(moneyType); moneyImg.raycastTarget = false; moneyImg.GetComponent<RectTransform>().sizeDelta = new Vector2(40, 40); imgMoneys.Add(moneyImg); Main/System/Message/ImgAnalysis.cs
@@ -131,6 +131,11 @@ presentImgInfo.spriteName = array[1]; } break; case "folder": { presentImgInfo.folderName = array[1]; } break; case "face": { presentImgInfo.spriteName = array[1]; @@ -189,8 +194,15 @@ if (presentImgInfo.IsFace) return; if (IconConfig.isInit) { if (!string.IsNullOrEmpty(presentImgInfo.folderName)) { presentImgInfo.sprite = UILoader.LoadSprite(presentImgInfo.folderName, presentImgInfo.spriteName); } else { presentImgInfo.sprite = UILoader.LoadSprite(presentImgInfo.spriteName); } } if (presentImgInfo.sprite != null) { Main/System/Message/RichTextMgr.cs
@@ -122,6 +122,7 @@ public Sprite sprite; public string spriteName; public string folderName; //没有在icon表中配置的,直接配置图片名,需配置文件夹路径 public bool IsFace; public float scale; //缩放图片的同时,二次缩放了图片在文本钟的占位大小,查看函数InverseToRichText Main/System/Recharge/GotoChargeWin.cs
@@ -1,8 +1,3 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, May 09, 2018 //-------------------------------------------------------- using System; using UnityEngine; using UnityEngine.UI; Main/System/Redpoint/MainRedDot.cs
@@ -79,6 +79,7 @@ public readonly Redpoint fairyActivityRedpoint = new Redpoint(218); #endregion public static int BlessLVRedpoint = 399; //祝福等级红点 public static int DailySpecialsRedpoint = 439; //每日特惠入口红点 public static int BlessedLandRedpoint = 444; //福地红点 Main/Utility/ComponentExtersion.cs
@@ -306,6 +306,40 @@ _image.overrideSprite = sprite; } public static void SetItemSprite(this Image _image, int itemID) { if (_image == null) { return; } var itemConfig = ItemConfig.Get(itemID); if (itemConfig == null) { return; } var sprite = UILoader.LoadSprite("icon", itemConfig.IconKey); _image.overrideSprite = sprite; } public static void SetSkillSprite(this Image _image, int skillID) { if (_image == null) { return; } var skillConfig = SkillConfig.Get(skillID); if (skillConfig == null) { return; } var sprite = UILoader.LoadSprite("SkillIcon", skillConfig.IconName); _image.overrideSprite = sprite; } public static void SetActive(this Component compoent, bool active) { if (compoent != null) Main/Utility/TimeUtility.cs
@@ -345,6 +345,21 @@ } //例子 //大于24小时显示:x天xx小时xx分 //小于24小时显示:xx:xx:xx public static string SecondsToDHMSEx(int _seconds) { int days = _seconds / 86400; int hours = _seconds % 86400 / 3600; int mins = _seconds % 3600 / 60; int seconds = _seconds % 60; if (days > 0) { return StringUtility.Contact(days, Language.Get("L1074"), hours.ToString("D2"), Language.Get("L1072"), mins.ToString("D2"), Language.Get("L1073")); } return StringUtility.Contact(hours.ToString("D2"), ":", mins.ToString("D2"), ":", seconds.ToString("D2")); } //例子 //x天 //x时 //x分x秒 Main/Utility/UIHelper.cs
@@ -69,20 +69,28 @@ public static void SetIconWithMoneyType(this Image _image, int moneyType) { if (_image == null) return; string iconKey = StringUtility.Contact("Money_Type_", moneyType); _image.SetSprite(iconKey); } public static void SetSmallIconWithMoneyType(this Image _image, int moneyType) // string iconKey = StringUtility.Contact("Money_Type_", moneyType); if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType)) { if (_image == null) return; string iconKey = StringUtility.Contact("SmallMoney", moneyType); _image.SetSprite(iconKey); _image.SetOrgSprite(ItemConfig.Get(GeneralDefine.MoneyDisplayModel[moneyType]).IconKey); } else { Debug.LogError("MoneyDisplayModel 为配置货币类型:" + moneyType); } } public static string GetIconNameWithMoneyType(int moneyType) { return StringUtility.Contact("Money_Type_", moneyType); if (GeneralDefine.MoneyDisplayModel.ContainsKey(moneyType)) { return ItemConfig.Get(GeneralDefine.MoneyDisplayModel[moneyType]).IconKey; } else { Debug.LogError("MoneyDisplayModel 为配置货币类型:" + moneyType); return ""; } } /// <summary>