From 0780d6f78efd25030fdbb0701a14d43d73a0ebe2 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 21 三月 2019 09:50:03 +0800
Subject: [PATCH] Merge branch 'master' into Rune
---
System/Realm/RealmModel.cs | 42 ++
Core/Camera/CameraController.cs | 10
System/Realm/RealmWin.cs | 13
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs.meta | 12
System/Realm/RealmPoolBehaviour.cs.meta | 12
System/Realm/RealmLevelUpBehaviour.cs | 3
Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs.meta | 12
System/Realm/RealmAnimationBehaviour.cs | 126 ++++---
System/Realm/RealmTransitionWin.cs | 103 ++++++
System/Realm/RealmTransitionWin.cs.meta | 12
System/Equip/EquipModel.cs | 118 ++++++
System/ItemTip/EquipTipUtility.cs | 4
Core/GameEngine/DataToCtl/PackageRegedit.cs | 1
System/KnapSack/Logic/SinglePack.cs | 2
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs | 24 +
System/Auction/FullServiceAuctionWin.cs | 51 +-
Fight/GameActor/GActorPlayerBase.cs | 47 +-
System/Realm/RealmTakeExpWin.cs.meta | 12
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs.meta | 12
Core/GameEngine/Model/Config/RealmConfig.cs | 22
Core/GameEngine/Model/Config/RealmConfig.cs.meta | 2
System/Realm/RealmPoolBehaviour.cs | 84 ++++
System/KnapSack/Logic/ItemTipsModel.cs | 3
System/Equip/EquipSuitPropertyWidget.cs | 38 ++
System/MainInterfacePanel/ChatFrame.cs | 4
System/Equip/RealmEquipWin.cs | 14
System/EquipGem/EquipEvolutionWin.cs | 71 +++
Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs | 16
System/Auction/AuctionHelpModel.cs | 10
Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs | 21 +
System/Realm/RealmTakeExpWin.cs | 94 +++++
System/KnapSack/Logic/ItemLogicUtility.cs | 16
System/KnapSack/Logic/SelectBoxItemCell.cs | 1
System/Auction/FullServiceAuctioncell.cs | 4
34 files changed, 877 insertions(+), 139 deletions(-)
diff --git a/Core/Camera/CameraController.cs b/Core/Camera/CameraController.cs
index 0e4852a..1fbc060 100644
--- a/Core/Camera/CameraController.cs
+++ b/Core/Camera/CameraController.cs
@@ -103,6 +103,16 @@
}
}
+ public void PlayAnimationClipUnLimit(string name)
+ {
+ AnimationClip _clip = BuiltInLoader.LoadAnimationClip(name);
+ if (_clip != null)
+ {
+ m_Animation.AddClip(_clip, "start_show");
+ m_Animation.Play("start_show");
+ }
+ }
+
private void OnAnimationOver()
{
IsPlayingAnim = false;
diff --git a/Core/GameEngine/DataToCtl/PackageRegedit.cs b/Core/GameEngine/DataToCtl/PackageRegedit.cs
index 2271eb7..2661f71 100644
--- a/Core/GameEngine/DataToCtl/PackageRegedit.cs
+++ b/Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -25,6 +25,7 @@
public static void Init()
{
// 鐧昏鐩稿簲鐨勬暟鎹綋鍙婂搴旂殑鏁版嵁杞�昏緫绫�
+ Register(typeof(HA327_tagMCRealmExpInfo), typeof(DTCA327_tagMCRealmExpInfo));
Register(typeof(HA40C_tagGCAllFamilyBossInfo), typeof(DTCA40C_tagGCAllFamilyBossInfo));
Register(typeof(HA3B1_tagMCEquipPartStarInfo), typeof(DTCA3B1_tagMCEquipPartStarInfo));
Register(typeof(HA816_tagMCMysticalShopInfo), typeof(DTCA816_tagMCMysticalShopInfo));
diff --git a/Core/GameEngine/Model/Config/RealmConfig.cs b/Core/GameEngine/Model/Config/RealmConfig.cs
index ee62db6..ac6a634 100644
--- a/Core/GameEngine/Model/Config/RealmConfig.cs
+++ b/Core/GameEngine/Model/Config/RealmConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: Fish
-// [ Date ]: Thursday, March 14, 2019
+// [ Date ]: Wednesday, March 20, 2019
//--------------------------------------------------------
using System.Collections.Generic;
@@ -21,6 +21,8 @@
public readonly int[] AddAttrType;
public readonly int[] AddAttrNum;
public readonly int BossID;
+ public readonly long expRate;
+ public readonly long expLimit;
public readonly string Img;
public readonly int Quality;
public readonly int FightPower;
@@ -65,19 +67,23 @@
int.TryParse(tables[7],out BossID);
- Img = tables[8];
+ long.TryParse(tables[8],out expRate);
- int.TryParse(tables[9],out Quality);
+ long.TryParse(tables[9],out expLimit);
- int.TryParse(tables[10],out FightPower);
+ Img = tables[10];
- equipNameIcon = tables[11];
+ int.TryParse(tables[11],out Quality);
- equips = tables[12];
+ int.TryParse(tables[12],out FightPower);
- int.TryParse(tables[13],out effectId);
+ equipNameIcon = tables[13];
- int.TryParse(tables[14],out requireIconEffect);
+ equips = tables[14];
+
+ int.TryParse(tables[15],out effectId);
+
+ int.TryParse(tables[16],out requireIconEffect);
}
catch (Exception ex)
{
diff --git a/Core/GameEngine/Model/Config/RealmConfig.cs.meta b/Core/GameEngine/Model/Config/RealmConfig.cs.meta
index 3706e21..e5ba5ec 100644
--- a/Core/GameEngine/Model/Config/RealmConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/RealmConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: d49ca04ff4a91bc4fb645c417f9ef0b3
-timeCreated: 1552548022
+timeCreated: 1553061533
licenseType: Pro
MonoImporter:
serializedVersion: 2
diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs
new file mode 100644
index 0000000..807ad68
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs
@@ -0,0 +1,16 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 21 境界修为池提取 #tagCMTakeOutRealmExp
+
+public class CA521_tagCMTakeOutRealmExp : GameNetPackBasic {
+
+ public CA521_tagCMTakeOutRealmExp () {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xA521;
+ }
+
+ public override void WriteToBytes () {
+ }
+
+}
diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs.meta b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs.meta
new file mode 100644
index 0000000..8b17519
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA5_Function/CA521_tagCMTakeOutRealmExp.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 60efa2ae65f837242a25ff4bbb5b456b
+timeCreated: 1553064966
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs
new file mode 100644
index 0000000..9ed671c
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs
@@ -0,0 +1,24 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Wednesday, March 20, 2019
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Snxxz.UI;
+public class DTCA327_tagMCRealmExpInfo : DtcBasic
+{
+
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ var package = vNetPack as HA327_tagMCRealmExpInfo;
+ ModelCenter.Instance.GetModel<RealmModel>().ReceivePackage(package);
+ }
+
+}
+
+
+
+
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs.meta b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs.meta
new file mode 100644
index 0000000..fc9c8c5
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA327_tagMCRealmExpInfo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: bbfa3dbab2a4c2b4fae460fc3830c1a6
+timeCreated: 1553065107
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs b/Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs
new file mode 100644
index 0000000..7bba0a9
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs
@@ -0,0 +1,21 @@
+using UnityEngine;
+using System.Collections;
+
+// A3 27 境界修为池信息 #tagMCRealmExpInfo
+
+public class HA327_tagMCRealmExpInfo : GameNetPackBasic {
+ public uint BeginTime; //开始计时时间
+ public uint CurExp; //当前总经验
+ public uint CurExpPoint; //当前总经验点
+
+ public HA327_tagMCRealmExpInfo () {
+ _cmd = (ushort)0xA327;
+ }
+
+ public override void ReadFromBytes (byte[] vBytes) {
+ TransBytes (out BeginTime, vBytes, NetDataType.DWORD);
+ TransBytes (out CurExp, vBytes, NetDataType.DWORD);
+ TransBytes (out CurExpPoint, vBytes, NetDataType.DWORD);
+ }
+
+}
diff --git a/Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs.meta b/Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs.meta
new file mode 100644
index 0000000..30aa00b
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HA3_Function/HA327_tagMCRealmExpInfo.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: cd9074b87c2c7b540b6dfa2ff01c3b0e
+timeCreated: 1553065068
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Fight/GameActor/GActorPlayerBase.cs b/Fight/GameActor/GActorPlayerBase.cs
index 3829c10..70a7e89 100644
--- a/Fight/GameActor/GActorPlayerBase.cs
+++ b/Fight/GameActor/GActorPlayerBase.cs
@@ -591,9 +591,9 @@
return;
}
- int _resID = JobSetup.BaseEquip[1];
+ var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance();
- EquipInfo _equipInfo;
+ int _resID = JobSetup.BaseEquip[1];
// 濡傛灉鏄瑁呬綅缃�
if (index == (int)RoleEquipType.FashionWeapon)
@@ -602,15 +602,15 @@
if (itemID == 0)
{
// 瀵绘壘鍘熻韩涓婅澶�, 濡傛灉鏈夌殑璇濆氨閲嶇疆姝ゆ瑕佹崲瑁呯殑閬撳叿id
- if (m_EquipDict.TryGetValue((int)RoleEquipType.Weapon, out _equipInfo))
+ if (apperance.weapon != 0)
{
- itemID = _equipInfo.itemID;
+ itemID = (uint)apperance.weapon;
}
}
}
else if (index == (int)RoleEquipType.Weapon)
{
- if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon))
+ if (apperance.fashionWeapon != 0)
{
return;
}
@@ -708,14 +708,15 @@
{
return;
}
+
+ var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance();
+
int _baseHandResID = ModelResConfig.GetHandByClothesID((int)ClothesItemID);
int _resID = _baseHandResID;
if (JobSetup.Job == 2)
{
_resID = JobSetup.BaseEquip[2];
}
-
- EquipInfo _equipInfo;
// 濡傛灉鏄瑁呬綅缃�
if (index == (int)RoleEquipType.FashionWeapon2)
@@ -724,15 +725,15 @@
if (itemID == 0)
{
// 瀵绘壘鍘熻韩涓婅澶�, 濡傛灉鏈夌殑璇濆氨閲嶇疆姝ゆ瑕佹崲瑁呯殑閬撳叿id
- if (m_EquipDict.TryGetValue((int)RoleEquipType.Weapon2, out _equipInfo))
+ if (apperance.secondary != 0)
{
- itemID = _equipInfo.itemID;
+ itemID = (uint)apperance.secondary;
}
}
}
else if (index == (int)RoleEquipType.Weapon2)
{
- if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon2))
+ if (apperance.fashionSecondary != 0)
{
return;
}
@@ -795,7 +796,7 @@
}
}
- if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon2))
+ if (apperance.fashionSecondary != 0)
{
SwitchHand(true);
}
@@ -949,7 +950,7 @@
return;
}
- EquipInfo _equipInfo;
+ var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance();
// 鎹㈣ID
int _resID = JobSetup.BaseEquip[0];
@@ -961,15 +962,15 @@
if (itemID == 0)
{
// 瀵绘壘鍘熻韩涓婅澶�, 濡傛灉鏈夌殑璇濆氨閲嶇疆姝ゆ瑕佹崲瑁呯殑閬撳叿id
- if (m_EquipDict.TryGetValue((int)RoleEquipType.Clothes, out _equipInfo))
+ if (apperance.clothes != 0)
{
- itemID = _equipInfo.itemID;
+ itemID = (uint)apperance.clothes;
}
}
}
else if (index == (int)RoleEquipType.Clothes)
{
- if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionClothes))
+ if (apperance.fashionClothes != 0)
{
return;
}
@@ -1134,13 +1135,13 @@
// 鍐冲畾鍓墜閫昏緫
// 濡傛灉褰撳墠鏄椂瑁呭壇鎵�, 鍒欒澶囨椂瑁呮墜鑷�
// 濡傛灉褰撳墠鏄櫘閫氬壇鎵�, 鍒欏嵏涓嬫墜鑷�
- if (m_EquipDict.ContainsKey((int)RoleEquipType.FashionWeapon2))
+ if (apperance.fashionSecondary != 0)
{
SwitchHand(true);
}
else
{
- if (!m_EquipDict.ContainsKey((int)RoleEquipType.Weapon2))
+ if (apperance.fashionSecondary == 0)
{
SwitchHand(true);
}
@@ -1306,20 +1307,16 @@
if (onOrOff)
{
- EquipInfo _equipInfo;
+ var apperance = ModelCenter.Instance.GetModel<EquipModel>().GetAppearance();
+
int _itemID = 7000;
- if (!m_EquipDict.TryGetValue((int)RoleEquipType.FashionClothes, out _equipInfo))
+ if (apperance.fashionClothes == 0)
{
- if (!m_EquipDict.TryGetValue((int)RoleEquipType.Clothes, out _equipInfo))
+ if (apperance.clothes == 0)
{
_itemID = 7000;
}
- }
-
- if (_equipInfo.itemID != 0)
- {
- _itemID = (int)_equipInfo.itemID;
}
int _resID = 7000;
diff --git a/System/Auction/AuctionHelpModel.cs b/System/Auction/AuctionHelpModel.cs
index a1add02..e9260eb 100644
--- a/System/Auction/AuctionHelpModel.cs
+++ b/System/Auction/AuctionHelpModel.cs
@@ -48,6 +48,12 @@
get { return wait; }
set { wait = value; }
}
+ public bool isOpenPanel = true;
+ public bool IsOpenPanel
+ {
+ get { return isOpenPanel; }
+ set { isOpenPanel = value; }
+ }
public override void Init()
{
var AuctionTaxrateConfig = FuncConfigConfig.Get("AuctionTaxrate");
@@ -186,6 +192,10 @@
bool isBool = false;
string equipGuid = string.Empty;
var equipSet = equipModel.GetEquipSet(equipLevel);
+ if (equipSet == null)
+ {
+ return false;
+ }
equipGuid = equipSet.GetEquip(equipPlace);
isBool = !string.IsNullOrEmpty(equipGuid);
return isBool;
diff --git a/System/Auction/FullServiceAuctionWin.cs b/System/Auction/FullServiceAuctionWin.cs
index 4cf4314..c02927a 100644
--- a/System/Auction/FullServiceAuctionWin.cs
+++ b/System/Auction/FullServiceAuctionWin.cs
@@ -26,11 +26,12 @@
[SerializeField] Button m_TypeTipBtn;
[SerializeField] Text m_JobTipText;
[SerializeField] Text m_TypeTipText;
- List<AuctionItemClass> FullServiceAuctionListSort = new List<AuctionItemClass>();//鍏ㄦ湇鎷嶅搧鍒楄〃
+ List<AuctionItemClass> FullServiceAuctionListSort = new List<AuctionItemClass>();//鍏ㄦ湇鎷嶅搧鍒楄〃
AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
private bool IsSendBool = true;
+ private int Times = 0;
protected override void BindController()
{
m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
@@ -48,25 +49,28 @@
protected override void OnPreOpen()
{
- IsSendBool = true;
+ Times = 0;
+ auctionHelpModel.isOpenPanel = true;
+ IsSendBool = false;
+ GlobalTimeEvent.Instance.secondEvent += secondEvent;
model.FullServiceAuctionUpdate += FullServiceAuctionUpdate;//鏁版嵁璇锋眰鍒锋柊
model.RefreshAuctionItemUpdate += RefreshAuctionItemUpdate;//鍒锋柊
model.ClearAuctionUpdate += ClearAuctionUpdate;//娓呴櫎
- model.BiddingItemInfoUpdate += BiddingItemInfoUpdate;//绔炰环鐗╁搧淇℃伅鍒锋柊
- GlobalTimeEvent.Instance.secondEvent += secondEvent;
+ model.BiddingItemInfoUpdate += BiddingItemInfoUpdate;//绔炰环鐗╁搧淇℃伅鍒锋柊
Reset();
CloseTip();
ListSort();
OnCreateGridLineCell(m_ScrollerController);
OnCreateGridLineCellJob(m_ScrollerControllerJob);
- OnCreateGridLineCellType(m_ScrollerControllerType);
+ OnCreateGridLineCellType(m_ScrollerControllerType);
OnCreateGridLineCellItem(m_ScrollerControllerItem);
SetTipText();
}
protected override void OnAfterOpen()
{
-
+
+
}
protected override void OnPreClose()
@@ -77,7 +81,7 @@
model.BiddingItemInfoUpdate -= BiddingItemInfoUpdate;//绔炰环鐗╁搧淇℃伅鍒锋柊
GlobalTimeEvent.Instance.secondEvent -= secondEvent;
}
-
+
protected override void OnAfterClose()
{
}
@@ -85,6 +89,11 @@
private void secondEvent()
{
+ Times += 1;
+ if (Times >= 3 && auctionHelpModel.isOpenPanel)
+ {
+ auctionHelpModel.isOpenPanel = false;
+ }
if (IsSendBool)
{
IsSendBool = false;
@@ -105,7 +114,7 @@
}
private void BiddingItemInfoUpdate()
{
-
+
}
private void OnClickJobTipBtn()
{
@@ -118,7 +127,7 @@
}
private void OnCreateGridLineCell(ScrollerController gridCtrl)
{
-
+
gridCtrl.Refresh();
for (int i = 0; i < auctionHelpModel.FullServiceAuctionList.Count; i++)
{
@@ -172,7 +181,7 @@
if (index != -1)
{
var fullServiceAuction = auctionHelpModel.FullServiceAuctionList[index];
- if (fullServiceAuction.ChooseItem1 != null && fullServiceAuction.ChooseItem1.Length!=0)
+ if (fullServiceAuction.ChooseItem1 != null && fullServiceAuction.ChooseItem1.Length != 0)
{
gridCtrl.Refresh();
for (int i = 0; i < fullServiceAuction.ChooseItem1.Length; i++)
@@ -200,7 +209,7 @@
if (index != config.JobEntry)
{
auctionHelpModel.FullServiceAuctionDic[selectedGenreNow].JobEntry = index;
- IsSendBool = true;
+ IsSendBool = true;
SetTipText();
}
});
@@ -217,7 +226,7 @@
if (index != -1)
{
var fullServiceAuction = auctionHelpModel.FullServiceAuctionList[index];
- if (fullServiceAuction.ChooseItem2 != null && fullServiceAuction.ChooseItem2.Length!=0)
+ if (fullServiceAuction.ChooseItem2 != null && fullServiceAuction.ChooseItem2.Length != 0)
{
gridCtrl.Refresh();
for (int i = 0; i < fullServiceAuction.ChooseItem2.Length; i++)
@@ -245,7 +254,7 @@
if (index != config.TypeEntry)
{
auctionHelpModel.FullServiceAuctionDic[selectedGenreNow].TypeEntry = index;
- IsSendBool=true;
+ IsSendBool = true;
SetTipText();
}
});
@@ -271,9 +280,9 @@
else
{
model.LocationQuery = false;
- }
+ }
gridCtrl.Refresh();
- for (int i = 0; i <FullServiceAuctionListSort.Count; i++)
+ for (int i = 0; i < FullServiceAuctionListSort.Count; i++)
{
gridCtrl.AddCell(ScrollerDataType.Header, i);
}
@@ -297,14 +306,14 @@
{
AuctionInquiry.Instance.SendQueryAuction(string.Empty, sendNumber, 1);
}
-
+
}
private void CloseTip()
{
m_JobTip.SetActive(false);
m_TypeTip.SetActive(false);
}
- private void SetTipText()
+ private void SetTipText()
{
var selectedGenreNow = auctionHelpModel.SelectedGenreNow;
if (auctionHelpModel.FullServiceAuctionDic.ContainsKey(selectedGenreNow))
@@ -323,7 +332,7 @@
}
}
- private void ListSort()
+ private void ListSort()
{
FullServiceAuctionListSort.Clear();
var sendNumber = AuctionInquiry.Instance.GetSendNumber();
@@ -343,7 +352,7 @@
{
FullServiceAuctionListSort.Add(vlaue);
}
- }
+ }
}
FullServiceAuctionListSort.Sort(Compare);
}
@@ -360,7 +369,7 @@
if (havex1.CompareTo(havey1) != 0)//鏄惁鍙備笌
{
return -havex1.CompareTo(havey1);
- }
+ }
return 1;
}
private bool IsHighestPrice(string GUID)
@@ -383,7 +392,7 @@
isBool = true;
}
return isBool;
- }
+ }
}
}
diff --git a/System/Auction/FullServiceAuctioncell.cs b/System/Auction/FullServiceAuctioncell.cs
index 66f6273..1332fad 100644
--- a/System/Auction/FullServiceAuctioncell.cs
+++ b/System/Auction/FullServiceAuctioncell.cs
@@ -55,7 +55,7 @@
if (index < 5)
{
var sendNumber = AuctionInquiry.Instance.GetSendNumber();
- if (sendNumber != 0 && auctionHelpModel.Wait && model.QueryRemaining.UpBool)
+ if (sendNumber != 0 && auctionHelpModel.Wait && model.QueryRemaining.UpBool && !auctionHelpModel.isOpenPanel)
{
AuctionInquiry.Instance.SendQueryAuction(fullServiceAuction.ItemGUID, sendNumber, 2);
auctionHelpModel.Wait = false;
@@ -64,7 +64,7 @@
else if (index >= model.FullServiceAuctionList.Count - 3)
{
var sendNumber = AuctionInquiry.Instance.GetSendNumber();
- if (sendNumber != 0 && auctionHelpModel.Wait && model.QueryRemaining.DownBool)
+ if (sendNumber != 0 && auctionHelpModel.Wait && model.QueryRemaining.DownBool && !auctionHelpModel.isOpenPanel)
{
AuctionInquiry.Instance.SendQueryAuction(fullServiceAuction.ItemGUID, sendNumber, 1);
auctionHelpModel.Wait = false;
diff --git a/System/Equip/EquipModel.cs b/System/Equip/EquipModel.cs
index 1ebf4b0..c88c54c 100644
--- a/System/Equip/EquipModel.cs
+++ b/System/Equip/EquipModel.cs
@@ -7,7 +7,7 @@
namespace Snxxz.UI
{
[XLua.LuaCallCSharp]
- public class EquipModel : Model
+ public class EquipModel : Model, IAfterPlayerDataInitialize
{
public static readonly List<int> realmEquipTypes = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
@@ -15,6 +15,9 @@
get { return LocalSave.GetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "EquipSetUnLockHasShowed"), 1); }
set { LocalSave.SetInt(StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "EquipSetUnLockHasShowed"), value); }
}
+
+ public readonly List<int> showedSuitPlaceEffect = new List<int>();
+ public readonly List<int> showedSuitLevelEffect = new List<int>();
public readonly LogicInt selectedLevel = new LogicInt();
public readonly LogicString selectedEquip = new LogicString();
@@ -26,6 +29,9 @@
public readonly LogicBool isAppearanceLevel = new LogicBool();
public readonly LogicList<int> suitPlaces = new LogicList<int>();
public readonly LogicStruct<EquipSuitProperty> suitProperty = new LogicStruct<EquipSuitProperty>();
+
+ public readonly LogicList<int> suitPlaceCollectEffects = new LogicList<int>();
+ public readonly LogicStruct<EquipSuitActive> suitActive = new LogicStruct<EquipSuitActive>();
static Dictionary<int, string> equipSetNames = new Dictionary<int, string>();
Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>();
@@ -52,6 +58,25 @@
PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
}
+ public void OnAfterPlayerDataInitialize()
+ {
+ var playerId = PlayerDatas.Instance.baseData.PlayerID;
+
+ showedSuitPlaceEffect.Clear();
+ var showedSuitPlaceEffectsRecord = LocalSave.GetIntArray(StringUtility.Contact(playerId, "_showedSuitPlaceEffect"));
+ if (showedSuitPlaceEffectsRecord != null)
+ {
+ showedSuitPlaceEffect.AddRange(showedSuitPlaceEffectsRecord);
+ }
+
+ showedSuitLevelEffect.Clear();
+ var showedSuitLevelEffectsRecord = LocalSave.GetIntArray(StringUtility.Contact(playerId, "_showedSuitLevelEffect"));
+ if (showedSuitLevelEffectsRecord != null)
+ {
+ showedSuitPlaceEffect.AddRange(showedSuitLevelEffectsRecord);
+ }
+ }
+
public int GetLastestUnLockEquipSet()
{
for (int i = sortedLevels.Count - 1; i >= 0; i--)
@@ -64,6 +89,20 @@
}
return 1;
+ }
+
+ public int GetFirstRedpointEquipSet()
+ {
+ for (int i = sortedLevels.Count - 1; i >= 0; i--)
+ {
+ var level = sortedLevels[i];
+ if (equipSets[level].redpoint.state == RedPointState.Simple)
+ {
+ return level;
+ }
+ }
+
+ return GetLastestUnLockEquipSet();
}
public void OneKeyPutOn(int level)
@@ -146,6 +185,8 @@
suitPlaces.Clear();
candidateEquips.Clear();
getWays.Clear();
+ suitPlaceCollectEffects.Clear();
+ suitActive.value = default(EquipSuitActive);
}
private void RefreshCandidateEquips(int level)
@@ -419,6 +460,40 @@
return entry;
}
+ public bool IsSuitPlaceEffectPlayed(Int2 equipPosition)
+ {
+ var place = EquipSet.ClientPlaceToServerPlace(equipPosition);
+ return showedSuitPlaceEffect.Contains(place);
+ }
+
+ public void RecordSuitPlaceEffectPlay(Int2 equipPosition)
+ {
+ var place = EquipSet.ClientPlaceToServerPlace(equipPosition);
+ if (!showedSuitPlaceEffect.Contains(place))
+ {
+ showedSuitPlaceEffect.Add(place);
+ var playerId = PlayerDatas.Instance.baseData.PlayerID;
+ LocalSave.SetIntArray(StringUtility.Contact(playerId, "_showedSuitPlaceEffect"), showedSuitPlaceEffect.ToArray());
+ }
+ }
+
+ public bool IsSuitLevelEffectPlayed(Int3 info)
+ {
+ var place = info.x * 100 + info.y * 10 + info.z;
+ return showedSuitLevelEffect.Contains(place);
+ }
+
+ public void RecordSuitLevelEffectPlay(Int3 info)
+ {
+ var place = info.x * 100 + info.y * 10 + info.z;
+ if (!showedSuitLevelEffect.Contains(place))
+ {
+ showedSuitLevelEffect.Add(place);
+ var playerId = PlayerDatas.Instance.baseData.PlayerID;
+ LocalSave.SetIntArray(StringUtility.Contact(playerId, "_showedSuitLevelEffect"), showedSuitLevelEffect.ToArray());
+ }
+ }
+
private void OnPlayerDataRefresh(PlayerDataType type)
{
switch (type)
@@ -441,6 +516,10 @@
{
case PackType.Item:
UpdateRedpoints();
+ if (selectedLevel.value > 0)
+ {
+ RefreshCandidateEquips(selectedLevel.value);
+ }
break;
case PackType.Equip:
foreach (var set in equipSets.Values)
@@ -591,6 +670,7 @@
private void UpdateSuitPlaces(int level)
{
suitPlaces.Clear();
+ suitPlaceCollectEffects.Clear();
for (int i = 1; i <= 8; i++)
{
var equip = packModel.GetItemByGuid(GetEquip(new Int2(level, i)));
@@ -598,6 +678,10 @@
if (hasSuit)
{
suitPlaces.Add(i);
+ if (!IsSuitPlaceEffectPlayed(new Int2(level, i)))
+ {
+ suitPlaceCollectEffects.Add(i);
+ }
}
}
}
@@ -606,6 +690,7 @@
{
var property = new EquipSuitProperty();
+ property.star = star;
property.twoSuit = GetEquipSuitEntry(level, star, EquipSuitType.TwoSuit);
property.fiveSuit = GetEquipSuitEntry(level, star, EquipSuitType.FiveSuit);
@@ -621,6 +706,26 @@
property.eightActived = GetSuitLevel(level, EquipSuitType.EightSuit) >= star;
this.suitProperty.value = property;
+
+ var suitActive = new EquipSuitActive();
+ suitActive.level = level;
+ suitActive.star = star;
+ if (property.twoSuit.actived && !IsSuitLevelEffectPlayed(new Int3(level, star, 2)))
+ {
+ suitActive.twoActived = true;
+ }
+
+ if (property.fiveSuit.actived && !IsSuitLevelEffectPlayed(new Int3(level, star, 5)))
+ {
+ suitActive.fiveActived = true;
+ }
+
+ if (property.eightActived && !IsSuitLevelEffectPlayed(new Int3(level, star, 8)))
+ {
+ suitActive.eightActived = true;
+ }
+
+ this.suitActive.value = suitActive;
}
private void ParseConfig()
@@ -714,11 +819,22 @@
public struct EquipSuitProperty
{
+ public int star;
public EquipSuitPropertyEntry twoSuit;
public EquipSuitPropertyEntry fiveSuit;
public int eightSuitId;
public bool eightActived;
}
+ public struct EquipSuitActive
+ {
+ public int level;
+ public int star;
+
+ public bool twoActived;
+ public bool fiveActived;
+ public bool eightActived;
+ }
+
}
diff --git a/System/Equip/EquipSuitPropertyWidget.cs b/System/Equip/EquipSuitPropertyWidget.cs
index 4a668a3..77243bf 100644
--- a/System/Equip/EquipSuitPropertyWidget.cs
+++ b/System/Equip/EquipSuitPropertyWidget.cs
@@ -15,14 +15,22 @@
[SerializeField] Text m_SuitName;
[SerializeField] StarToggle[] m_StarToggles;
[SerializeField] Text[] m_SuitEquipNames;
+ [SerializeField] UIEffect[] m_SuitEquipEffects;
[SerializeField] EquipSuitPropertyBar m_TwoSuit;
[SerializeField] EquipSuitPropertyBar m_FiveSuit;
[SerializeField] Text m_EightSuitTitle;
[SerializeField] Text m_EightSuitDescription;
+ [SerializeField] UIEffect[] m_SuitLevelEffects;
+
+ EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
+
+ int level;
public void Init(int level)
{
+ this.level = level;
+
m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name;
var maxLevel = EquipStarModel.GetMaxStarLevel(level);
m_StarToggles[3].SetActive(maxLevel >= 9);
@@ -41,6 +49,15 @@
}
}
+ public void DisplaySuitPlaceEffects(List<int> places)
+ {
+ foreach (var place in places)
+ {
+ m_SuitEquipEffects[place - 1].Play();
+ model.RecordSuitPlaceEffectPlay(new Int2(this.level, place));
+ }
+ }
+
public void DisplayProperty(EquipSuitProperty property)
{
m_TwoSuit.Display(property.twoSuit);
@@ -51,6 +68,27 @@
m_EightSuitDescription.color = color;
}
+ public void DisplaySuitLevelEffects(EquipSuitActive suitActive)
+ {
+ if (suitActive.twoActived)
+ {
+ m_SuitLevelEffects[0].Play();
+ model.RecordSuitLevelEffectPlay(new Int3(suitActive.level, suitActive.star, 2));
+ }
+
+ if (suitActive.fiveActived)
+ {
+ m_SuitLevelEffects[1].Play();
+ model.RecordSuitLevelEffectPlay(new Int3(suitActive.level, suitActive.star, 5));
+ }
+
+ if (suitActive.eightActived)
+ {
+ m_SuitLevelEffects[2].Play();
+ model.RecordSuitLevelEffectPlay(new Int3(suitActive.level, suitActive.star, 8));
+ }
+ }
+
public void Dispose()
{
diff --git a/System/Equip/RealmEquipWin.cs b/System/Equip/RealmEquipWin.cs
index 96bad3a..728ef66 100644
--- a/System/Equip/RealmEquipWin.cs
+++ b/System/Equip/RealmEquipWin.cs
@@ -50,12 +50,14 @@
{
if (model.selectedLevel.value == 0)
{
- model.SelectSet(model.GetLastestUnLockEquipSet());
+ model.SelectSet(model.GetFirstRedpointEquipSet());
}
}
protected override void OnAfterOpen()
{
+ m_SuitPropertyWidget.DisplaySuitPlaceEffects(model.suitPlaceCollectEffects.Fetch());
+ m_SuitPropertyWidget.DisplaySuitLevelEffects(model.suitActive.Fetch());
}
protected override void OnPreClose()
@@ -129,6 +131,16 @@
{
DisplayAppearaneSign(model.isAppearanceLevel.Fetch());
}
+
+ if (this.windowState == WindowState.Opened && model.suitPlaceCollectEffects.dirty)
+ {
+ m_SuitPropertyWidget.DisplaySuitPlaceEffects(model.suitPlaceCollectEffects.Fetch());
+ }
+
+ if (this.windowState == WindowState.Opened && model.suitActive.dirty)
+ {
+ m_SuitPropertyWidget.DisplaySuitLevelEffects(model.suitActive.Fetch());
+ }
}
private void DisplayLevels()
diff --git a/System/EquipGem/EquipEvolutionWin.cs b/System/EquipGem/EquipEvolutionWin.cs
index 0aa8e95..96c9da8 100644
--- a/System/EquipGem/EquipEvolutionWin.cs
+++ b/System/EquipGem/EquipEvolutionWin.cs
@@ -25,6 +25,7 @@
[SerializeField] RichText m_TextAttributesA;
[SerializeField] RichText m_TextAttributesB;
[SerializeField] ItemCell m_ItemCell;
+ [SerializeField] RichText m_ItemCount;
[SerializeField] GameObject m_AdvancedObj;
[SerializeField] GameObject m_FullLevelObj;
@@ -33,6 +34,7 @@
#region Built-in
EquipStrengthModel strengthModel { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } }
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
+ ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
int equipType;
protected override void BindController()
{
@@ -91,18 +93,75 @@
m_TextAttribute2.text = evolveNext.AttrName + "+" + evolveNext.AttrValue;
ItemCellModel cellModel = new ItemCellModel(evolve.CostItemID, true, (ulong)1);
m_ItemCell.Init(cellModel);
+ m_ItemCell.button.SetListener(()=>
+ {
+ ItemAttrData attrData = new ItemAttrData(evolve.CostItemID, false, (ulong)1);
+ itemTipsModel.SetItemTipsModel(attrData);
+ });
+ string strItemCount = string.Empty;
+ string strEquipLevel = string.Empty;
+ string strNeedItemCount = string.Empty;
+
+ int itemCount = 0;
+ int equipLv = 0;
+ int equipIndex = EquipPlaceMapConfig.GetServerPlace(strengthModel.SelectLevel, strengthModel.SelectEquipPlace);
+ if (strengthModel.EquipStrengthDic.ContainsKey(equipIndex))//鑾峰彇褰撳墠寮哄寲绛夌骇
+ {
+ equipLv = strengthModel.EquipStrengthDic[equipIndex].StrengthLevel;
+ }
+
if (advancedLv == 0)
{
-
- m_TextAttributesA.text = Language.Get("ZBQH_05", evolveNext.NeedPlusLV);
- m_TextAttributesB.text = Language.Get("ZBQH_06", evolveNext.CostItemCount);
+ itemCount = playerPack.GetItemCountByID(PackType.Item, evolveNext.CostItemID);
+ strNeedItemCount = itemCount + "/" + evolveNext.CostItemCount;
+ if (itemCount >= evolveNext.CostItemCount)
+ {
+ strItemCount = Language.Get("ZBQH_09", evolveNext.CostItemCount);
+ strNeedItemCount = Language.Get("ZBQH_09", strNeedItemCount);
+ }
+ else
+ {
+ strItemCount = Language.Get("ZBQH_10", evolveNext.CostItemCount);
+ strNeedItemCount = Language.Get("ZBQH_10", strNeedItemCount);
+ }
+ if (equipLv >= evolveNext.NeedPlusLV)
+ {
+ strEquipLevel = Language.Get("ZBQH_09", evolveNext.NeedPlusLV);
+ }
+ else
+ {
+ strEquipLevel = Language.Get("ZBQH_10", evolveNext.NeedPlusLV);
+ }
+
+ m_TextAttributesA.text = Language.Get("ZBQH_05", strEquipLevel);
+ m_TextAttributesB.text = Language.Get("ZBQH_06", strItemCount);
}
else
{
- m_TextAttributesA.text = Language.Get("ZBQH_05", evolve.NeedPlusLV);
- m_TextAttributesB.text = Language.Get("ZBQH_06", evolve.CostItemCount);
+ itemCount = playerPack.GetItemCountByID(PackType.Item, evolve.CostItemID);
+ strNeedItemCount = itemCount + "/" + evolveNext.CostItemCount;
+ if (itemCount >= evolve.CostItemCount)
+ {
+ strItemCount = Language.Get("ZBQH_09", evolve.CostItemCount);
+ strNeedItemCount = Language.Get("ZBQH_09", strNeedItemCount);
+ }
+ else
+ {
+ strItemCount = Language.Get("ZBQH_10", evolve.CostItemCount);
+ strNeedItemCount = Language.Get("ZBQH_10", strNeedItemCount);
+ }
+ if (equipLv >= evolve.NeedPlusLV)
+ {
+ strEquipLevel = Language.Get("ZBQH_09", evolve.NeedPlusLV);
+ }
+ else
+ {
+ strEquipLevel = Language.Get("ZBQH_10", evolve.NeedPlusLV);
+ }
+ m_TextAttributesA.text = Language.Get("ZBQH_05", strEquipLevel);
+ m_TextAttributesB.text = Language.Get("ZBQH_06", strItemCount);
}
-
+ m_ItemCount.text = strNeedItemCount;
}
private void FullLevel(int advancedLv)
{
diff --git a/System/ItemTip/EquipTipUtility.cs b/System/ItemTip/EquipTipUtility.cs
index 9b281af..486498d 100644
--- a/System/ItemTip/EquipTipUtility.cs
+++ b/System/ItemTip/EquipTipUtility.cs
@@ -377,7 +377,7 @@
return default(SuitInfo);
}
- var job = config.JobLimit / 100;
+ var job = config.JobLimit ;
var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit);
var name = twoConfigs[0].name;
@@ -409,7 +409,7 @@
return default(SuitInfo);
}
- var job = config.JobLimit / 100;
+ var job = config.JobLimit ;
var twoConfigs = EquipSuitConfig.GetConfigs(job, config.LV, EquipSuitType.TwoSuit);
var name = twoConfigs[0].name;
diff --git a/System/KnapSack/Logic/ItemLogicUtility.cs b/System/KnapSack/Logic/ItemLogicUtility.cs
index ad1523f..db3b33f 100644
--- a/System/KnapSack/Logic/ItemLogicUtility.cs
+++ b/System/KnapSack/Logic/ItemLogicUtility.cs
@@ -22,7 +22,6 @@
private Dictionary<int, List<int>> betterEquipExceptDungeonDict;
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
- ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
BuffModel buffDatas { get { return ModelCenter.Instance.GetModel<BuffModel>(); } }
MountModel mountDatas { get { return ModelCenter.Instance.GetModel<MountModel>(); } }
PetModel petDatas { get { return ModelCenter.Instance.GetModel<PetModel>(); } }
@@ -701,7 +700,7 @@
return;
}
- if (!IsSameJob(item.config.JobLimit))
+ if (!IsJobCompatibleItem(item.itemId))
{
return;
}
@@ -736,11 +735,6 @@
SetGetBetterEquipEvent(item);
break;
}
- }
-
- bool IsSameJob(int jobLimit)
- {
- return jobLimit == 0 || jobLimit / 100 == PlayerDatas.Instance.baseData.Job;
}
private void SetGetBetterEquipEvent(ItemModel model)
@@ -1422,12 +1416,12 @@
public bool IsJobCompatibleItem(int itemId)
{
var config = ItemConfig.Get(itemId);
- return config != null && (config.JobLimit == 0 || config.JobLimit / 100 == PlayerDatas.Instance.baseData.Job);
+ return config != null && (config.JobLimit == 0 || config.JobLimit == PlayerDatas.Instance.baseData.Job);
}
public bool IsEquip(int itemId)
{
- if (ItemConfig.Has(itemId))
+ if (!ItemConfig.Has(itemId))
{
return false;
}
@@ -1438,7 +1432,7 @@
public bool IsWing(int itemId)
{
- if (ItemConfig.Has(itemId))
+ if (!ItemConfig.Has(itemId))
{
return false;
}
@@ -1448,7 +1442,7 @@
public bool IsDogzEquip(int itemId)
{
- if (ItemConfig.Has(itemId))
+ if (!ItemConfig.Has(itemId))
{
return false;
}
diff --git a/System/KnapSack/Logic/ItemTipsModel.cs b/System/KnapSack/Logic/ItemTipsModel.cs
index 0946c61..f721d00 100644
--- a/System/KnapSack/Logic/ItemTipsModel.cs
+++ b/System/KnapSack/Logic/ItemTipsModel.cs
@@ -461,8 +461,7 @@
}
else
{
- double job = Math.Floor((double)attrData.itemConfig.JobLimit / 100) * 100 + 1;
- SetJobName(attrData, int.Parse(playerJob), (int)job);
+ SetJobName(attrData, int.Parse(playerJob), attrData.itemConfig.JobLimit);
}
return jobName;
diff --git a/System/KnapSack/Logic/SelectBoxItemCell.cs b/System/KnapSack/Logic/SelectBoxItemCell.cs
index 07171d7..f419136 100644
--- a/System/KnapSack/Logic/SelectBoxItemCell.cs
+++ b/System/KnapSack/Logic/SelectBoxItemCell.cs
@@ -25,7 +25,6 @@
private void Awake()
{
ChooseItemWin.RefreshChooseCellAct += RefreshChooseImage;
-
}
public void InitModel(int id)
diff --git a/System/KnapSack/Logic/SinglePack.cs b/System/KnapSack/Logic/SinglePack.cs
index fd43afc..1b0f02c 100644
--- a/System/KnapSack/Logic/SinglePack.cs
+++ b/System/KnapSack/Logic/SinglePack.cs
@@ -108,7 +108,7 @@
var qualityValid = filterParams.qualitys == null || filterParams.qualitys.Contains(item.config.ItemColor);
var typeValid = filterParams.itemTypes == null || filterParams.itemTypes.Contains(item.config.Type);
var equipTypeValid = filterParams.equipTypes == null || filterParams.equipTypes.Contains(item.config.EquipPlace);
- var jobValid = filterParams.job == 0 || filterParams.job == item.config.JobLimit / 100;
+ var jobValid = filterParams.job == 0 || filterParams.job == item.config.JobLimit;
var auctionValid = filterParams.isAuction == item.isAuction;
if (levelValid && qualityValid && typeValid && equipTypeValid && jobValid && auctionValid)
diff --git a/System/MainInterfacePanel/ChatFrame.cs b/System/MainInterfacePanel/ChatFrame.cs
index a192950..c45d16f 100644
--- a/System/MainInterfacePanel/ChatFrame.cs
+++ b/System/MainInterfacePanel/ChatFrame.cs
@@ -330,8 +330,8 @@
}
private void OnRealmButton()
{
- WindowCenter.Instance.Open<RealmWin>();
- WindowCenter.Instance.Close<MainInterfaceWin>();
+ WindowCenter.Instance.Open<RealmTransitionWin>();
+ //WindowCenter.Instance.Close<MainInterfaceWin>();
}
void MailButton()//閭欢鎸夐挳
diff --git a/System/Realm/RealmAnimationBehaviour.cs b/System/Realm/RealmAnimationBehaviour.cs
index 0fcee86..bd58e09 100644
--- a/System/Realm/RealmAnimationBehaviour.cs
+++ b/System/Realm/RealmAnimationBehaviour.cs
@@ -123,6 +123,8 @@
}
}
m_EffectBoss.StopImediatly();
+
+ StartLine(index);
m_EffectLevelUp.StopImediatly();
@@ -145,19 +147,6 @@
yield return WaitingForSecondConst.GetWaitForSeconds(effectTime);
}
- if (index != -1)
- {
- m_EffectLines[index].Play();
- var animator = m_EffectLines[index].target.GetAnimator();
- animator.Play("open", 0, 0);
- yield return WaitingForSecondConst.WaitMS500;
- animator.Play("idle", 0);
- }
- var realmStage = GetRealmStageBeha(index + 1);
- if (realmStage != null)
- {
- realmStage.DisplayEffect(true);
- }
yield return WaitingForSecondConst.WaitMS500;
if (index == 3 && model.displayRealmLevel < model.realmMaxLevel)
@@ -192,6 +181,37 @@
return null;
}
+ void StartLine(int index)
+ {
+ if (index != -1)
+ {
+ StartCoroutine(Co_StartLine(index));
+ }
+ else
+ {
+ var realmStage = GetRealmStageBeha(index + 1);
+ if (realmStage != null)
+ {
+ realmStage.DisplayEffect(true);
+ }
+ }
+ }
+
+ IEnumerator Co_StartLine(int index)
+ {
+ m_EffectLines[index].Play();
+ var animator = m_EffectLines[index].target.GetAnimator();
+ animator.Play("open", 0, 0);
+ yield return WaitingForSecondConst.WaitMS500;
+ animator.Play("idle", 0);
+
+ var realmStage = GetRealmStageBeha(index + 1);
+ if (realmStage != null)
+ {
+ realmStage.DisplayEffect(true);
+ }
+ }
+
void StartRotate()
{
rotating = true;
@@ -200,46 +220,6 @@
StopCoroutine(m_RotateCoroutine);
}
m_RotateCoroutine = StartCoroutine(Co_Rotate());
- }
-
- public void StartBossEffectShow()
- {
- StartCoroutine(Co_BossEffectShow());
- }
-
- IEnumerator Co_BossEffectShow()
- {
- isPlayingBossEffect = true;
- m_EffectBoss.Play();
- m_EffectBossWord.Play();
- Animator animator = null;
- if (m_EffectBoss.target != null)
- {
- animator = m_EffectBoss.target.GetAnimator();
- animator.Play("Effect_JingJieBJ_02", 0, 0);
- }
-
- if (m_EffectBase.target != null)
- {
- var obj = m_EffectBase.target.transform.Find("GameObject/b/b (3)");
- if (obj != null)
- {
- obj.gameObject.SetActive(false);
- }
- }
- yield return WaitingForSecondConst.GetWaitForSeconds(m_CoverDisappearTime);
- if (m_EffectCover.IsPlaying)
- {
- m_EffectCover.StopImediatly();
- }
- yield return WaitingForSecondConst.GetWaitForSeconds(2f - m_CoverDisappearTime);
-
- isPlayingBossEffect = false;
-
- if (onBossAppearComplete != null)
- {
- onBossAppearComplete();
- }
}
IEnumerator Co_Rotate()
@@ -308,6 +288,46 @@
}
}
+ public void StartBossEffectShow()
+ {
+ StartCoroutine(Co_BossEffectShow());
+ }
+
+ IEnumerator Co_BossEffectShow()
+ {
+ isPlayingBossEffect = true;
+ m_EffectBoss.Play();
+ m_EffectBossWord.Play();
+ Animator animator = null;
+ if (m_EffectBoss.target != null)
+ {
+ animator = m_EffectBoss.target.GetAnimator();
+ animator.Play("Effect_JingJieBJ_02", 0, 0);
+ }
+
+ if (m_EffectBase.target != null)
+ {
+ var obj = m_EffectBase.target.transform.Find("GameObject/b/b (3)");
+ if (obj != null)
+ {
+ obj.gameObject.SetActive(false);
+ }
+ }
+ yield return WaitingForSecondConst.GetWaitForSeconds(m_CoverDisappearTime);
+ if (m_EffectCover.IsPlaying)
+ {
+ m_EffectCover.StopImediatly();
+ }
+ yield return WaitingForSecondConst.GetWaitForSeconds(2f - m_CoverDisappearTime);
+
+ isPlayingBossEffect = false;
+
+ if (onBossAppearComplete != null)
+ {
+ onBossAppearComplete();
+ }
+ }
+
public void Dispose()
{
rotating = false;
diff --git a/System/Realm/RealmLevelUpBehaviour.cs b/System/Realm/RealmLevelUpBehaviour.cs
index abe0cc4..503b32d 100644
--- a/System/Realm/RealmLevelUpBehaviour.cs
+++ b/System/Realm/RealmLevelUpBehaviour.cs
@@ -91,7 +91,8 @@
SysNotifyMgr.Instance.ShowTip("RealmLevelUpError_2");
break;
case 3:
- SysNotifyMgr.Instance.ShowTip("RealmLevelUpError_3");
+ var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
+ ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(config.NeedGood);
break;
}
}
diff --git a/System/Realm/RealmModel.cs b/System/Realm/RealmModel.cs
index c8925c0..77c8d28 100644
--- a/System/Realm/RealmModel.cs
+++ b/System/Realm/RealmModel.cs
@@ -15,6 +15,30 @@
List<List<int>> m_RealmStages = new List<List<int>>();
public int realmMaxLevel { get; private set; }
public bool isBossPass { get; private set; }
+ public int realmExpTime { get; private set; }
+ public long startExp { get; private set; }
+
+ public long totalExp
+ {
+ get
+ {
+ var exp = startExp;
+ var tick = (TimeUtility.ServerNow - expStartTime).Ticks;
+ var singleTick = realmExpTime * TimeSpan.TicksPerSecond;
+ var times = tick / singleTick;
+
+ var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
+ if (config != null && config.expRate != 0)
+ {
+ exp = times * config.expRate + startExp;
+ exp = exp > config.expLimit ? config.expLimit : exp;
+ }
+
+ return exp;
+ }
+ }
+
+ public DateTime expStartTime { get; private set; }
public const int REALM_DUNGEON_ID = 31110;
@@ -57,6 +81,7 @@
}
public event Action selectRealmRefresh;
+ public event Action realmExpRefresh;
EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -73,6 +98,8 @@
public void OnBeforePlayerDataInitialize()
{
isBossPass = false;
+ expStartTime = DateTime.Now;
+ startExp = 0;
SysNotifyMgr.Instance.OnSystemNotifyEvent -= OnSystemNotifyEvent;
}
@@ -148,6 +175,9 @@
m_RealmPreviewEquips.Add(config.Lv, dict);
}
}
+
+ var funcConfig = FuncConfigConfig.Get("RealmExpTime");
+ realmExpTime = int.Parse(funcConfig.Numerical1);
}
public bool TryGetRealmProperty(int level, out Dictionary<int, int> propertyDict)
@@ -321,6 +351,16 @@
RefreshRedpoint();
}
+ public void ReceivePackage(HA327_tagMCRealmExpInfo package)
+ {
+ expStartTime = TimeUtility.GetTime(package.BeginTime);
+ startExp = (long)package.CurExpPoint * Constants.ExpPointValue + package.CurExp;
+ if (realmExpRefresh != null)
+ {
+ realmExpRefresh();
+ }
+ }
+
private void OnStageLoadFinish()
{
if (!(StageLoad.Instance.currentStage is DungeonStage))
@@ -397,7 +437,7 @@
{
return;
}
- WindowCenter.Instance.Open<RealmWin>();
+ WindowCenter.Instance.Open<RealmTransitionWin>();
}
void RefreshRedpoint()
diff --git a/System/Realm/RealmPoolBehaviour.cs b/System/Realm/RealmPoolBehaviour.cs
new file mode 100644
index 0000000..adcf139
--- /dev/null
+++ b/System/Realm/RealmPoolBehaviour.cs
@@ -0,0 +1,84 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+ public class RealmPoolBehaviour : MonoBehaviour
+ {
+ [SerializeField] ImageEx m_Bottom;
+ [SerializeField] ImageEx m_Word;
+ [SerializeField] Transform m_Lock;
+ [SerializeField] Text m_Progress;
+ [SerializeField] Button m_TakeExp;
+
+ int realmLevel = 0;
+
+ RealmModel model { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
+
+ private void Awake()
+ {
+ m_TakeExp.AddListener(TakeExp);
+ }
+
+ public void Display(int realmLevel)
+ {
+ this.realmLevel = realmLevel;
+ var config = RealmConfig.Get(realmLevel);
+ var isOpen = config.expRate != 0;
+ m_Bottom.gray = !isOpen;
+ m_Word.gray = !isOpen;
+ m_Lock.gameObject.SetActive(!isOpen);
+ m_Progress.gameObject.SetActive(isOpen);
+
+ if (isOpen)
+ {
+ DisplayProgress();
+ }
+
+ model.realmExpRefresh -= RealmExpRefresh;
+ model.realmExpRefresh += RealmExpRefresh;
+
+ GlobalTimeEvent.Instance.secondEvent -= PerSecond;
+ GlobalTimeEvent.Instance.secondEvent += PerSecond;
+
+ }
+
+ public void DisplayProgress()
+ {
+ var config = RealmConfig.Get(realmLevel);
+ var progress = Mathf.Clamp01((float)model.totalExp / config.expLimit);
+ var progressInt = (int)(progress * 100);
+ m_Progress.text = StringUtility.Contact(progressInt, "%");
+ }
+
+ private void TakeExp()
+ {
+ var config = RealmConfig.Get(realmLevel);
+ var isOpen = config.expRate != 0;
+ if (isOpen)
+ {
+ WindowCenter.Instance.Open<RealmTakeExpWin>();
+ }
+ }
+
+ private void PerSecond()
+ {
+ DisplayProgress();
+ }
+
+ private void RealmExpRefresh()
+ {
+ DisplayProgress();
+ }
+
+ public void Dispose()
+ {
+ model.realmExpRefresh -= RealmExpRefresh;
+ GlobalTimeEvent.Instance.secondEvent -= PerSecond;
+ }
+ }
+}
+
diff --git a/System/Realm/RealmPoolBehaviour.cs.meta b/System/Realm/RealmPoolBehaviour.cs.meta
new file mode 100644
index 0000000..f837761
--- /dev/null
+++ b/System/Realm/RealmPoolBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b9403989db1c1064c883f333eee2dec5
+timeCreated: 1553052486
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Realm/RealmTakeExpWin.cs b/System/Realm/RealmTakeExpWin.cs
new file mode 100644
index 0000000..fda2b2b
--- /dev/null
+++ b/System/Realm/RealmTakeExpWin.cs
@@ -0,0 +1,94 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Wednesday, March 20, 2019
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+ public class RealmTakeExpWin : Window
+ {
+ [SerializeField] Text m_TotalExp;
+ [SerializeField] Text m_ExpRate;
+ [SerializeField] Button m_TakeExp;
+ [SerializeField] Button m_Close;
+
+ RealmModel model
+ {
+ get { return ModelCenter.Instance.GetModel<RealmModel>(); }
+ }
+ #region Built-in
+ protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
+ {
+ m_TakeExp.AddListener(TakeExp);
+ m_Close.AddListener(CloseClick);
+ }
+
+ protected override void OnPreOpen()
+ {
+ Display();
+ GlobalTimeEvent.Instance.secondEvent += PerSecond;
+ }
+
+ protected override void OnAfterOpen()
+ {
+ }
+
+ protected override void OnPreClose()
+ {
+ GlobalTimeEvent.Instance.secondEvent -= PerSecond;
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+ #endregion
+
+ void Display()
+ {
+ DisplayExp();
+ DisplayRate();
+ }
+
+ void DisplayExp()
+ {
+ var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
+ var expLabel = UIHelper.ReplaceLargeNum(model.totalExp);
+ var expLimitLabel = UIHelper.ReplaceLargeNum(config.expLimit);
+ m_TotalExp.text = StringUtility.Contact(expLabel, "/", expLimitLabel);
+ }
+
+ void DisplayRate()
+ {
+ var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
+ m_ExpRate.text = Language.Get("RealmExpRate", model.realmExpTime, UIHelper.ReplaceLargeNum(config.expRate));
+ }
+
+ private void PerSecond()
+ {
+ DisplayExp();
+ }
+
+ private void TakeExp()
+ {
+ CA521_tagCMTakeOutRealmExp pak = new CA521_tagCMTakeOutRealmExp();
+ GameNetSystem.Instance.SendInfo(pak);
+ }
+
+ }
+
+}
+
+
+
+
diff --git a/System/Realm/RealmTakeExpWin.cs.meta b/System/Realm/RealmTakeExpWin.cs.meta
new file mode 100644
index 0000000..1fd2151
--- /dev/null
+++ b/System/Realm/RealmTakeExpWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 37d48d8cfc34fd04995fc93fbfdaf43a
+timeCreated: 1553067471
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Realm/RealmTransitionWin.cs b/System/Realm/RealmTransitionWin.cs
new file mode 100644
index 0000000..97fd47f
--- /dev/null
+++ b/System/Realm/RealmTransitionWin.cs
@@ -0,0 +1,103 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Wednesday, March 20, 2019
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+ public class RealmTransitionWin : Window
+ {
+ [SerializeField] UIAlphaTween m_AlphaTween;
+ [SerializeField] Transform m_ContainerProgress;
+ [SerializeField] Image m_Progress;
+ [SerializeField, Header("杩涘害鏃堕暱"), Range(0.1f, 5f)] float m_Duration = 0.8f;
+
+ float timer = 0f;
+ #region Built-in
+ protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
+ {
+ }
+
+ protected override void OnPreOpen()
+ {
+ timer = 0f;
+ m_Progress.fillAmount = 0f;
+ m_ContainerProgress.gameObject.SetActive(true);
+ m_AlphaTween.SetStartState();
+ WindowCenter.Instance.windowBeforeOpenEvent += WindowBeforeOpenEvent;
+ }
+
+ protected override void OnActived()
+ {
+ base.OnActived();
+ if (!CameraController.Instance.IsPlayingAnim)
+ {
+ CameraController.Instance.PlayAnimationClipUnLimit("RealmFuncOpen");
+ }
+ m_AlphaTween.Play(OnTweenComplete);
+ }
+
+ protected override void OnAfterOpen()
+ {
+ }
+
+ protected override void OnPreClose()
+ {
+ WindowCenter.Instance.windowBeforeOpenEvent -= WindowBeforeOpenEvent;
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+
+ protected override void LateUpdate()
+ {
+ base.LateUpdate();
+ if (m_Progress.fillAmount <= 1f)
+ {
+ var progress = Mathf.Clamp01(timer / m_Duration);
+ m_Progress.fillAmount = progress;
+ }
+ timer += Time.deltaTime;
+ }
+ #endregion
+
+ private void WindowBeforeOpenEvent(Window window)
+ {
+ if (window is RealmWin)
+ {
+ m_AlphaTween.Play(OnTweenBackComplete);
+ m_AlphaTween.SetEndState();
+ m_AlphaTween.reversal = true;
+ }
+ }
+
+ private void OnTweenBackComplete()
+ {
+ CloseImmediately();
+ }
+
+ private void OnTweenComplete()
+ {
+ m_ContainerProgress.gameObject.SetActive(false);
+ WindowCenter.Instance.Close<MainInterfaceWin>();
+ WindowCenter.Instance.Open<RealmWin>();
+ }
+ }
+
+}
+
+
+
+
diff --git a/System/Realm/RealmTransitionWin.cs.meta b/System/Realm/RealmTransitionWin.cs.meta
new file mode 100644
index 0000000..47bb110
--- /dev/null
+++ b/System/Realm/RealmTransitionWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8ccced4a0d2a10b4e868fc8896afbcba
+timeCreated: 1553060356
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Realm/RealmWin.cs b/System/Realm/RealmWin.cs
index 06e074b..26b4800 100644
--- a/System/Realm/RealmWin.cs
+++ b/System/Realm/RealmWin.cs
@@ -17,6 +17,7 @@
[SerializeField] Transform m_ContainerRealmUp;
[SerializeField] RealmBriefBehaviour m_RealmBrief;
[SerializeField] RealmLevelUpBehaviour m_RealmLevelUp;
+ [SerializeField] RealmPoolBehaviour m_RealmPool;
[SerializeField] RealmAnimationBehaviour m_RealmAnimation;
[SerializeField] RealmStageBehaviour[] m_RealmStages;
[SerializeField] Transform m_ContainerUnlockEquip;
@@ -171,6 +172,7 @@
DisplayRealmLevelUp();
DisplayRealmStages();
DisplayRealmBrief();
+ DisplayRealmPool();
DisplayUnlockEquip();
DisplayCover();
@@ -196,6 +198,7 @@
m_RealmBriefTween.SetEndState();
m_RealmLevelUpTween.Stop();
m_RealmLevelUpTween.SetEndState();
+ m_RealmPool.Dispose();
model.displayRealms.Clear();
foreach (var item in m_RealmStages)
{
@@ -251,6 +254,11 @@
void DisplayRealmBrief()
{
m_RealmBrief.Display(model.selectRealm);
+ }
+
+ void DisplayRealmPool()
+ {
+ m_RealmPool.Display(model.displayRealmLevel);
}
void DisplayUnlockEquip()
@@ -402,6 +410,7 @@
model.displayRealms.Clear();
model.selectRealm = PlayerDatas.Instance.baseData.realmLevel + 1;
DisplayRealmStages();
+ DisplayRealmPool();
DisplayCover();
DisplayEffectBoss();
}
@@ -445,6 +454,8 @@
{
TryStartAnimation();
}
+
+ DisplayRealmPool();
}
private void OnLevelUpComplete()
@@ -473,6 +484,8 @@
}
}
+ DisplayRealmPool();
+
if (customUpPower > 0)
{
mainDateModel.CustomPowerUp((int)customUpPower);
--
Gitblit v1.8.0