From bd41d84bbd61de37bd880c591ecce690ebe294bd Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 19 十月 2025 18:12:49 +0800
Subject: [PATCH] 65 子 【公会】基础主体 / 【公会】基础主体-客户端
---
Main/Core/GameEngine/Player/PlayerBaseData.cs | 2
Main/System/HeroUI/HeroAwakeSuccessWin.cs | 4
Main/System/HeroUI/HeroLVBreakSuccessWin.cs | 4
Main/System/Guild/GuildEmblemSelectCell.cs | 57 +
Main/Utility/TimeUtility.cs | 12
Main/Core/GameEngine/Player/PlayerDatas.cs | 3
Main/System/Guild/GuildEmblemSelectCell.cs.meta | 2
Main/System/Guild/GuildEmblemModel.cs | 188 ++--
Main/Config/PartialConfigs/FamilyEmblemConfig.cs | 27
Main/Config/PartialConfigs/FamilyEmblemConfig.cs.meta | 2
Main/System/Equip/EquipExchangeCell.cs | 2
Main/System/Guild/GuildJoinWin.cs | 89 ++
Main/System/HappyXB/HeroCallResultWin.cs | 2
Main/System/RoleParticulars/OtherPlayerDetailManager.cs.meta | 0
Main/System/Equip/EquipTipWin.cs | 4
Main/System/Guild/GuildPreviewWin.cs.meta | 2
Main/System/HeroUI/HeroAwakePrivewWin.cs | 4
Main/Main.cs | 3
Main/System/Guild/GuildEmblemWin.cs | 152 ++++
Main/System/Guild/PlayerFairyData.cs | 118 +-
Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs | 2
Main/System/HeroUI/HeroTrainWin.cs | 8
Main/System/Guild/GuildManager.cs | 364 ++++++++-
Main/Utility/EnumHelper.cs | 17
Main/System/Guild/GuildEmblemWin.cs.meta | 2
Main/System/Tip/MarqueeWin.cs | 3
Main/System/HappyXB/HeroCallWin.cs | 2
Main/System/RoleParticulars/OtherPlayerDetailManager.cs | 214 +++++
Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA513_tagMCFamilyActionInfo.cs | 7
Main/System/Guild/GuildEmblemSelectListCell.cs | 27
Main/System/HeroUI/HeroBestWin.cs | 8
Main/System/HeroUI/HeroLVBreakWin.cs | 4
/dev/null | 558 --------------
Main/Utility/UIHelper.cs | 28
Main/System/Guild/GuildViewListCell.cs | 40
Main/System/Battle/StoryBossBattleWin.cs | 3
Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs | 1
Main/System/Guild/GuildPreviewWin.cs | 129 +++
Main/System/Guild/GuildCreateWin.cs.meta | 2
Main/System/Guild/GuildEmblemCell.cs | 53 +
Main/System/Guild/GuildEmblemSelectListCell.cs.meta | 2
Main/System/Guild/GuildEmblemCell.cs.meta | 2
Main/System/Main/MainWin.cs | 27
Main/System/Tip/ServerTipDetails.cs | 10
Main/System/Guild/GuildCreateWin.cs | 62 +
45 files changed, 1,403 insertions(+), 849 deletions(-)
diff --git a/Main/Config/PartialConfigs/FamilyEmblemConfig.cs b/Main/Config/PartialConfigs/FamilyEmblemConfig.cs
new file mode 100644
index 0000000..81c96f0
--- /dev/null
+++ b/Main/Config/PartialConfigs/FamilyEmblemConfig.cs
@@ -0,0 +1,27 @@
+
+
+using System.Collections.Generic;
+
+public partial class FamilyEmblemConfig : ConfigBase<int, FamilyEmblemConfig>
+{
+ private static List<int> defaultEmblemList = new List<int>();
+ protected override void OnConfigParseCompleted()
+ {
+ if (UnlockFamilyLV == 1)
+ {
+ if (defaultEmblemList.Contains(EmblemID))
+ return;
+ defaultEmblemList.Add(EmblemID);
+ }
+ }
+
+ public static int GetRandomEmblem()
+ {
+ if (defaultEmblemList.Count == 0)
+ return -1; //
+ System.Random random = new System.Random();
+ return defaultEmblemList[random.Next(defaultEmblemList.Count)];
+ }
+
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/Config/PartialConfigs/FamilyEmblemConfig.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
copy to Main/Config/PartialConfigs/FamilyEmblemConfig.cs.meta
index f878724..a6b7854 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ b/Main/Config/PartialConfigs/FamilyEmblemConfig.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6fb2c77abf75d964d82b4b15659602b9
+guid: 8ade65428632cd94681e3561a9e78cb5
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/Core/GameEngine/Player/PlayerBaseData.cs b/Main/Core/GameEngine/Player/PlayerBaseData.cs
index 241dc1d..6d6beba 100644
--- a/Main/Core/GameEngine/Player/PlayerBaseData.cs
+++ b/Main/Core/GameEngine/Player/PlayerBaseData.cs
@@ -113,6 +113,7 @@
public int mapRealmSelect; //鍦板浘澧冪晫闅惧害
public int leaveFamilyTime; //绂诲紑瀹舵棌鏃堕棿
+ public int leaveGuildInfo; //鍏細锛氫富鍔ㄧ寮�娆℃暟*100 + 琚涪娆℃暟*10 + 鏈�鍚庝竴娆℃槸鍚︿富鍔ㄧ寮�鐨勶紝鏆傛椂鏈�澶氱疮璁¤褰曞埌9娆�
public bool IsActive90Off = true; //浠h〃榛樿婵�娲�0.1鎶�
public long treasurePotentialSp
@@ -180,6 +181,7 @@
spExtend = _serverInfo.ExAttr8;
bubbleId = _serverInfo.ExAttr10;
ExAttr11 = _serverInfo.ExAttr11;
+ leaveGuildInfo = (int)_serverInfo.ExAttr12;
ExAttr16 = _serverInfo.ExAttr16;
ServerGroupId = _serverInfo.ExAttr13;
faction = _serverInfo.Faction;
diff --git a/Main/Core/GameEngine/Player/PlayerDatas.cs b/Main/Core/GameEngine/Player/PlayerDatas.cs
index 392d1b4..24fd57b 100644
--- a/Main/Core/GameEngine/Player/PlayerDatas.cs
+++ b/Main/Core/GameEngine/Player/PlayerDatas.cs
@@ -514,6 +514,9 @@
case PlayerDataType.CDBPlayerRefresh_SkillReducePerG:
baseData.skillReducePerG = (int)value;
break;
+ case PlayerDataType.ExAttr12:
+ baseData.leaveGuildInfo = (int)value;
+ break;
case PlayerDataType.default9:
baseData.mapRealmSelect = (int)value;
break;
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs
deleted file mode 100644
index a90f023..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-//A3 A1 鍚勫姛鑳芥ā鍧楁垬鏂楀姏淇℃伅 #tagMCModuleFightPowerInfo
-
-public class DTCA3A1_tagMCModuleFightPowerInfo : DtcBasic {
- public override void Done(GameNetPackBasic vNetPack)
- {
- base.Done(vNetPack);
- HA3A1_tagMCModuleFightPowerInfo vNetData = vNetPack as HA3A1_tagMCModuleFightPowerInfo;
- RoleParticularModel.Instance.OnRevRoleFuncPower(vNetData);
- }
-}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs.meta
deleted file mode 100644
index 936d0f5..0000000
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 28bea9968bf0d0e4e942a2872db6ae39
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA513_tagMCFamilyActionInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA513_tagMCFamilyActionInfo.cs
index d195a97..cdc9a56 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA513_tagMCFamilyActionInfo.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA513_tagMCFamilyActionInfo.cs
@@ -1,11 +1,12 @@
-using UnityEngine;
-using System.Collections;
-
+using UnityEngine;
+using System.Collections;
+
// A5 13 瀹舵棌琛屼负淇℃伅 #tagMCFamilyActionInfo
public class DTCA513_tagMCFamilyActionInfo : DtcBasic {
public override void Done(GameNetPackBasic vNetPack) {
base.Done(vNetPack);
HA513_tagMCFamilyActionInfo vNetData = vNetPack as HA513_tagMCFamilyActionInfo;
+ GuildManager.Instance.UpdateFamilyAction(vNetData);
}
}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs
index 5a6623a..29a6bb6 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA705_tagSCQueryPlayerCacheResult.cs
@@ -8,6 +8,6 @@
{
base.Done(vNetPack);
HA705_tagSCQueryPlayerCacheResult vNetData = vNetPack as HA705_tagSCQueryPlayerCacheResult;
- RoleParticularModel.Instance.OnRevRoleEquip(vNetData);
+ OtherPlayerDetailManager.Instance.OnRevRoleEquip(vNetData);
}
}
diff --git a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
index 523f758..ab0cd9b 100644
--- a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -51,7 +51,6 @@
Register(typeof(H0111_tagOnlineReply), typeof(DTC0111_tagOnlineReply));
Register(typeof(H0608_tagNPCDie), typeof(DTC0608_tagNPCDie));
Register(typeof(H0612_tagClearObjBuff), typeof(DTC0612_tagClearObjBuff));
- Register(typeof(HA3A1_tagMCModuleFightPowerInfo), typeof(DTCA3A1_tagMCModuleFightPowerInfo));
Register(typeof(HA110_tagMCCoinToGoldCountInfo), typeof(DTCA110_tagMCCoinToGoldCountInfo));
Register(typeof(HA008_tagGCPlayerRecInfo), typeof(DTCA008_tagGCPlayerRecInfo));
Register(typeof(HAA02_tagSCFirstChargeInfo), typeof(DTCAA02_tagSCFirstChargeInfo));
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs
deleted file mode 100644
index eff7d4d..0000000
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using UnityEngine;
-using System.Collections;
-
-//A3 A1 鍚勫姛鑳芥ā鍧楁垬鏂楀姏淇℃伅 #tagMCModuleFightPowerInfo
-
-public class HA3A1_tagMCModuleFightPowerInfo : GameNetPackBasic {
- public uint TotalFightPower; //鎬绘垬鏂楀姏锛屾眰浣欎嚎閮ㄥ垎
- public uint TotalFightPoweEx; //鎬绘垬鏂楀姏锛屾暣闄や嚎閮ㄥ垎锛�1浠h〃1浜�
- public byte MFPCnt; //妯″潡鎴樻枟鍔涙�绘暟
- public tagMCModuleFightPower[] MFPList;
-
- public HA3A1_tagMCModuleFightPowerInfo () {
- _cmd = (ushort)0xA3A1;
- }
-
- public override void ReadFromBytes (byte[] vBytes) {
- TransBytes (out TotalFightPower, vBytes, NetDataType.DWORD);
- TransBytes (out TotalFightPoweEx, vBytes, NetDataType.DWORD);
- TransBytes (out MFPCnt, vBytes, NetDataType.BYTE);
- MFPList = new tagMCModuleFightPower[MFPCnt];
- for (int i = 0; i < MFPCnt; i ++) {
- MFPList[i] = new tagMCModuleFightPower();
- TransBytes (out MFPList[i].MfpType, vBytes, NetDataType.BYTE);
- TransBytes (out MFPList[i].FightPower, vBytes, NetDataType.DWORD);
- TransBytes (out MFPList[i].FightPowerEx, vBytes, NetDataType.DWORD);
- }
- }
-
- public class tagMCModuleFightPower {
- public byte MfpType; //妯″潡缂栧彿绫诲瀷
- public uint FightPower; //鏈ā鍧楁垬鏂楀姏锛屾眰浣欎嚎閮ㄥ垎
- public uint FightPowerEx; //鏈ā鍧楁垬鏂楀姏锛屾暣闄や嚎閮ㄥ垎锛�1浠h〃1浜�
- }
-
-}
diff --git a/Main/Main.cs b/Main/Main.cs
index c8d862c..aabfbfb 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -49,9 +49,8 @@
// 鍒濆鍖栨父鎴忕郴缁�
managers.Add(BattleManager.Instance);
managers.Add(VirtualPackManager.Instance);
- managers.Add(RoleParticularModel.Instance);
+ managers.Add(OtherPlayerDetailManager.Instance);
managers.Add(RechargeManager.Instance);
- managers.Add(RoleParticularModel.Instance);
managers.Add(StoreModel.Instance);
managers.Add(PhantasmPavilionModel.Instance);
managers.Add(GuildManager.Instance);
diff --git a/Main/System/Battle/StoryBossBattleWin.cs b/Main/System/Battle/StoryBossBattleWin.cs
index f72ac31..1cb29f2 100644
--- a/Main/System/Battle/StoryBossBattleWin.cs
+++ b/Main/System/Battle/StoryBossBattleWin.cs
@@ -81,7 +81,8 @@
UIManager.Instance.CloseWindow<BattleHUDWin>();
BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
- UIManager.Instance.OpenWindow<MainWin>(0);
+ if (!UIManager.Instance.IsOpened<MainWin>())
+ UIManager.Instance.OpenWindow<MainWin>();
}
private void OnCreateBattleField(string arg1, BattleField field)
diff --git a/Main/System/Equip/EquipExchangeCell.cs b/Main/System/Equip/EquipExchangeCell.cs
index b96bd11..c0703d1 100644
--- a/Main/System/Equip/EquipExchangeCell.cs
+++ b/Main/System/Equip/EquipExchangeCell.cs
@@ -71,7 +71,7 @@
equipImage.SetOrgSprite(equip.config.IconKey);
itemName.text = UIHelper.AppendColor(equip.config.ItemColor, equip.config.ItemName, true, 1);
- qualityName.text = UIHelper.GetQualityNameWithColor(equip.config.ItemColor, Language.Get("equipQualityFormat"));
+ qualityName.text = UIHelper.GetQualityNameWithColor(equip.config.ItemColor, Language.Get("L1039"));
itemNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
qualityNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
placeName.text = EquipModel.Instance.GetEquipPlaceName(equip.config.EquipPlace);
diff --git a/Main/System/Equip/EquipTipWin.cs b/Main/System/Equip/EquipTipWin.cs
index e6826cb..942df61 100644
--- a/Main/System/Equip/EquipTipWin.cs
+++ b/Main/System/Equip/EquipTipWin.cs
@@ -80,7 +80,7 @@
equipImage.SetOrgSprite(equip.config.IconKey);
itemName.text = UIHelper.AppendColor(equip.config.ItemColor, equip.config.ItemName, true, 1);
itemNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
- qualityName.text = UIHelper.GetQualityNameWithColor(equip.config.ItemColor, Language.Get("equipQualityFormat"));
+ qualityName.text = UIHelper.GetQualityNameWithColor(equip.config.ItemColor, Language.Get("L1039"));
qualityNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(equip.config.ItemColor);
placeName.text = EquipModel.Instance.GetEquipPlaceName(equip.config.EquipPlace);
lvText.text = Language.Get("EquipExchangeWin7", EquipModel.Instance.GetEquipLV(equip));
@@ -136,7 +136,7 @@
equipImage.SetOrgSprite(itemConfig.IconKey);
itemName.text = UIHelper.AppendColor(itemConfig.ItemColor, itemConfig.ItemName, true, 1);
itemNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(itemConfig.ItemColor);
- qualityName.text = UIHelper.GetQualityNameWithColor(itemConfig.ItemColor, Language.Get("equipQualityFormat"));
+ qualityName.text = UIHelper.GetQualityNameWithColor(itemConfig.ItemColor, Language.Get("L1039"));
qualityNameOutline.OutlineColor = UIHelper.GetUIOutlineColor(itemConfig.ItemColor);
placeName.text = EquipModel.Instance.GetEquipPlaceName(itemConfig.EquipPlace);
lvText.text = Language.Get("EquipExchangeWin7", appointItemConfig.ItemLV);
diff --git a/Main/System/Guild/EmblemHelper.cs b/Main/System/Guild/EmblemHelper.cs
deleted file mode 100644
index 053105a..0000000
--- a/Main/System/Guild/EmblemHelper.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-public static class EmblemHelper
-{
-
- public static EmblemModel GetEmblemModel(int familyID, int id)
- {
- bool isMyself = familyID == PlayerDatas.Instance.fairyData.fairy.FamilyID;
- return isMyself ? GetMyEmblemModel() : GetOtherEmblemModel(id);
- }
-
- public static EmblemModel GetOtherEmblemModel(int id)
- {
- int emblemID = GetOtherEmblemID(id);
- int effectID = GetEmblemEffectID(emblemID);
- return new EmblemModel(emblemID, effectID);
- }
-
- public static EmblemModel GetMyEmblemModel()
- {
- int emblemID = GetMyEmblemID();
- int effectID = GetEmblemEffectID(emblemID);
- return new EmblemModel(emblemID, effectID);
- }
-
- public static int GetEmblemID(int familyID, int id)
- {
- bool isMyself = familyID == PlayerDatas.Instance.fairyData.fairy.FamilyID;
- return isMyself ? GetMyEmblemID() : GetOtherEmblemID(id);
- }
-
- public static int GetOtherEmblemID(int id)
- {
- if (FamilyEmblemConfig.HasKey(id))
- return id;
- return !FamilyEmblemConfig.HasKey(GuildEmblemModel.Instance.defaultFamilyEmblemId) ? 0 : GuildEmblemModel.Instance.defaultFamilyEmblemId;
- }
-
- public static int GetMyEmblemID()
- {
- int emblemID = (int)PlayerDatas.Instance.fairyData.fairy.EmblemID;
- if (FamilyEmblemConfig.HasKey(emblemID) && GuildEmblemModel.Instance.IsUnLock(emblemID))
- return emblemID;
- return !FamilyEmblemConfig.HasKey(GuildEmblemModel.Instance.defaultFamilyEmblemId) ? 0 : GuildEmblemModel.Instance.defaultFamilyEmblemId;
- }
-
- public static int GetEmblemEffectID(int id)
- {
- GuildEmblemModel.Instance.TryGetEffectID(id, out int effectID);
- return effectID;
- }
-
- public static int GetDefaultFamilyEmblemId()
- {
- return GuildEmblemModel.Instance.defaultFamilyEmblemId;
- }
-}
-
-
diff --git a/Main/System/Guild/EmblemHelper.cs.meta b/Main/System/Guild/EmblemHelper.cs.meta
deleted file mode 100644
index 99ea203..0000000
--- a/Main/System/Guild/EmblemHelper.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 23ae5c264fec3024ca275ac0742c7bb2
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Main/System/Guild/GuildCreateWin.cs b/Main/System/Guild/GuildCreateWin.cs
new file mode 100644
index 0000000..25bf65b
--- /dev/null
+++ b/Main/System/Guild/GuildCreateWin.cs
@@ -0,0 +1,62 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 鍒涘缓鍏細鐣岄潰
+/// </summary>
+public class GuildCreateWin : UIBase
+{
+ [SerializeField] GuildEmblemCell emblemCell;
+ [SerializeField] Button changeEmblemBtn;
+ [SerializeField] InputField guildNameText;
+ [SerializeField] Image moneyIcon;
+ [SerializeField] Text moneyText;
+ [SerializeField] Button createBtn;
+
+ protected override void InitComponent()
+ {
+ changeEmblemBtn.AddListener(() =>
+ {
+ UIManager.Instance.OpenWindow<GuildEmblemWin>(1);
+ });
+ createBtn.AddListener(CreateGuild);
+ }
+
+ protected override void OnPreOpen()
+ {
+ GuildEmblemModel.Instance.CreateSelectEmblemIdChangeEvent += CreateSelectEmblemEvent;
+ if (GuildEmblemModel.Instance.createEmblemWord == "")
+ GuildEmblemModel.Instance.createEmblemWord = PlayerDatas.Instance.baseData.PlayerName[0].ToString();
+ if (GuildEmblemModel.Instance.createSelectEmblemId <= 0)
+ GuildEmblemModel.Instance.createSelectEmblemId = FamilyEmblemConfig.GetRandomEmblem();
+
+
+ Display();
+ }
+
+ protected override void OnPreClose()
+ {
+ GuildEmblemModel.Instance.CreateSelectEmblemIdChangeEvent -= CreateSelectEmblemEvent;
+ }
+
+ void Display()
+ {
+ emblemCell.Display(GuildEmblemModel.Instance.createSelectEmblemId, GuildEmblemModel.Instance.createEmblemWord, 1.5f);
+ moneyIcon.SetIconWithMoneyType(GuildManager.Instance.createMoneyType);
+ moneyText.text = UIHelper.ShowUseMoney(GuildManager.Instance.createMoneyType, GuildManager.Instance.createFairyCost);
+ }
+
+ void CreateGuild()
+ {
+ GuildManager.Instance.CreateGuild(guildNameText.text,
+ GuildEmblemModel.Instance.createSelectEmblemId,
+ GuildEmblemModel.Instance.createEmblemWord);
+ }
+
+ void CreateSelectEmblemEvent()
+ {
+ Display();
+ }
+}
\ No newline at end of file
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/System/Guild/GuildCreateWin.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
copy to Main/System/Guild/GuildCreateWin.cs.meta
index f878724..bb97e30 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ b/Main/System/Guild/GuildCreateWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6fb2c77abf75d964d82b4b15659602b9
+guid: dd7026ea67a350847b14f34adc2d9090
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Guild/GuildEmblemCell.cs b/Main/System/Guild/GuildEmblemCell.cs
new file mode 100644
index 0000000..422c203
--- /dev/null
+++ b/Main/System/Guild/GuildEmblemCell.cs
@@ -0,0 +1,53 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+//鍏細寰界珷
+//闇�澧炲姞UIFrame锛孶IEffectPlayer
+[RequireComponent(typeof(UIFrame))]
+[RequireComponent(typeof(UIEffectPlayer))]
+public class GuildEmblemCell : MonoBehaviour
+{
+ [SerializeField] ImageEx emblemIcon;
+ [SerializeField] UIFrame frame;
+ [SerializeField] UIEffectPlayer uiEffect;
+ [Header("瀛� F9E29F 鍖呰竟 683C00 瀛楀彿36 Y:-9")]
+ [SerializeField] Text emblemNameText; //瀛� F9E29F 鍖呰竟 683C00 瀛楀彿36 Y-9
+
+ public void Display(int emblemID, string emblemName, float _scale = 1f)
+ {
+ FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemID);
+ if (config == null)
+ {
+ return;
+ }
+
+ // 寰界珷鍔ㄦ�佹晥鏋滄寜甯у鐞嗭紝濡傛灉鍚庣画瑕佹敼鎴恠pine鐗规晥锛屽垯鍐嶅晢璁慨鏀�
+ // 鐩墠鐗规晥涓洪檮鍔犺〃鐜�
+ if (GuildEmblemModel.Instance.TryGetEffectID(emblemID, out int effectID))
+ {
+ if (effectID != 0)
+ {
+ uiEffect.effectId = effectID;
+ uiEffect.Play();
+ }
+ }
+
+ if (UIFrameMgr.Inst.ContainsDynamicImage(config.Image))
+ {
+ frame.ResetFrame(config.Image);
+ frame.enabled = true;
+ }
+ else
+ {
+ if (frame != null)
+ frame.enabled = false;
+ emblemIcon.SetSprite(config.Image);
+ emblemIcon.SetNativeSize();
+ }
+ emblemIcon.rectTransform.localScale = new Vector3(_scale, _scale, _scale);
+ emblemNameText.text = emblemName;
+ }
+
+}
+
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/System/Guild/GuildEmblemCell.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
copy to Main/System/Guild/GuildEmblemCell.cs.meta
index f878724..9836a22 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ b/Main/System/Guild/GuildEmblemCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6fb2c77abf75d964d82b4b15659602b9
+guid: c2e9e5e7d4929dd42b4e441ae3c75190
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Guild/GuildEmblemModel.cs b/Main/System/Guild/GuildEmblemModel.cs
index 1d6d526..d50ac7a 100644
--- a/Main/System/Guild/GuildEmblemModel.cs
+++ b/Main/System/Guild/GuildEmblemModel.cs
@@ -13,14 +13,11 @@
public class GuildEmblemModel : GameSystemManager<GuildEmblemModel>
{
- public readonly int MaxItemRowCount = 6; // 涓�琛屽睍绀簒涓窘绔�
- public readonly int FamilyActionsType = 15; // 寰界珷绫诲瀷15
- public readonly int FuncId = 237;
- public int defaultFamilyEmblemId; // 榛樿寰界珷ID
+ public readonly int FamilyActionsType = 15; // 鍏細璁板綍寰界珷绫诲瀷15
- public bool isSendA408Pack = false;
private int m_NowChooseEmblemId;
+ public event Action ChooseEmblemIdChangeEvent; //鍒囨崲寰界珷
public int nowChooseEmblemId
{
get { return m_NowChooseEmblemId; }
@@ -32,19 +29,46 @@
}
- public event Action ChooseEmblemIdChangeEvent; //鍒囨崲鏍囩椤�
+ //鍒涘缓鍏細鏃讹紝閫夋嫨鐨勫窘绔�
+ int m_CreateSelectEmblemId;
+ public event Action CreateSelectEmblemIdChangeEvent;
+ public int createSelectEmblemId
+ {
+ get { return m_CreateSelectEmblemId; }
+ set
+ {
+ m_CreateSelectEmblemId = value;
+ CreateSelectEmblemIdChangeEvent?.Invoke();
+ }
+ }
+ public string createEmblemWord = ""; //鍒涘缓鍏細鏃讹紝杈撳叆鐨勬棗鍙�
Redpoint entranceRedPoint = new Redpoint(10702, MainRedDot.FairyEmbleManageRepoint); //浠欑洘绠$悊闈㈡澘鍏ュ彛绾㈢偣
+ // 鏃х殑鏄剧ず鍒楄〃锛岀敤浜庡垽鏂槸鍚︽湁鍙樺寲, 瀵规瘮绾㈢偣鏄剧ず
+ public List<int> oldShowActiveList = new List<int>(); // 鏃х殑婵�娲诲垪琛紝鐐瑰嚮鏂扮殑寰界珷鏃朵細鏇存柊锛屾垨鑰呭叧闂殑鏃跺�欐洿鏂�
+ public List<int> showList = new List<int>();
public override void Init()
{
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
- defaultFamilyEmblemId = int.Parse(FuncConfigConfig.Get("FairyEmblem").Numerical1);
+ GuildManager.Instance.FamilyActionInfoEvent += OnFamilyActionInfoEvent;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
}
public override void Release()
{
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
+ GuildManager.Instance.FamilyActionInfoEvent -= OnFamilyActionInfoEvent;
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ }
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ m_NowChooseEmblemId = 0;
+ m_CreateSelectEmblemId = 0;
+ createEmblemWord = "";
+ oldShowActiveList.Clear();
+ showList.Clear();
}
private void OnRefreshFairyInfo()
@@ -59,97 +83,65 @@
// 浠呯洘涓昏兘鐪嬪埌
if (!IsCaptain())
return;
- // 浠欑洘2绾у嚭鐜�
- if (PlayerDatas.Instance.fairyData == null || PlayerDatas.Instance.fairyData.fairy.FamilyLV != 2)
- return;
- // 鍙嚭鐜颁竴娆�
- if (GetRedPointShow())
+
+ if (!GetRedPointShow())
return;
entranceRedPoint.state = RedPointState.Simple;
}
- string localStr = "FairyEmblemEntranceRedPoint_";
-
+ // 鏂版棫鍒楄〃瀵规瘮鏄剧ず绾㈢偣
public bool GetRedPointShow()
{
- return LocalSave.GetBool(localStr + PlayerDatas.Instance.PlayerId);
- }
+ if (oldShowActiveList.IsNullOrEmpty())
+ return false;
- public void SetRedPointShow()
- {
- LocalSave.SetBool(localStr + PlayerDatas.Instance.PlayerId, true);
- }
-
- public bool TryGetNowEmblemID(out int nowID)
- {
- nowID = 0;
- int emblemID = (int)PlayerDatas.Instance.fairyData.fairy.EmblemID;
- if (FamilyEmblemConfig.HasKey(emblemID) && IsUnLock(emblemID))
+ for (int i = 0; i < showList.Count; i++)
{
- nowID = (int)emblemID;
- return true;
- }
-
- if (FamilyEmblemConfig.HasKey(defaultFamilyEmblemId))
- {
- nowID = defaultFamilyEmblemId;
- return true;
- }
-
- nowID = 0;
- return false;
-
- }
-
- // 灞曠ず鎸囧畾寰界珷 琛ㄤ腑鎵句笉鍒板窘绔犲氨鏄剧ず榛樿鐨�
- public void ShowEmblem(int emblemID, ImageEx imgTitle, float scale = 1.0f)
- {
- int nowEmblemID = emblemID;
- if (!FamilyEmblemConfig.HasKey(nowEmblemID))
- {
- nowEmblemID = defaultFamilyEmblemId;
- }
- FamilyEmblemConfig config = FamilyEmblemConfig.Get(nowEmblemID);
- UIFrame frame = imgTitle.GetComponent<UIFrame>();
- if (UIFrameMgr.Inst.ContainsDynamicImage(config.Image))
- {
- if (frame == null)
- frame = imgTitle.gameObject.AddComponent<UIFrame>();
-
- List<UnityEngine.Sprite> spriteList = UIFrameMgr.Inst.GetDynamicImage(config.Image);
- if (!spriteList.IsNullOrEmpty())
+ //宸茶В閿佺殑
+ if (!oldShowActiveList.Contains(showList[i]) && IsUnLock(showList[i]))
{
- imgTitle.rectTransform.sizeDelta = new Vector2(spriteList[0].rect.width, spriteList[0].rect.height);
+ return true;
}
-
- imgTitle.raycastTarget = false;
- frame.ResetFrame(config.Image);
- frame.enabled = true;
}
- else
- {
- if (frame != null)
- frame.enabled = false;
- imgTitle.SetSprite(config.Image);
- imgTitle.SetNativeSize();
- }
- imgTitle.rectTransform.localScale = new Vector3(scale, scale, scale);
+ return false;
}
-
-
- public List<int> GetShowList()
+ public List<int> SortShowList()
{
- List<int> showList = new List<int>();
- List<int> keys = FamilyEmblemConfig.GetKeys();
- for (int i = 0; i < keys.Count; i++)
+ if (showList.IsNullOrEmpty())
{
- showList.Add(keys[i]);
+ List<int> keys = FamilyEmblemConfig.GetKeys();
+ for (int i = 0; i < keys.Count; i++)
+ {
+ showList.Add(keys[i]);
+ }
}
showList.Sort(Cmp);
+
+ if (oldShowActiveList.IsNullOrEmpty())
+ {
+ // 鍒濆鍖栨椂锛屽埛鏂版棫鐨勬縺娲诲垪琛�
+ RefreshOldShowActiveList();
+ }
return showList;
}
+
+ // 鍒锋柊鏃х殑婵�娲诲垪琛紝鐢ㄤ簬瀵规瘮绾㈢偣鏄剧ず
+ public void RefreshOldShowActiveList()
+ {
+ oldShowActiveList.Clear();
+ for (int i = 0; i < showList.Count; i++)
+ {
+ //宸茶В閿佺殑
+ if (IsUnLock(showList[i]))
+ {
+ oldShowActiveList.Add(showList[i]);
+ }
+ }
+ }
+
+
// 宸叉縺娲�>鏈縺娲�
private int Cmp(int a, int b)
@@ -180,12 +172,10 @@
}
return a.CompareTo(b);
- }
+ }
public int GetSortNum(int emblemID)
{
- if (!FamilyEmblemConfig.HasKey(emblemID))
- return 0;
return FamilyEmblemConfig.Get(emblemID).SortNum;
}
@@ -200,7 +190,7 @@
return config.UnlockFamilyLV > 0 ? FairyEmblemUnlockMethodType.LV : FairyEmblemUnlockMethodType.Active;
}
- // 鎸囧畾鐨勫窘绔犺В閿佷簡鍚�
+ // 寰界珷鏄惁瑙i攣锛屾湭鍔犲叆鍏細鐨勪篃鍙互璋冪敤鍒ゆ柇
public bool IsUnLock(int emblemId)
{
FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemId);
@@ -220,8 +210,13 @@
return true;
case FairyEmblemUnlockMethodType.LV:
+ int lv = 1; //娌℃湁鍏細鐨勬儏鍐�
+ if (PlayerDatas.Instance.fairyData.fairy != null)
+ {
+ lv = PlayerDatas.Instance.fairyData.fairy.FamilyLV;
+ }
//鎵�鍦ㄤ粰鐩熺瓑绾у皬浜庡窘绔犺姹傜瓑绾� 鏈В閿�
- if (PlayerDatas.Instance.fairyData.fairy.FamilyLV < config.UnlockFamilyLV)
+ if (lv < config.UnlockFamilyLV)
return false;
return true;
@@ -238,13 +233,10 @@
}
}
- public bool IsUsing(int emblemId)
+
+ void OnFamilyActionInfoEvent(int familyId, int actionType)
{
- if (!TryGetNowEmblemID(out int Id))
- {
- return false;
- }
- return emblemId == Id;
+ UpdateRedPoint();
}
public bool IsLimitTime(int emblemId, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction)
@@ -272,10 +264,10 @@
public bool IsCaptain()
{
- return (int)PlayerDatas.Instance.fairyData.mine.FmLV == 3;
+ return PlayerDatas.Instance.fairyData.mine.FmLV == 3;
}
- // 灏濊瘯浠庡皝鍖呬腑寰楀埌鎸囧畾鐨勫窘绔犳椂鏁堜俊鎭紙娲诲姩閫斿緞鑾峰彇鐨勫窘绔�,瀹氬埗寰界珷锛�
+ // 鑾峰緱寰界珷璁板綍淇℃伅淇℃伅锛堟椿鍔ㄩ�斿緞鑾峰彇鐨勫窘绔�,瀹氬埗寰界珷锛夛紝value1鏄窘绔營D锛寁alue2鏄窘绔犲埌鏈熸椂闂�
private bool TryGetfamilyAction(int emblemId, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction)
{
familyAction = new HA513_tagMCFamilyActionInfo.tagMCFamilyAction();
@@ -297,8 +289,6 @@
public bool TryGetEffectID(int emblemId, out int effectID)
{
effectID = 0;
- if (!FamilyEmblemConfig.HasKey(emblemId))
- return false;
FamilyEmblemConfig config = FamilyEmblemConfig.Get(emblemId);
if (!EffectConfig.HasKey(config.EffectID))
return false;
@@ -308,15 +298,3 @@
}
-
-public class EmblemModel
-{
- public int emblemID { get; private set; }
- public int emblemUIEffectID { get; private set; }
-
- public EmblemModel(int emblemID, int emblemUIEffectID)
- {
- this.emblemID = emblemID;
- this.emblemUIEffectID = emblemUIEffectID;
- }
-}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildEmblemSelectCell.cs b/Main/System/Guild/GuildEmblemSelectCell.cs
new file mode 100644
index 0000000..9758ca4
--- /dev/null
+++ b/Main/System/Guild/GuildEmblemSelectCell.cs
@@ -0,0 +1,57 @@
+锘縰sing System.Collections.Generic;
+using System.Reflection;
+using UnityEngine;
+using UnityEngine.UI;
+
+//鍏細寰界珷 閫夋嫨鏌ョ湅
+public class GuildEmblemSelectCell : MonoBehaviour
+{
+ [SerializeField] GuildEmblemCell emblemIcon;
+ [SerializeField] Image useImg;
+ [SerializeField] Image lockImg;
+ [SerializeField] Image selectImg;
+ [SerializeField] Button selectBtn;
+ [SerializeField] Image redPoint;
+
+ public void Display(int index)
+ {
+ var id = GuildEmblemModel.Instance.showList[index];
+ emblemIcon.Display(id, "");
+ if (PlayerDatas.Instance.fairyData.fairy == null)
+ {
+ useImg.SetActive(false);
+ }
+ else
+ {
+ useImg.SetActive(id == PlayerDatas.Instance.fairyData.fairy.EmblemID);
+ }
+ lockImg.SetActive(!GuildEmblemModel.Instance.IsUnLock(id));
+ selectImg.SetActive(id == GuildEmblemModel.Instance.nowChooseEmblemId);
+ redPoint.SetActive(IsShowRedpoint(id));
+ selectBtn.AddListener(() => OnClick(id));
+
+ }
+
+
+ bool IsShowRedpoint(int emblemID)
+ {
+ if (GuildEmblemModel.Instance.oldShowActiveList.Contains(emblemID))
+ {
+ return false;
+ }
+
+ if (!GuildEmblemModel.Instance.IsUnLock(emblemID))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ void OnClick(int id)
+ {
+ GuildEmblemModel.Instance.nowChooseEmblemId = id;
+ }
+
+}
+
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/System/Guild/GuildEmblemSelectCell.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
copy to Main/System/Guild/GuildEmblemSelectCell.cs.meta
index f878724..f1f11e9 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ b/Main/System/Guild/GuildEmblemSelectCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6fb2c77abf75d964d82b4b15659602b9
+guid: 824673e7b90bc33439e9e945e56eacfb
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Guild/GuildEmblemSelectListCell.cs b/Main/System/Guild/GuildEmblemSelectListCell.cs
new file mode 100644
index 0000000..2966376
--- /dev/null
+++ b/Main/System/Guild/GuildEmblemSelectListCell.cs
@@ -0,0 +1,27 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+//鍏細寰界珷鍒楄〃
+public class GuildEmblemListCell : CellView
+{
+ [SerializeField] List<GuildEmblemSelectCell> cells;
+
+ public void Display(int index)
+ {
+ for (int i = 0; i < cells.Count; i++)
+ {
+ if (i + index < GuildEmblemModel.Instance.showList.Count)
+ {
+ cells[i].SetActive(true);
+ cells[i].Display(index + i);
+ }
+ else
+ {
+ cells[i].SetActive(false);
+ }
+ }
+ }
+
+}
+
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/System/Guild/GuildEmblemSelectListCell.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
copy to Main/System/Guild/GuildEmblemSelectListCell.cs.meta
index f878724..5f59176 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ b/Main/System/Guild/GuildEmblemSelectListCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6fb2c77abf75d964d82b4b15659602b9
+guid: 2246d0eca2920224aa0a20d7ca0e1767
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Guild/GuildEmblemWin.cs b/Main/System/Guild/GuildEmblemWin.cs
new file mode 100644
index 0000000..9112e82
--- /dev/null
+++ b/Main/System/Guild/GuildEmblemWin.cs
@@ -0,0 +1,152 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 鍏細寰界珷鐣岄潰 :functionOrder 0 浠h〃鏈夊叕浼氱殑鎯呭喌涓嬫墦寮�锛�1 浠h〃娌℃湁鍏細鐨勬儏鍐典笅鍒涘缓鏃舵墦寮�
+/// </summary>
+public class GuildEmblemWin : UIBase
+{
+ [SerializeField] GuildEmblemCell guildEmblem;
+ [SerializeField] ScrollerController emblemScroller;
+ [SerializeField] Text emblemInfoText;
+ [SerializeField] Text timeDescText;
+ [SerializeField] InputField flagNameText;
+ [SerializeField] Text nowTimeText;
+ [SerializeField] Button changeBtn;
+
+
+ string emblemWord;
+
+ protected override void InitComponent()
+ {
+ flagNameText.onValueChanged.AddListener(OnFlagNameChange);
+ changeBtn.AddListener(ChangeEmblem);
+ }
+ protected override void OnPreOpen()
+ {
+ GuildEmblemModel.Instance.ChooseEmblemIdChangeEvent += ChooseEmblemEvent;
+ emblemScroller.OnRefreshCell += OnRefreshCell;
+
+ if (functionOrder == 1)
+ {
+ GuildEmblemModel.Instance.nowChooseEmblemId = GuildEmblemModel.Instance.createSelectEmblemId;
+ emblemWord = GuildEmblemModel.Instance.createEmblemWord;
+ }
+ else
+ {
+ GuildEmblemModel.Instance.nowChooseEmblemId = PlayerDatas.Instance.fairyData.fairy.EmblemID;
+ emblemWord = PlayerDatas.Instance.fairyData.fairy.EmblemWord;
+ }
+
+ flagNameText.text = emblemWord;
+ GuildEmblemModel.Instance.SortShowList();
+
+ CreateEmblemScroller();
+ Display();
+ }
+
+ protected override void OnPreClose()
+ {
+
+ GuildEmblemModel.Instance.ChooseEmblemIdChangeEvent -= ChooseEmblemEvent;
+ emblemScroller.OnRefreshCell -= OnRefreshCell;
+ }
+
+ void CreateEmblemScroller()
+ {
+ emblemScroller.Refresh();
+ for (int i = 0; i < GuildEmblemModel.Instance.showList.Count; i++)
+ {
+ if (i % 5 == 0)
+ {
+ emblemScroller.AddCell(ScrollerDataType.Header, i);
+ }
+ }
+ emblemScroller.Restart();
+ }
+
+ void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell.GetComponent<GuildEmblemListCell>();
+ _cell.Display(cell.index);
+ }
+
+ void Display()
+ {
+ guildEmblem.Display(GuildEmblemModel.Instance.nowChooseEmblemId, emblemWord, 2f);
+ emblemScroller.m_Scorller.RefreshActiveCellViews();
+ var config = FamilyEmblemConfig.Get(GuildEmblemModel.Instance.nowChooseEmblemId);
+ emblemInfoText.text = config.Descriptive;
+ if (config.ExpireMinutes == 0)
+ {
+ timeDescText.text = "";
+ }
+ else
+ {
+ timeDescText.text = Language.Get("Mail12", TimeUtility.SecondsToShortDHMS(config.ExpireMinutes * 60));
+ }
+
+ if (functionOrder == 1)
+ {
+ nowTimeText.text = "";
+ }
+ else
+ {
+ // 鍏細寰界珷杩囨湡鏃堕棿
+ if (GuildEmblemModel.Instance.IsLimitTime(GuildEmblemModel.Instance.nowChooseEmblemId, out var familyAction))
+ {
+ int time = (int)familyAction.Value2 - TimeUtility.AllSeconds;
+ if (time > 0)
+ nowTimeText.text = Language.Get("GoldRush29", TimeUtility.SecondsToShortDHMS(time));
+ else
+ nowTimeText.text = "";
+ }
+ else
+ {
+ nowTimeText.text = "";
+ }
+
+ }
+
+ if (functionOrder == 1)
+ {
+ changeBtn.SetInteractable(GuildEmblemModel.Instance.IsUnLock(GuildEmblemModel.Instance.nowChooseEmblemId));
+ }
+ else
+ {
+ changeBtn.SetInteractable(GuildEmblemModel.Instance.IsCaptain() && GuildEmblemModel.Instance.IsUnLock(GuildEmblemModel.Instance.nowChooseEmblemId));
+ }
+ }
+
+
+ void OnFlagNameChange(string value)
+ {
+ emblemWord = value;
+ guildEmblem.Display(GuildEmblemModel.Instance.nowChooseEmblemId, emblemWord, 2f);
+ }
+
+ void ChooseEmblemEvent()
+ {
+ Display();
+ }
+
+ void ChangeEmblem()
+ {
+ if (functionOrder == 1)
+ {
+ GuildEmblemModel.Instance.createEmblemWord = emblemWord;
+ GuildEmblemModel.Instance.createSelectEmblemId = GuildEmblemModel.Instance.nowChooseEmblemId;
+ }
+ else
+ {
+ var pack = new CA624_tagCMChangeFamilyEmblem();
+ pack.EmblemID = (byte)GuildEmblemModel.Instance.nowChooseEmblemId;
+ pack.EmblemWord = emblemWord;
+ GameNetSystem.Instance.SendInfo(pack);
+ }
+
+ CloseWindow();
+ }
+}
\ No newline at end of file
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/System/Guild/GuildEmblemWin.cs.meta
similarity index 83%
copy from Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
copy to Main/System/Guild/GuildEmblemWin.cs.meta
index f878724..e19e1a6 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ b/Main/System/Guild/GuildEmblemWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6fb2c77abf75d964d82b4b15659602b9
+guid: 54febdd3c6a7d1c4cbc460b76e0aa240
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Guild/GuildJoinWin.cs b/Main/System/Guild/GuildJoinWin.cs
index db9a591..10aeb88 100644
--- a/Main/System/Guild/GuildJoinWin.cs
+++ b/Main/System/Guild/GuildJoinWin.cs
@@ -4,7 +4,7 @@
using UnityEngine.UI;
/// <summary>
-/// 鍔犲叆鍏細鐣岄潰
+/// 鍔犲叆鍏細鐣岄潰 锛氬叕浼氭煡鎵惧垪琛紝涔熸槸鎺掕姒�
/// </summary>
public class GuildJoinWin : UIBase
{
@@ -19,7 +19,7 @@
int lastPage = 0;
protected override void InitComponent()
{
- findBtn.AddListener(OnFindBtnClick);
+ findBtn.AddListener(() => OnFindBtnClick());
createGuildBtn.AddListener(OnCreateGuildBtnClick);
quicklyJoinGuildBtn.AddListener(OnQuicklyJoinGuildBtnClick);
}
@@ -27,9 +27,34 @@
{
findText.text = "";
//鎵撳紑鐣岄潰榛樿璇锋眰锛屾粴鍔ㄧ殑鏃跺�欓渶瑕佸鐞嗛〉鏁�
- OnFindBtnClick();
+ QueryGuild();
GuildManager.Instance.OnRefreshFairyList += OnRefreshGuildList;
+ GuildManager.Instance.MyRequestJoinEvent += MyRequestJoinEvent;
+ PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
+ guildListScroller.OnRefreshCell += RefreshCell;
Display();
+ }
+
+ protected override void OnPreClose()
+ {
+ GuildManager.Instance.OnRefreshFairyList -= OnRefreshGuildList;
+ GuildManager.Instance.MyRequestJoinEvent -= MyRequestJoinEvent;
+ guildListScroller.OnRefreshCell -= RefreshCell;
+ PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
+
+ var win = UIManager.Instance.GetUI<MainWin>();
+ if (win)
+ win.RestoreFuncBtn();
+
+ }
+
+ void OnRefreshFairyInfo()
+ {
+ //褰撳墠鐣岄潰涓嬫湁鍒锋柊鑷鐨勫叕浼氭暟鎹紝璇存槑涓�瀹氭槸鍔犲叆浜嗗叕浼氾紝闇�涓诲姩璺宠浆鍒板叕浼氱晫闈�
+ CloseWindow();
+ var win = UIManager.Instance.GetUI<MainWin>();
+ if (win)
+ win.ClickFunc(4);
}
void Display()
@@ -37,10 +62,24 @@
CreateScroller();
}
+ void MyRequestJoinEvent()
+ {
+ guildListScroller.m_Scorller.RefreshActiveCellViews();
+ }
+
//鍒楄〃鍙樺皬鐨勮瘽 閲嶆柊鍒涘缓锛涘垪琛ㄥ彉澶х殑璇濓紝鍙坊鍔�
void CreateScroller()
{
+ if (GuildManager.Instance.pageIndexList.Count == 0)
+ {
+ noGuildTf.SetActive(true);
+ guildListScroller.SetActive(false);
+ return;
+ }
+ noGuildTf.SetActive(false);
+ guildListScroller.SetActive(true);
+
var startCount = guildListScroller.GetNumberOfCells();
if (startCount > GuildManager.Instance.pageIndexList.Count)
{
@@ -53,12 +92,6 @@
guildListScroller.Restart();
}
- protected override void OnPreClose()
- {
- GuildManager.Instance.OnRefreshFairyList -= OnRefreshGuildList;
- }
-
-
void OnRefreshGuildList()
@@ -66,9 +99,36 @@
CreateScroller();
}
+ void RefreshCell(ScrollerDataType type, CellView cell)
+ {
+ var _cell = cell.GetComponent<GuildViewListCell>();
+ _cell.Display(cell.index);
+ }
+
private void OnFindBtnClick()
{
- lastQuery = findText.text;
+ var nowQuery = findText.text;
+ if (string.IsNullOrEmpty(nowQuery) && string.IsNullOrEmpty(lastQuery))
+ {
+ SysNotifyMgr.Instance.ShowTip("GuildSys5");
+ return;
+ }
+ if (nowQuery.Length < 2 && nowQuery.Length > 0)
+ {
+ SysNotifyMgr.Instance.ShowTip("GuildSys7");
+ return;
+ }
+
+ lastQuery = nowQuery;
+ lastPage = 0;
+ guildListScroller.Refresh();
+ GuildManager.Instance.SendFindGuild(lastQuery);
+ }
+
+
+ void QueryGuild()
+ {
+ lastQuery = "";
lastPage = 0;
guildListScroller.Refresh();
GuildManager.Instance.SendFindGuild(lastQuery);
@@ -76,12 +136,17 @@
private void OnCreateGuildBtnClick()
{
- // TODO: 瀹炵幇鍒涘缓鍏細閫昏緫
+ UIManager.Instance.OpenWindow<GuildCreateWin>();
}
private void OnQuicklyJoinGuildBtnClick()
{
- // TODO: 瀹炵幇蹇�熷姞鍏ュ叕浼氶�昏緫
+ if (GuildManager.Instance.pageIndexList.Count == 0)
+ {
+ SysNotifyMgr.Instance.ShowTip("QuickEnterFamilyFail");
+ return;
+ }
+ GuildManager.Instance.SendApplyGuild(0, 0);
}
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index ef51011..1bb39f7 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -1,4 +1,4 @@
-锘縰sing System;
+using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
@@ -10,10 +10,10 @@
{
// 鐢宠鐨勫叕浼氬垪琛�
private List<int> m_FairyRequesteds = new List<int>();
- // 鍏細闄勫姞鏁版嵁锛屾寜绫诲瀷瀛樺偍
+ // 鍏細鑷畾涔夎褰曢檮鍔犳暟鎹紝鎸夌被鍨嬪瓨鍌�
// 鍏細ID锛� 绫诲瀷ID锛� 鏁版嵁
public Dictionary<int, Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction[]>> familyActions = new Dictionary<int, Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction[]>>();
- public event Action<int, int> FamilyActionInfoEvent;
+ public event Action<int, int> FamilyActionInfoEvent; //鍏細鑷畾涔夎褰�, 鍏朵粬鍔熻兘浠庤繖鑾峰彇
public override void Init()
{
@@ -32,6 +32,9 @@
{
m_FairyRequesteds.Clear();
familyActions.Clear();
+ guildChanged = false;
+ applyList.Clear();
+ PlayerDatas.Instance.fairyData.ClearData();
}
@@ -46,40 +49,9 @@
}
- #region 鍙戝寘
- public void SendKickFairy(uint playerID)
- {
- var pak = new CA605_tagCMDeleteFamilyMember();
- pak.MemberID = playerID;
- GameNetSystem.Instance.SendInfo(pak);
- }
-
-
-
- //鐢宠/鎾ら攢 鍔犲叆鍏細
- public void SendApplyFairy(uint id, int type)
- {
- if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Fairy, true))
- {
- return;
- }
- if (PlayerDatas.Instance.fairyData.HasFairy)
- {
- ServerTipDetails.DisplayNormalTip(Language.Get("HasFairyTip"));
- return;
- }
- CA602_tagCMRequesJoinFamily rqPack = new CA602_tagCMRequesJoinFamily();
- rqPack.Type = (byte)type;
- rqPack.TagFamilyID = id;
- GameNetSystem.Instance.SendInfo(rqPack);
- }
- #endregion
-
-
-
#region 閰嶇疆
-
+
public int createFairyCost
{
get;
@@ -93,6 +65,18 @@
// 鏉冮檺ID: 1-鏀朵汉锛�2-鍙樻洿鑱屼綅锛�3-鍙戝竷鍏憡锛�4-韪汉
// 鑱屼綅锛� 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓洘涓伙紝3-鐩熶富
public Dictionary<int, int> guildWorkToLevel = new Dictionary<int, int>();
+
+ //閫�鍑烘儵缃�
+ public int[] quitGuildPunishTime;
+ public int[] beQuitGuildPunishTime;
+ public int quitGuildPunishMoneyType;
+ public int[] quitGuildPunishMoney;
+ public int[] beQuitGuildPunishMoney;
+
+ //鏀瑰悕
+ public int renameFairyNameCD;
+ public int renameFairyNameCost;
+ public int renameFairyNameMoneyType;
void ParseConfig()
{
@@ -110,13 +94,27 @@
config = FuncConfigConfig.Get("FamilyPower");
guildWorkToLevel = ConfigParse.ParseIntDict(config.Numerical1);
+ config = FuncConfigConfig.Get("FamilyLeave");
+ quitGuildPunishTime = JsonMapper.ToObject<int[]>(config.Numerical1);
+ beQuitGuildPunishTime = JsonMapper.ToObject<int[]>(config.Numerical2);
+ quitGuildPunishMoneyType = int.Parse(config.Numerical3);
+ quitGuildPunishMoney = JsonMapper.ToObject<int[]>(config.Numerical4);
+ beQuitGuildPunishMoney = JsonMapper.ToObject<int[]>(config.Numerical5);
+
+ config = FuncConfigConfig.Get("FamilyRename");
+ renameFairyNameCD = int.Parse(config.Numerical2);
+ var arr = ConfigParse.GetMultipleStr<int>(config.Numerical1);
+ renameFairyNameCost = arr[0];
+ renameFairyNameMoneyType = arr[1];
+
}
#endregion
-
+ //鎴戠殑璇锋眰鍔犲叆鍏細鐨勫垪琛�
+ public event Action MyRequestJoinEvent;
public void UpdateFairyRequested(HA501_tagMCNotifyRequestJoinFamilyInfo _package)
{
m_FairyRequesteds.Clear();
@@ -124,10 +122,11 @@
{
m_FairyRequesteds.Add((int)_package.RequestJoinFamilyIDList[i]);
}
+ MyRequestJoinEvent?.Invoke();
}
- public bool FairyRequested(int _fairyId)
+ public bool IsGuildRequested(int _fairyId)
{
return m_FairyRequesteds.Contains(_fairyId);
}
@@ -145,7 +144,7 @@
- #region 浠欑洘鍚嶉檺鍒�
+ #region 鍒涘缓鍏細 鏀瑰悕
public bool CheckFairyNameLimit(string _name, out int errorCode)
{
errorCode = 0;
@@ -160,19 +159,30 @@
errorCode = 1;
return false;
}
+ if (UIHelper.IsNumeric(_name))
+ {
+ errorCode = 2;
+ return false;
+ }
return true;
}
-
-
+
+
public void ShowFairyNameErrorTip(int _errorCode)
{
switch (_errorCode)
{
case 0:
+ //绌�
SysNotifyMgr.Instance.ShowTip("FamilyNameChangeNoNull");
break;
case 1:
- SysNotifyMgr.Instance.ShowTip("FamilyNameChangeUnlegal");
+ // 鑴忓瓧
+ SysNotifyMgr.Instance.ShowTip("NameSensitive");
+ break;
+ case 2:
+ // 涓嶈兘绾暟瀛�
+ SysNotifyMgr.Instance.ShowTip("NameError3");
break;
}
}
@@ -190,9 +200,90 @@
}
+
+
+ int GetJoinCD()
+ {
+ if (PlayerDatas.Instance.baseData.leaveFamilyTime == 0)
+ return 0;
+ var quitType = PlayerDatas.Instance.baseData.leaveGuildInfo % 10;
+ int quitCount = 0;
+ int punishTime = 0;
+ if (quitType == 0)
+ {
+ //琚涪
+ quitCount = PlayerDatas.Instance.baseData.leaveGuildInfo / 10 % 10;
+ if (beQuitGuildPunishTime.Length != 0)
+ punishTime = beQuitGuildPunishTime[Math.Min(quitCount, beQuitGuildPunishTime.Length - 1)];
+ }
+ else if (quitType == 1)
+ {
+ //涓诲姩閫�鍑�
+ quitCount = PlayerDatas.Instance.baseData.leaveGuildInfo / 100;
+ if (quitGuildPunishTime.Length != 0)
+ punishTime = quitGuildPunishTime[Math.Min(quitCount, quitGuildPunishTime.Length - 1)];
+ }
+
+ return TimeUtility.AllSeconds - PlayerDatas.Instance.baseData.leaveFamilyTime - punishTime * 60;
+ }
+
+
+ // 鍒涘缓鍏細
+ public void CreateGuild(string name, int emblemID, string emblemWord)
+ {
+ var cdSeconds = GetJoinCD();
+ if (cdSeconds > 0)
+ {
+ SysNotifyMgr.Instance.ShowTip("GuildSys4", TimeUtility.SecondsToHMSEx(cdSeconds));
+ return;
+ }
+
+ if (!UIHelper.CheckMoneyCount(createMoneyType, createFairyCost, 2))
+ {
+ return;
+ }
+
+ if (emblemWord.Length > 1)
+ {
+ //棰勫埗浣撹緭鍏ユ闄愬埗锛屼笉闄愪换鎰忓瓧绗﹂兘鍙兘杈撳叆1涓瓧
+ return;
+ }
+
+ int error;
+
+ //鑾峰彇name鐨勫瓧鑺傞暱搴︼紝name鍙兘鏄腑鏂� 鎴栬�呭叾浠栧崰鐢�3涓瓧绗︾殑绗﹀彿
+ if (!UIHelper.SatisfyNameLength(name, out error))
+ {
+ // TODO 鏆傛椂鎸変腑鏂囬暱搴︽彁绀�, 涓嶅悓璇█鍙牴鎹儏鍐典慨鏀�
+ if (error == 1)
+ {
+ SysNotifyMgr.Instance.ShowTip("NameError2", 7);
+ return;
+ }
+ else if (error == 2)
+ {
+ SysNotifyMgr.Instance.ShowTip("NameError1", 2);
+ return;
+ }
+ }
+
+ if (!CheckFairyNameLimit(name, out error))
+ {
+ ShowFairyNameErrorTip(error);
+ return;
+ }
+
+ var pack = new CA604_tagCMCreateFamily();
+ pack.Name = name;
+ pack.EmblemID = (ushort)emblemID;
+ pack.EmblemWord = emblemWord;
+ GameNetSystem.Instance.SendInfo(pack);
+
+ }
+
#endregion
-
+
#region 浠欑洘鍟嗗簵寮�鍚�
@@ -229,7 +320,7 @@
-
+ // 鍏細鑷畾涔夎褰�
public void UpdateFamilyAction(HA513_tagMCFamilyActionInfo _package)
{
@@ -258,7 +349,7 @@
return false;
return true;
}
-
+
#region 浠欑洘鍒楄〃
@@ -305,6 +396,11 @@
}
var pack = new CA620_tagCMViewFamilyPage();
+ if (!string.IsNullOrEmpty(msg) && UIHelper.IsNumeric(msg))
+ {
+ msg = DecryptGuildID(msg);
+ }
+
pack.Msg = msg;
pack.MsgLen = (byte)msg.Length;
pack.PageIndex = (byte)pageIndex;
@@ -317,15 +413,15 @@
public static void SetFairyViewData(FairyData data, HA523_tagMCFamilyViewList.tagMCFamilyView view)
{
data.Rank = view.Rank;
- data.FamilyID = view.FamilyID;
+ data.FamilyID = (int)view.FamilyID;
data.FamilyName = view.FamilyName;
- data.LeaderID = view.LeaderID;
+ data.LeaderID = (int)view.LeaderID;
data.LeaderName = view.LeaderName;
data.FamilyLV = view.FamilyLV;
data.JoinReview = view.JoinReview;
data.JoinLVMin = view.JoinLVMin;
- data.ServerID = view.ServerID;
- data.EmblemID = view.EmblemID;
+ data.ServerID = (int)view.ServerID;
+ data.EmblemID = (int)view.EmblemID;
data.EmblemWord = view.EmblemWord;
data.totalFightPower = view.FightPowerEx * Constants.ExpPointValue + view.FightPower;
data.MemberCount = view.MemberCount;
@@ -348,16 +444,16 @@
{
FairyApply apply = new FairyApply();
apply.Name = vNetData.ReqJoinList[i].Name;
- apply.PlayerID = vNetData.ReqJoinList[i].PlayerID;
- apply.ReqTime = vNetData.ReqJoinList[i].ReqTime;
+ apply.PlayerID = (int)vNetData.ReqJoinList[i].PlayerID;
+ apply.ReqTime = (int)vNetData.ReqJoinList[i].ReqTime;
apply.LV = vNetData.ReqJoinList[i].LV;
apply.Job = vNetData.ReqJoinList[i].Job;
apply.RealmLV = vNetData.ReqJoinList[i].RealmLV;
- apply.Face = vNetData.ReqJoinList[i].Face;
- apply.FacePic = vNetData.ReqJoinList[i].FacePic;
- apply.TitleID = vNetData.ReqJoinList[i].TitleID;
+ apply.Face = (int)vNetData.ReqJoinList[i].Face;
+ apply.FacePic = (int)vNetData.ReqJoinList[i].FacePic;
+ apply.TitleID = (int)vNetData.ReqJoinList[i].TitleID;
apply.FightPower = vNetData.ReqJoinList[i].FightPower + vNetData.ReqJoinList[i].FightPowerEx * Constants.ExpPointValue;
- apply.ServerID = vNetData.ReqJoinList[i].ServerID;
+ apply.ServerID = (int)vNetData.ReqJoinList[i].ServerID;
apply.IsOnLine = vNetData.ReqJoinList[i].IsOnLine;
applyList.Add(apply);
}
@@ -384,7 +480,167 @@
{
return applyList;
}
+
+ //type 0鐢宠/1鎾ら攢 鍔犲叆鍏細
+ //id 0 浠h〃涓�閿姞鍏�
+ public void SendApplyGuild(int id, int type)
+ {
+ if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Fairy, true))
+ {
+ return;
+ }
+
+ if (PlayerDatas.Instance.fairyData.HasFairy)
+ {
+ SysNotifyMgr.Instance.ShowTip("GeRen_chenxin_85890");
+ return;
+ }
+
+ if (type == 0)
+ {
+ var cdSeconds = GetJoinCD();
+ if (cdSeconds > 0)
+ {
+ SysNotifyMgr.Instance.ShowTip("GuildSys2", TimeUtility.SecondsToHMSEx(cdSeconds));
+ return;
+ }
+
+ if (id != 0 && guildsDict.ContainsKey(id))
+ {
+ if (guildsDict[id].MemberCount >= FamilyConfig.Get(guildsDict[id].FamilyLV).MemberMax)
+ {
+ SysNotifyMgr.Instance.ShowTip("jiazu_lhs_202580");
+ return;
+ }
+ }
+ }
+
+ CA602_tagCMRequesJoinFamily rqPack = new CA602_tagCMRequesJoinFamily();
+ rqPack.Type = (byte)type;
+ rqPack.TagFamilyID = (uint)id;
+ GameNetSystem.Instance.SendInfo(rqPack);
+ }
+
+
+
+ //0 鍔犲叆锛�1 鐢宠 2 宸茬敵璇�
+ public int GetRequestState(FairyData guildInfo)
+ {
+ if (IsGuildRequested(guildInfo.FamilyID))
+ {
+ return 2;
+ }
+
+ if (guildInfo.JoinReview != 0)
+ {
+ return 1;
+ }
+
+ return 0;
+ }
+
+
+
#endregion
+ public bool guildChanged = false;
+ //鍏細鏁版嵁鍙樺寲锛岃姹傛柊鐨勫叕浼氫俊鎭紝濡傚湪鎵撳紑鍏細鍒楄〃鏃惰姹傦紝鍏朵粬鍔熻兘鏍规嵁鑷韩鎯呭喌璇锋眰
+ public void UpdateGuildDataChangeMark(HA521_tagMCFamilyChange netPack)
+ {
+ if (netPack.Type > 0)
+ {
+ guildChanged = true;
+ }
+ }
+
+ public void RequestGuildData()
+ {
+ if (guildChanged)
+ {
+ guildChanged = false;
+ var pack = new CA626_tagCMGetFamilyInfo();
+ GameNetSystem.Instance.SendInfo(pack);
+
+ }
+ }
+
+ public void SendKickFairy(uint playerID)
+ {
+ var pak = new CA605_tagCMDeleteFamilyMember();
+ pak.MemberID = playerID;
+ GameNetSystem.Instance.SendInfo(pak);
+ }
+
+
+ #region 鍔犲瘑鏁板瓧
+
+ //1. 灏嗘暟瀛楄ˉ鍏呭埌10浣嶏紝涓嶈冻琛�0
+ //2. 灏嗘瘡涓綅鐨勬暟瀛楃粨鍚堢储寮� 鏄犲皠鍒版槧灏勮〃涓�
+ //3. 灏嗘槧灏勫悗鐨勬暟瀛楁嫾鎺ユ垚瀛楃涓�
+ //4. 鍙﹀涓�涓В瀵嗗嚱鏁帮紝灏嗗瓧绗︿覆杩樺師鎴愭暟瀛�
+
+ int[] map = { 5, 2, 9, 1, 8, 3, 7, 0, 6, 4 };
+ int[] reverseMap;
+
+ public string EncryptGuildID(int num)
+ {
+ if (num < 0)
+ {
+ Debug.LogError("Invalid number: " + num);
+ return "";
+ }
+
+ string str = num.ToString().PadLeft(10, '0');
+ StringBuilder result = new StringBuilder();
+
+ for (int i = 0; i < str.Length; i++)
+ {
+ int digit = int.Parse(str[i].ToString());
+ int encryptedDigit = map[(digit + i) % 10]; // 缁撳悎浣嶇疆鏌ヨ〃
+ result.Append(encryptedDigit);
+ }
+ return "6" + result.ToString();
+ }
+
+ public string DecryptGuildID(string encryptedStr)
+ {
+ if (string.IsNullOrEmpty(encryptedStr) || encryptedStr.Length != 11)
+ {
+ // Debug.LogError("Invalid encrypted string: " + encryptedStr);
+ SysNotifyMgr.Instance.ShowTip("GuildSys6");
+ return "";
+ }
+
+ encryptedStr = encryptedStr.Substring(1);
+
+ if (reverseMap.IsNullOrEmpty())
+ {
+ reverseMap = new int[10];
+ reverseMap = GenerateReverseMap(map);
+ }
+ StringBuilder originalStr = new StringBuilder();
+
+ for (int i = 0; i < encryptedStr.Length; i++)
+ {
+ int encryptedDigit = int.Parse(encryptedStr[i].ToString());
+ int originalDigit = (reverseMap[encryptedDigit] - i + 10) % 10; // 鍙嶅悜鏌ヨ〃骞惰皟鏁翠綅缃�
+ originalStr.Append(originalDigit);
+ }
+ return originalStr.ToString().TrimStart('0'); // 鍘婚櫎鍓嶅闆�
+ }
+
+
+ int[] GenerateReverseMap(int[] map)
+ {
+ for (int i = 0; i < map.Length; i++)
+ {
+ reverseMap[map[i]] = i; // 鍙嶅悜鏄犲皠锛歮ap[i] -> i
+ }
+ return reverseMap;
+ }
+
+
+ #endregion
+
}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildPreviewWin.cs b/Main/System/Guild/GuildPreviewWin.cs
new file mode 100644
index 0000000..eb15938
--- /dev/null
+++ b/Main/System/Guild/GuildPreviewWin.cs
@@ -0,0 +1,129 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 鏌ョ湅鍏朵粬鍏細鐣岄潰
+/// </summary>
+public class GuildPreviewWin : UIBase
+{
+ [SerializeField] GuildEmblemCell guildEmblem;
+ [SerializeField] Text guildMemberCountText;
+ [SerializeField] Text totalFightPowerText;
+ [SerializeField] Text guildLevelText;
+ [SerializeField] Text guildNameText; //鍔犳湇鍔″櫒淇℃伅
+ [SerializeField] Text guildNumText; //鍔犲叕浼氱紪鍙�
+ [SerializeField] Button copyBtn;
+ [SerializeField] Text noticeText; //鍏憡
+ [SerializeField] AvatarCell leaderAvatar;
+ [SerializeField] OfficialTitleCell leaderTitle;
+ [SerializeField] Text leaderLevelText;
+ [SerializeField] Text guildJobText;
+ [SerializeField] Text leaderNameText;
+ [SerializeField] Text leaderFightPowerText;
+ [SerializeField] Button seePlayerBtn;
+
+ [SerializeField] Button opearteBtn;
+ [SerializeField] Text opearteBtnText;
+
+
+ int guildID;
+ int leaderID;
+ protected override void InitComponent()
+ {
+ opearteBtn.AddListener(() =>
+ {
+ var guildInfo = GuildManager.Instance.guildsDict[guildID];
+ if (guildInfo == null) return;
+ var state = GuildManager.Instance.GetRequestState(guildInfo);
+ GuildManager.Instance.SendApplyGuild(guildID, state == 2 ? 1 : 0);
+ });
+
+ copyBtn.AddListener(() =>
+ {
+ var guildInfo = GuildManager.Instance.guildsDict[guildID];
+ if (guildInfo == null) return;
+ UIHelper.CopyToClipboard(guildNumText.text);
+ SysNotifyMgr.Instance.ShowTip("GuildSys8");
+ });
+
+ seePlayerBtn.AddListener(() =>
+ {
+ OtherPlayerDetailManager.Instance.ViewPlayerDetail(leaderID);
+ });
+ }
+
+ protected override void OnPreOpen()
+ {
+ OtherPlayerDetailManager.Instance.OnRevPackage += OnRevLeaderPackage;
+ guildID = functionOrder;
+
+ Display();
+ }
+
+ protected override void OnPreClose()
+ {
+ OtherPlayerDetailManager.Instance.OnRevPackage -= OnRevLeaderPackage;
+
+ }
+
+ void Display()
+ {
+ var guildInfo = GuildManager.Instance.guildsDict[guildID];
+ if (guildInfo == null) return;
+ leaderID = guildInfo.LeaderID;
+ OtherPlayerDetailManager.Instance.ViewPlayerDetail(leaderID, (int)ViewPlayerType.viewGuildLeader);
+
+ var config = FamilyConfig.Get(guildInfo.FamilyLV);
+ guildEmblem.Display(guildInfo.EmblemID, guildInfo.EmblemWord, 1.3f);
+ guildMemberCountText.text = guildInfo.MemberCount + "/" + config.MemberMax;
+ totalFightPowerText.text = UIHelper.ReplaceLargeArtNum(guildInfo.totalFightPower);
+ guildLevelText.text = Language.Get("L1094") + guildInfo.FamilyLV;
+ guildNameText.text = guildInfo.FamilyName + Language.Get("L1039", ServerListCenter.Instance.GetServerName(guildInfo.ServerID));
+ guildNumText.text = GuildManager.Instance.EncryptGuildID(guildInfo.FamilyID);
+ leaderNameText.text = guildInfo.LeaderName;
+ noticeText.text = guildInfo.Broadcast;
+
+
+ var state = GuildManager.Instance.GetRequestState(guildInfo);
+
+ string key = "";
+ switch (state)
+ {
+ case 1:
+ key = "Guild_17";
+ break;
+ case 2:
+ key = "Guild_21";
+ break;
+ default:
+ key = "Guild_22";
+ break;
+ }
+ opearteBtnText.text = Language.Get(key);
+
+ }
+
+
+
+ void OnRevLeaderPackage(int viewType, int playerID)
+ {
+ if (viewType != (int)ViewPlayerType.viewGuildLeader)
+ {
+ return;
+ }
+ if (playerID != leaderID)
+ {
+ return;
+ }
+ var leaderInfo = OtherPlayerDetailManager.Instance.GetViewPlayerData(playerID);
+
+ leaderAvatar.InitUI(AvatarHelper.GetAvatarModel(0, leaderInfo.Face, leaderInfo.FacePic));
+ leaderTitle.InitUI(leaderInfo.RealmLV, leaderInfo.TitleID);
+ leaderLevelText.text = leaderInfo.LV.ToString();
+ guildJobText.text = RichTextMsgReplaceConfig.GetRichReplace("FAMILY", 3);
+ leaderFightPowerText.text = UIHelper.ReplaceLargeArtNum(leaderInfo.FightPower);
+ }
+
+}
\ No newline at end of file
diff --git a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta b/Main/System/Guild/GuildPreviewWin.cs.meta
similarity index 83%
rename from Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
rename to Main/System/Guild/GuildPreviewWin.cs.meta
index f878724..4e627b5 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA3_Function/HA3A1_tagMCModuleFightPowerInfo.cs.meta
+++ b/Main/System/Guild/GuildPreviewWin.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 6fb2c77abf75d964d82b4b15659602b9
+guid: fd9c288ff11ce574fa551ef39869d5ea
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Main/System/Guild/GuildViewListCell.cs b/Main/System/Guild/GuildViewListCell.cs
index 2cd56f6..663f07c 100644
--- a/Main/System/Guild/GuildViewListCell.cs
+++ b/Main/System/Guild/GuildViewListCell.cs
@@ -2,20 +2,21 @@
using UnityEngine.UI;
+//鍏細鏌ユ壘鍒楄〃锛屼篃鏄帓琛屾
public class GuildViewListCell : CellView
{
[SerializeField] Image rankImg;
[SerializeField] Transform rankTextTf;
[SerializeField] Text rankText;
- [SerializeField] Image guildEmblemImg;
+ [SerializeField] GuildEmblemCell guildEmblem;
[SerializeField] Text guildLevelText;
[SerializeField] Text guildNameText;
[SerializeField] Text leaderNameText;
[SerializeField] Text totalFightPowerText;
- [SerializeField] Text limitText;
[SerializeField] Button opearteBtn;
[SerializeField] Text opearteBtnText;
[SerializeField] Text guildMemberCountText;
+ [SerializeField] Button seeGuildBtn;
public void Display(int index)
@@ -27,6 +28,7 @@
{
rankImg.SetActive(true);
rankImg.SetSprite("guildnum" + guildInfo.Rank);
+ rankImg.SetNativeSize();
rankTextTf.SetActive(false);
}
else
@@ -35,12 +37,44 @@
rankTextTf.SetActive(true);
rankText.text = guildInfo.Rank.ToString();
}
+ guildEmblem.Display(guildInfo.EmblemID, guildInfo.EmblemWord);
guildLevelText.text = Language.Get("L1094") + guildInfo.FamilyLV;
guildNameText.text = guildInfo.FamilyName;
leaderNameText.text = guildInfo.LeaderName;
- totalFightPowerText.text = guildInfo.totalFightPower.ToString();
+ totalFightPowerText.text = UIHelper.ReplaceLargeArtNum(guildInfo.totalFightPower);
+ var config = FamilyConfig.Get(guildInfo.FamilyLV);
+ guildMemberCountText.text = guildInfo.MemberCount + "/" + config.MemberMax;
+
+ var state = GuildManager.Instance.GetRequestState(guildInfo);
+
+ string key = "";
+ switch (state)
+ {
+ case 1:
+ key = "Guild_17";
+ break;
+ case 2:
+ key = "Guild_21";
+ break;
+ default:
+ key = "Guild_22";
+ break;
+ }
+ opearteBtnText.text = Language.Get(key);
+
+ int familyID = guildInfo.FamilyID;
+ opearteBtn.AddListener(() =>
+ {
+ GuildManager.Instance.SendApplyGuild(familyID, state == 2 ? 1 : 0);
+ });
+
+ seeGuildBtn.AddListener(() =>
+ {
+ UIManager.Instance.OpenWindow<GuildPreviewWin>(guildID);
+ });
}
+
}
diff --git a/Main/System/Guild/PlayerFairyData.cs b/Main/System/Guild/PlayerFairyData.cs
index f3ea866..d058ee8 100644
--- a/Main/System/Guild/PlayerFairyData.cs
+++ b/Main/System/Guild/PlayerFairyData.cs
@@ -7,17 +7,22 @@
/** 鐜╁浠欑洘鐩稿叧淇℃伅缂撳瓨鏁版嵁 */
public class PlayerFairyData
{
- private bool hasFairy = false;
+
public bool HasFairy
{
- get { return hasFairy; }
+ get
+ {
+ if (fairy == null) return false;
+ if (fairy.FamilyID == 0) return false;
+ return true;
+ }
}
public FairyData fairy = null; //鑷繁鐨勫叕浼氭暟鎹�
public FairyMember mine = null;
public event Action OnRefreshFairyInfo;
- public event Action OnRefreshFairyMine;
+ public event Action OnRefreshFairyMine; //鐜╁鍦ㄥ叕浼氶噷鐨勬暟鎹�
private Dictionary<int, FairyMember> memberDic = new Dictionary<int, FairyMember>();
// 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓洘涓伙紝3-鐩熶富
@@ -33,19 +38,18 @@
{
fairy = new FairyData();
}
- fairy.FamilyID = vNetData.FamilyID;
- if (fairy.FamilyID != 0) hasFairy = true;
+ fairy.FamilyID = (int)vNetData.FamilyID;
fairy.FamilyName = UIHelper.ServerStringTrim(vNetData.FamilyName);
fairy.FamilyLV = vNetData.FamilyLV;
- fairy.FamilyLVExp = vNetData.FamilyLVExp;
+ fairy.FamilyLVExp = (int)vNetData.FamilyLVExp;
fairy.JoinReview = vNetData.JoinReview;
fairy.JoinLVMin = vNetData.JoinLVMin;
- fairy.ServerID = vNetData.ServerID;
- fairy.EmblemID = vNetData.EmblemID;
+ fairy.ServerID = (int)vNetData.ServerID;
+ fairy.EmblemID = (int)vNetData.EmblemID;
fairy.EmblemWord = vNetData.EmblemWord;
fairy.totalFightPower = vNetData.FightPowerEx * Constants.ExpPointValue + vNetData.FightPower;
fairy.Broadcast = vNetData.Broadcast;
- fairy.LeaderID = vNetData.LeaderID;
+ fairy.LeaderID = (int)vNetData.LeaderID;
fairy.MemberCount = vNetData.MemberCount;
mine = null;
@@ -56,28 +60,29 @@
FairyMember member = new FairyMember();
memberDic[(int)vNetData.MemberList[i].PlayerID] = member;
- member.PlayerID = vNetData.MemberList[i].PlayerID;
+ member.PlayerID = (int)vNetData.MemberList[i].PlayerID;
member.Name = vNetData.MemberList[i].Name;
- member.JoinTime = vNetData.MemberList[i].JoinTime;
+ member.JoinTime = (int)vNetData.MemberList[i].JoinTime;
member.FmLV = vNetData.MemberList[i].FmLV;
member.LV = vNetData.MemberList[i].LV;
member.Job = vNetData.MemberList[i].Job;
member.RealmLV = vNetData.MemberList[i].RealmLV;
- member.Face = vNetData.MemberList[i].Face;
- member.FacePic = vNetData.MemberList[i].FacePic;
- member.TitleID = vNetData.MemberList[i].TitleID;
+ member.Face = (int)vNetData.MemberList[i].Face;
+ member.FacePic = (int)vNetData.MemberList[i].FacePic;
+ member.TitleID = (int)vNetData.MemberList[i].TitleID;
member.FightPower = vNetData.MemberList[i].FightPower + vNetData.MemberList[i].FightPowerEx * Constants.ExpPointValue;
- member.ServerID = vNetData.MemberList[i].ServerID;
- member.ContribTotal = vNetData.MemberList[i].ContribTotal;
- member.ContribDay = vNetData.MemberList[i].ContribDay;
- member.DonateCntTotal = vNetData.MemberList[i].DonateCntTotal;
+ member.ServerID = (int)vNetData.MemberList[i].ServerID;
+ member.ContribTotal = (int)vNetData.MemberList[i].ContribTotal;
+ member.ContribDay = (int)vNetData.MemberList[i].ContribDay;
+ member.DonateCntTotal = (int)vNetData.MemberList[i].DonateCntTotal;
member.DonateCntDay = vNetData.MemberList[i].DonateCntDay;
- member.OffTime = vNetData.MemberList[i].OffTime;
+ member.OffTime = (int)vNetData.MemberList[i].OffTime;
if (member.PlayerID == PlayerDatas.Instance.baseData.PlayerID)
{
//鑷繁
mine = member;
+ OnRefreshFairyMine?.Invoke();
}
// 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓洘涓伙紝3-鐩熶富
@@ -118,6 +123,13 @@
}
#endregion
+ public void ClearData()
+ {
+ fairy = null;
+ mine = null;
+ memberDic.Clear();
+ leaderID = 0;
+ }
}
@@ -125,19 +137,19 @@
//鍏細鏁版嵁
public class FairyData
{
- public ushort Rank; //鍚嶆锛屼粠1寮�濮�
- public uint FamilyID;
+ public int Rank; //鍚嶆锛屼粠1寮�濮�
+ public int FamilyID;
public string FamilyName; //瀹舵棌鍚嶇О
- public byte FamilyLV; //瀹舵棌绛夌骇
- public uint FamilyLVExp; //瀹舵棌绛夌骇缁忛獙
- public byte JoinReview; //鎴愬憳鍔犲叆鏄惁闇�瑕佸鏍革紝榛樿0鑷姩鍔犲叆
- public ushort JoinLVMin; //闄愬埗鏈�浣庡彲鍔犲叆鐨勭帺瀹剁瓑绾�
- public uint ServerID; //鍖烘湇ID锛屽垱寤烘椂浠ユ棌闀跨殑鍖烘湇ID璧嬪��
- public uint EmblemID; //寰界珷ID
+ public int FamilyLV; //瀹舵棌绛夌骇
+ public int FamilyLVExp; //瀹舵棌绛夌骇缁忛獙
+ public int JoinReview; //鎴愬憳鍔犲叆鏄惁闇�瑕佸鏍革紝榛樿0鑷姩鍔犲叆
+ public int JoinLVMin; //闄愬埗鏈�浣庡彲鍔犲叆鐨勭帺瀹剁瓑绾�
+ public int ServerID; //鍖烘湇ID锛屽垱寤烘椂浠ユ棌闀跨殑鍖烘湇ID璧嬪��
+ public int EmblemID; //寰界珷ID
public string EmblemWord; //寰界珷鏂囧瓧
public long totalFightPower;
public string Broadcast;
- public uint LeaderID; //鏃忛暱鐜╁ID
+ public int LeaderID; //鏃忛暱鐜╁ID
public int MemberCount;
//鏌ユ壘澧炲姞鐨勫瓧娈�
@@ -147,39 +159,39 @@
public class FairyMember
{
- public uint PlayerID;
+ public int PlayerID;
public string Name; //size = NameLen
- public uint JoinTime; //鍔犲叆瀹舵棌鏃舵椂闂存埑
- public byte FmLV; //瀹舵棌鑱屼綅: 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓棌闀匡紱3-鏃忛暱
- public ushort LV; //绛夌骇
- public byte Job; //鑱屼笟
- public byte RealmLV; //澧冪晫
- public uint Face; //鍩烘湰鑴稿瀷
- public uint FacePic; //澶村儚妗�
- public uint TitleID; //绉板彿
+ public int JoinTime; //鍔犲叆瀹舵棌鏃舵椂闂存埑
+ public int FmLV; //瀹舵棌鑱屼綅: 0-鎴愬憳锛�1-绮捐嫳锛�2-鍓棌闀匡紱3-鏃忛暱
+ public int LV; //绛夌骇
+ public int Job; //鑱屼笟
+ public int RealmLV; //澧冪晫
+ public int Face; //鍩烘湰鑴稿瀷
+ public int FacePic; //澶村儚妗�
+ public int TitleID; //绉板彿
public long FightPower; //鎴樺姏锛屾眰浣欎嚎閮ㄥ垎
- public uint ServerID; //鎵�灞炲尯鏈岻D
- public uint ContribTotal; //鎬昏础鐚害
- public uint ContribDay; //鏃ヨ础鐚害
- public uint DonateCntTotal; //鎬绘崘鐚鏁�
- public byte DonateCntDay; //鏃ユ崘鐚鏁�
- public uint OffTime; // 0-鍦ㄧ嚎; >0-/绂荤嚎鏃堕棿鎴�
+ public int ServerID; //鎵�灞炲尯鏈岻D
+ public int ContribTotal; //鎬昏础鐚害
+ public int ContribDay; //鏃ヨ础鐚害
+ public int DonateCntTotal; //鎬绘崘鐚鏁�
+ public int DonateCntDay; //鏃ユ崘鐚鏁�
+ public int OffTime; // 0-鍦ㄧ嚎; >0-/绂荤嚎鏃堕棿鎴�
}
public class FairyApply
{
- public uint PlayerID;
+ public int PlayerID;
public string Name;
- public uint ReqTime; //鐢宠鏃堕棿鎴�
- public ushort LV; //绛夌骇
- public byte Job; //鑱屼笟
- public byte RealmLV; //澧冪晫
- public uint Face; //鍩烘湰鑴稿瀷
- public uint FacePic; //澶村儚妗�
- public uint TitleID; //绉板彿
+ public int ReqTime; //鐢宠鏃堕棿鎴�
+ public int LV; //绛夌骇
+ public int Job; //鑱屼笟
+ public int RealmLV; //澧冪晫
+ public int Face; //鍩烘湰鑴稿瀷
+ public int FacePic; //澶村儚妗�
+ public int TitleID; //绉板彿
public long FightPower;
- public uint ServerID; //鎵�灞炲尯鏈岻D
- public byte IsOnLine; //鏄惁鍦ㄧ嚎
+ public int ServerID; //鎵�灞炲尯鏈岻D
+ public int IsOnLine; //鏄惁鍦ㄧ嚎
}
//鏉冮檺ID: 1-鏀朵汉锛�2-鍙樻洿鑱屼綅锛�3-鍙戝竷鍏憡锛�4-韪汉
diff --git a/Main/System/HappyXB/HeroCallResultWin.cs b/Main/System/HappyXB/HeroCallResultWin.cs
index db7ed8f..2240f72 100644
--- a/Main/System/HappyXB/HeroCallResultWin.cs
+++ b/Main/System/HappyXB/HeroCallResultWin.cs
@@ -334,7 +334,7 @@
List<string> qualityStrList = new List<string>();
for (int i = 0; i < qualityList.Count; i++)
{
- qualityStrList.Add(UIHelper.AppendColor(qualityList[i], Language.Get("equipQualityFormat", Language.Get("CommonQuality" + qualityList[i]))));
+ qualityStrList.Add(UIHelper.AppendColor(qualityList[i], Language.Get("L1039", Language.Get("CommonQuality" + qualityList[i]))));
}
callTip.text = Language.Get("HeroCall6", needCount, string.Join(Language.Get("L1130"), qualityStrList.ToArray()));
}
diff --git a/Main/System/HappyXB/HeroCallWin.cs b/Main/System/HappyXB/HeroCallWin.cs
index e1212dd..a65236c 100644
--- a/Main/System/HappyXB/HeroCallWin.cs
+++ b/Main/System/HappyXB/HeroCallWin.cs
@@ -106,7 +106,7 @@
List<string> qualityStrList = new List<string>();
for (int i = 0; i < qualityList.Count; i++)
{
- qualityStrList.Add(UIHelper.AppendColor(qualityList[i], Language.Get("equipQualityFormat", Language.Get("CommonQuality" + qualityList[i]))));
+ qualityStrList.Add(UIHelper.AppendColor(qualityList[i], Language.Get("L1039", Language.Get("CommonQuality" + qualityList[i]))));
}
callTip.text = Language.Get("HeroCall6", needCount, string.Join(Language.Get("L1130"), qualityStrList.ToArray()));
}
diff --git a/Main/System/HeroUI/HeroAwakePrivewWin.cs b/Main/System/HeroUI/HeroAwakePrivewWin.cs
index 12ede47..180c7fc 100644
--- a/Main/System/HeroUI/HeroAwakePrivewWin.cs
+++ b/Main/System/HeroUI/HeroAwakePrivewWin.cs
@@ -61,13 +61,13 @@
else if (type == 2)
{
var skill = SkillConfig.Get(config.SkillID);
- awakeStr = Language.Get("equipQualityFormat", skill.SkillName) + skill.Description;
+ awakeStr = Language.Get("L1039", skill.SkillName) + skill.Description;
}
else
{
for (int k = 0; k < config.AttrIDList.Length; k++)
{
- awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", config.SkillIName)) +PlayerPropertyConfig.GetFullDescription(config.AttrIDList[k], config.AttrValueList[k], "{0}+" + UIHelper.AppendColor(TextColType.Green, "{1}")) +
+ awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("L1039", config.SkillIName)) +PlayerPropertyConfig.GetFullDescription(config.AttrIDList[k], config.AttrValueList[k], "{0}+" + UIHelper.AppendColor(TextColType.Green, "{1}")) +
(k == config.AttrIDList.Length - 1 ? "" : "\n");
}
}
diff --git a/Main/System/HeroUI/HeroAwakeSuccessWin.cs b/Main/System/HeroUI/HeroAwakeSuccessWin.cs
index bdb3747..9001d87 100644
--- a/Main/System/HeroUI/HeroAwakeSuccessWin.cs
+++ b/Main/System/HeroUI/HeroAwakeSuccessWin.cs
@@ -68,10 +68,10 @@
else
{
var beforeSkill = SkillConfig.GetSkillConfig(skill.SkillType, skill.SkillLV - 1);
- beforeSkillText.text = Language.Get("equipQualityFormat", beforeSkill.SkillName) + beforeSkill.Description;
+ beforeSkillText.text = Language.Get("L1039", beforeSkill.SkillName) + beforeSkill.Description;
}
- afterSkillText.text = Language.Get("equipQualityFormat", skill.SkillName) + skill.Description;
+ afterSkillText.text = Language.Get("L1039", skill.SkillName) + skill.Description;
}
else
diff --git a/Main/System/HeroUI/HeroBestWin.cs b/Main/System/HeroUI/HeroBestWin.cs
index 256aa58..f6db6d3 100644
--- a/Main/System/HeroUI/HeroBestWin.cs
+++ b/Main/System/HeroUI/HeroBestWin.cs
@@ -312,7 +312,7 @@
if (nextQualityBreakConfig.AttrIDList[j] == 0)
continue;
string format = i < breakLevel ? "{0}" + UIHelper.AppendColor(TextColType.Green, "+{1}") : "{0}+{1}";
- attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", nextQualityBreakConfig.SkillIName)) +
+ attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("L1039", nextQualityBreakConfig.SkillIName)) +
PlayerPropertyConfig.GetFullDescription(nextQualityBreakConfig.AttrIDList[j], nextQualityBreakConfig.AttrValueList[j], format));
}
@@ -321,7 +321,7 @@
var skill = SkillConfig.Get(nextQualityBreakConfig.SkillID);
if (skill != null)
{
- attrStrArr.Add(Language.Get("equipQualityFormat", skill.SkillName) + skill.Description);
+ attrStrArr.Add(Language.Get("L1039", skill.SkillName) + skill.Description);
}
else
{
@@ -452,13 +452,13 @@
else if (type == 2)
{
var skill = SkillConfig.Get(config.SkillID);
- awakeStr = Language.Get("equipQualityFormat", skill.SkillName) + skill.Description;
+ awakeStr = Language.Get("L1039", skill.SkillName) + skill.Description;
}
else
{
for (int k = 0; k < config.AttrIDList.Length; k++)
{
- awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", config.SkillIName)) +
+ awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("L1039", config.SkillIName)) +
PlayerPropertyConfig.GetFullDescription(config.AttrIDList[k], config.AttrValueList[k], "{0}+" + UIHelper.AppendColor(TextColType.Green, "{1}"))
+ (k == config.AttrIDList.Length - 1 ? "" : "\n");
}
diff --git a/Main/System/HeroUI/HeroLVBreakSuccessWin.cs b/Main/System/HeroUI/HeroLVBreakSuccessWin.cs
index 53c0aee..18db587 100644
--- a/Main/System/HeroUI/HeroLVBreakSuccessWin.cs
+++ b/Main/System/HeroUI/HeroLVBreakSuccessWin.cs
@@ -76,13 +76,13 @@
var id = nextQualityBreakConfig.AttrIDList[i];
if (id == 0)
continue;
- attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", nextQualityBreakConfig.SkillIName)) +
+ attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("L1039", nextQualityBreakConfig.SkillIName)) +
PlayerPropertyConfig.GetFullDescription(id, nextQualityBreakConfig.AttrValueList[i]));
}
if (nextQualityBreakConfig.SkillID != 0)
{
var skill = SkillConfig.Get(nextQualityBreakConfig.SkillID);
- attrStrArr.Add(Language.Get("equipQualityFormat", skill.SkillName) + skill.Description);
+ attrStrArr.Add(Language.Get("L1039", skill.SkillName) + skill.Description);
}
potentialText.text = Language.Get("L1100", Language.Get("herocard56"), string.Join(Language.Get("L1112"), attrStrArr));
}
diff --git a/Main/System/HeroUI/HeroLVBreakWin.cs b/Main/System/HeroUI/HeroLVBreakWin.cs
index 52b13c6..9677eea 100644
--- a/Main/System/HeroUI/HeroLVBreakWin.cs
+++ b/Main/System/HeroUI/HeroLVBreakWin.cs
@@ -81,7 +81,7 @@
{
continue;
}
- attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", nextQualityBreakConfig.SkillIName)) +
+ attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("L1039", nextQualityBreakConfig.SkillIName)) +
PlayerPropertyConfig.GetFullDescription(nextQualityBreakConfig.AttrIDList[i], nextQualityBreakConfig.AttrValueList[i]));
}
if (nextQualityBreakConfig.SkillID != 0)
@@ -89,7 +89,7 @@
var skill = SkillConfig.Get(nextQualityBreakConfig.SkillID);
if (skill != null)
{
- attrStrArr.Add(Language.Get("equipQualityFormat", skill.SkillName) + skill.Description);
+ attrStrArr.Add(Language.Get("L1039", skill.SkillName) + skill.Description);
}
else
{
diff --git a/Main/System/HeroUI/HeroTrainWin.cs b/Main/System/HeroUI/HeroTrainWin.cs
index 9859c31..c77ce4d 100644
--- a/Main/System/HeroUI/HeroTrainWin.cs
+++ b/Main/System/HeroUI/HeroTrainWin.cs
@@ -513,7 +513,7 @@
if (nextQualityBreakConfig.AttrIDList[j] == 0)
continue;
string format = i < hero.breakLevel ? "{0}" + UIHelper.AppendColor(TextColType.Green, "+{1}") : "{0}+{1}";
- attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", nextQualityBreakConfig.SkillIName)) +
+ attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("L1039", nextQualityBreakConfig.SkillIName)) +
PlayerPropertyConfig.GetFullDescription(nextQualityBreakConfig.AttrIDList[j], nextQualityBreakConfig.AttrValueList[j], format));
}
@@ -522,7 +522,7 @@
var skill = SkillConfig.Get(nextQualityBreakConfig.SkillID);
if (skill != null)
{
- attrStrArr.Add(Language.Get("equipQualityFormat", skill.SkillName) + skill.Description);
+ attrStrArr.Add(Language.Get("L1039", skill.SkillName) + skill.Description);
}
else
{
@@ -682,13 +682,13 @@
else if (type == 2)
{
var skill = SkillConfig.Get(config.SkillID);
- awakeStr = Language.Get("equipQualityFormat", skill.SkillName) + skill.Description;
+ awakeStr = Language.Get("L1039", skill.SkillName) + skill.Description;
}
else
{
for (int k = 0; k < config.AttrIDList.Length; k++)
{
- awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", config.SkillIName)) +
+ awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("L1039", config.SkillIName)) +
PlayerPropertyConfig.GetFullDescription(config.AttrIDList[k], config.AttrValueList[k], "{0}+" + UIHelper.AppendColor(TextColType.Green, "{1}"))
+ (k == config.AttrIDList.Length - 1 ? "" : "\n");
}
diff --git a/Main/System/Main/MainWin.cs b/Main/System/Main/MainWin.cs
index 993e17d..6c3c56d 100644
--- a/Main/System/Main/MainWin.cs
+++ b/Main/System/Main/MainWin.cs
@@ -36,7 +36,6 @@
base.InitComponent();
avatarCell.button.AddListener(() => { });
-
}
public override void Refresh()
@@ -71,6 +70,18 @@
tabButtons[3].UpdateButtonState();
}
+ //澶栭儴璋冪敤鐐瑰嚮鍔熻兘
+ public void ClickFunc(int functionOrder)
+ {
+ tabButtons[functionOrder].onClick.Invoke();
+ }
+
+ //鎭㈠鍔熻兘鎸夐挳鐘舵��
+ public void RestoreFuncBtn()
+ {
+ tabButtons[functionOrder].SelectBtn();
+ }
+
protected override void SelectBottomTab(int index)
{
if (index == 3)
@@ -98,6 +109,7 @@
OpenSubUIByTabIndex();
}
+ //鎴樻枟鎸夐挳鍔ㄧ敾
void ClickAnimation(int index)
{
if (isFirstOpen || (functionOrder != 0 && index == 0))
@@ -183,6 +195,14 @@
AutoFightModel.Instance.StartFight();
}
}
+ else if (index == 4 && !PlayerDatas.Instance.fairyData.HasFairy)
+ {
+ //鏈姞鍏ュ叕浼氫笉鍒囨崲鏍囩锛屾墦寮�鐢宠鐣岄潰
+ UIManager.Instance.OpenWindow<GuildJoinWin>();
+ return;
+ }
+
+
SelectBottomTab(index);
}
@@ -211,18 +231,15 @@
battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
}
currentSubUI = UIManager.Instance.OpenWindow<HomeWin>();
- Debug.Log("鎵撳紑涓诲煄鐣岄潰");
break;
case 1:
currentSubUI = UIManager.Instance.OpenWindow<AffairBaseWin>();
- Debug.Log("鎵撳紑鍐呮斂鐣岄潰");
break;
case 2:
currentSubUI = UIManager.Instance.OpenWindow<HeroBaseWin>(0);
- Debug.Log("鎵撳紑姝﹀皢鐣岄潰");
break;
// case 3:
- // // currentSubUI = UIManager.Instance.OpenUI<QuestUI>();
+ // 鎸戞垬鐣岄潰涓嶈烦杞�
// Debug.Log("鎵撳紑鎸戞垬鐣岄潰");
// break;
case 4:
diff --git a/Main/System/RoleParticulars/OtherPlayerDetailManager.cs b/Main/System/RoleParticulars/OtherPlayerDetailManager.cs
new file mode 100644
index 0000000..63bcb49
--- /dev/null
+++ b/Main/System/RoleParticulars/OtherPlayerDetailManager.cs
@@ -0,0 +1,214 @@
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using LitJson;
+using System.Linq;
+
+
+//鏌ョ湅鍏朵粬鐜╁鐨勭畝鐭俊鎭�, 璇ユā鍧楀鐞嗘暟鎹紝鍏朵粬鐢卞悇鑷姛鑳芥ā鍧楀鐞� 閫氳繃OnRevPackage
+public class OtherPlayerDetailManager : GameSystemManager<OtherPlayerDetailManager>
+{
+
+ public override void Init()
+ {
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+ }
+
+ public override void Release()
+ {
+ DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ }
+
+
+ public void OnBeforePlayerDataInitialize()
+ {
+ viewPlayerType = -1;
+ }
+
+ public int viewPlayer { get; private set; }
+
+ // 鏌ヨ绫诲瀷锛氭牴鎹被鍨嬪仛涓嶅悓澶勭悊
+ // 鎸夊姛鑳借嚜瀹氫箟鏋氫妇鍊� EnumHelper鐨� ViewPlayerType
+ public int viewPlayerType { get; private set; }
+
+ private Dictionary<int, ViewPlayerData> viewPlayerDataDic = new Dictionary<int, ViewPlayerData>();
+
+ // 鏌ョ湅绫诲瀷锛岀帺瀹禝D
+ public event Action<int, int> OnRevPackage; //灏介噺涓嶈鐢ㄧ涓�涓弬鏁皏iewtype鍋氬垽鏂紝瀹规槗鍑洪敊
+
+ // 鑾峰彇鍏朵粬鐜╁鏈湴缂撳瓨鏁版嵁
+ public ViewPlayerData GetViewPlayerData(int player)
+ {
+ ViewPlayerData viewPlayerData = null;
+ viewPlayerDataDic.TryGetValue(player, out viewPlayerData);
+ return viewPlayerData;
+ }
+
+
+ // 鍚戞湇鍔$璇锋眰鍏朵粬鐜╁鏁版嵁
+ public void ViewPlayerDetail(int _playerId, int viewType = (int)ViewPlayerType.viewPlayerData)
+ {
+ if (_playerId == PlayerDatas.Instance.baseData.PlayerID)
+ {
+ return;
+ }
+ viewPlayerType = viewType;
+ ViewRoleParticulars(_playerId);
+ }
+
+ // 鍚戞湇鍔$璇锋眰鐜╁鏁版嵁
+ void ViewRoleParticulars(int playerID)
+ {
+ if (playerID == 0)
+ {
+ return;
+ }
+ viewPlayer = playerID;
+ if (viewPlayerDataDic.ContainsKey(playerID))
+ {
+ ViewPlayerData viewPlayerData = viewPlayerDataDic[playerID];
+ if ((DateTime.Now - viewPlayerData.getTime).TotalSeconds < 30)
+ {
+ ShowRoleParticulars(playerID);
+ return;
+ }
+ }
+
+ //CC002_tagCGViewCrossPlayerInfo c002 = new CC002_tagCGViewCrossPlayerInfo();
+
+ CA212_tagCMViewPlayerInfo pak = new CA212_tagCMViewPlayerInfo();
+ pak.PlayerID = (uint)playerID;
+ GameNetSystem.Instance.SendInfo(pak);
+ }
+
+
+ //鏈湇绔炴妧鍦哄亣鏌ヨ妯℃嫙灏佸寘锛岃繑鍥炴煡鐪嬫満鍣ㄤ汉鏁版嵁 鎵撳紑RoleParticularsWin鐣岄潰锛屼笓鐢ㄦ帴鍙e叾浠栧湴鏂逛笉瑕佽皟鐢�
+ public void ViewFairyArenaRobot(int playerID, ViewPlayerData _viewPlayerData)
+ {
+ ViewPlayerData viewPlayerData = null;
+ viewPlayer = playerID;
+ if (!viewPlayerDataDic.TryGetValue(playerID, out viewPlayerData))
+ {
+ viewPlayerDataDic.Add(playerID, _viewPlayerData);
+ }
+ else
+ {
+ viewPlayerDataDic[playerID] = _viewPlayerData;
+ }
+
+ viewPlayerType = (int)ViewPlayerType.viewPlayerData;
+ ShowRoleParticulars(playerID);
+ }
+
+
+
+ public void OnRevRoleEquip(HA705_tagSCQueryPlayerCacheResult package)
+ {
+
+ ViewPlayerData viewPlayerData = null;
+ if (!viewPlayerDataDic.TryGetValue((int)package.PlayerID, out viewPlayerData))
+ {
+ viewPlayerData = new ViewPlayerData();
+ viewPlayerData.getTime = DateTime.Now;
+ viewPlayerDataDic.Add((int)package.PlayerID, viewPlayerData);
+ }
+
+ viewPlayerData.getTime = DateTime.Now;
+ viewPlayerData.PlayerID = (int)package.PlayerID;
+ viewPlayerData.Name = package.PlayerName;
+ viewPlayerData.LV = package.LV;
+ viewPlayerData.Job = package.Job;
+ viewPlayerData.RealmLV = package.RealmLV;
+ viewPlayerData.Face = (int)package.Face;
+ viewPlayerData.FacePic = (int)package.FacePic;
+ viewPlayerData.TitleID = (int)package.TitleID;
+ viewPlayerData.ServerID = (int)package.ServerID;
+ viewPlayerData.FightPower = package.FightPower + package.FightPowerEx * (long)Constants.ExpPointValue;
+ viewPlayerData.FamilyID = (int)package.FamilyID;
+ viewPlayerData.FamilyName = package.FamilyName;
+ viewPlayerData.FamilyEmblemID = (int)package.FamilyEmblemID;
+
+
+ if (viewPlayerData.rolePlusData == null)
+ {
+ //绗竴娆″垵濮嬪寲
+ viewPlayerData.rolePlusData = new RolePlusData();
+ }
+ if (package.PlusDataSize != 0)
+ {
+ viewPlayerData.rolePlusData.AnalysisRolePlusData(package.PlusData);
+ }
+
+
+ ShowRoleParticulars((int)package.PlayerID);
+ }
+
+
+
+
+
+ //灏介噺涓嶈鐢ㄧ涓�涓弬鏁皏iewtype鍋氬垽鏂紝瀹规槗鍑洪敊锛屾瘮濡傚悓鏃跺彂閫佷袱涓笉鍚岀殑viewPlayerType璇锋眰鐨勬椂鍊�
+ private void ShowRoleParticulars(int playerID)
+ {
+ // if (viewPlayerType == (int)ViewPlayerType.viewPlayerData)
+ // {
+ // if (!WindowCenter.Instance.IsOpen<RoleParticularsWin>())
+ // {
+ // RoleParticularsWin.viewType = viewPlayerType;
+ // WindowCenter.Instance.Open<RoleParticularsWin>();
+ // }
+ // }
+
+
+
+ OnRevPackage?.Invoke(viewPlayerType, playerID);
+ viewPlayerType = -1;
+ }
+
+ public class ViewPlayerData
+ {
+ public int PlayerID;
+ public int LV;
+ public int RealmLV;
+ public string Name;
+ public string FamilyName;
+ public int Job;
+ public int FamilyID;
+ public long FightPower;
+ public int TitleID;
+ public int ServerID;
+ public int FamilyEmblemID;
+ public int Face; //鑴稿瀷
+ public int FacePic; //鑴稿瀷澶栨
+
+ public RolePlusData rolePlusData;
+
+ public DateTime getTime;
+
+
+ }
+
+
+
+
+ public class RolePlusData
+ {
+
+ public void AnalysisRolePlusData(string jsonStr)
+ {
+ try
+ {
+
+
+ }
+ catch (Exception e)
+ {
+ Debug.Log(e.StackTrace);
+ }
+ }
+
+ }
+
+}
+
diff --git a/Main/System/RoleParticulars/RoleParticularModel.cs.meta b/Main/System/RoleParticulars/OtherPlayerDetailManager.cs.meta
similarity index 100%
rename from Main/System/RoleParticulars/RoleParticularModel.cs.meta
rename to Main/System/RoleParticulars/OtherPlayerDetailManager.cs.meta
diff --git a/Main/System/RoleParticulars/RoleParticularModel.cs b/Main/System/RoleParticulars/RoleParticularModel.cs
deleted file mode 100644
index ac99679..0000000
--- a/Main/System/RoleParticulars/RoleParticularModel.cs
+++ /dev/null
@@ -1,558 +0,0 @@
-锘縰sing System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using LitJson;
-using System.Linq;
-
-
-//鏌ョ湅鍏朵粬鐜╁鐨勭畝鐭俊鎭�, 璇ユā鍧楀鐞嗘暟鎹紝鍏朵粬鐢卞悇鑷姛鑳芥ā鍧楀鐞� 閫氳繃OnRevPackage
-public class RoleParticularModel : GameSystemManager<RoleParticularModel>
-{
-
- public override void Init()
- {
- DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
- }
-
- public override void Release()
- {
- DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
- }
-
-
- public void OnBeforePlayerDataInitialize()
- {
- viewPlayerType = -1;
- }
-
- public int viewPlayer { get; private set; }
-
- // 鏌ヨ鏈湇锛�0-鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈� 1-鏌ョ湅鎴樺姏鐣岄潰 2锛堜互涓婂皬浜�100锛�-杩斿洖鏁版嵁涓嶅仛澶勭悊锛岀敱璋冪敤鑰呰嚜琛屽鐞嗛�昏緫
- // 鏌ヨ璺ㄦ湇锛�100-鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈� 101-鏌ョ湅鎴樺姏鐣岄潰 102浠ヤ笂-杩斿洖鏁版嵁涓嶅仛澶勭悊锛岀敱璋冪敤鑰呰嚜琛屽鐞嗛�昏緫
- // 璋冪敤鑰呴渶瑕佺殑璇濊嚜瀹氫箟鏋氫妇鍊� EnumHelper鐨刅iewPlayerType
- public int viewPlayerType { get; private set; }
-
- private Dictionary<int, ViewPlayerData> viewPlayerDataDic = new Dictionary<int, ViewPlayerData>();
- private Dictionary<int, long> funcFightPowerDict = new Dictionary<int, long>();
- public event Action PowerUpdate;
- public static Action<int, int, ViewPlayerData> OnRevPackage; //灏介噺涓嶈鐢ㄧ涓�涓弬鏁皏iewtype鍋氬垽鏂紝瀹规槗鍑洪敊
-
- public ViewPlayerData GetViewPlayerData(int player)
- {
- ViewPlayerData viewPlayerData = null;
- viewPlayerDataDic.TryGetValue(player, out viewPlayerData);
- return viewPlayerData;
- }
-
- // 鏌ョ湅鐜╁妯″瀷灞曠ず锛屾煡鐜╁瑁呭璇︽儏闇�鍙﹀澶勭悊
- // 鏈湇鏌ヨ锛氳繑鍥炴椂鎵撳紑鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈紙鍙煡鐪嬭澶囷紝瀹犵墿锛屽潗楠戠瓑鍏蜂綋淇℃伅锛塕oleParticularsWin
- public void ViewRoleEquip(int playerID)
- {
- if (playerID == PlayerDatas.Instance.baseData.PlayerID)
- {
- return;
- }
- viewPlayerType = (int)ViewPlayerType.viewPlayerEquip;
- ViewRoleParticulars(playerID);
- }
-
- // 鏈湇鏌ヨ锛氳繑鍥炴椂鎵撳紑鏌ョ湅鍏朵粬鐜╁鎴樺姏鐣岄潰锛堟垬鍔涘垎甯冿級ViewFuncPowerWin
- public void ViewRoleFightPower(int playerID)
- {
- if (playerID == PlayerDatas.Instance.baseData.PlayerID)
- {
- return;
- }
- viewPlayerType = (int)ViewPlayerType.viewPlayerFightPower;
- ViewRoleParticulars(playerID);
- }
-
- // 杩斿洖鏃朵笉鍋氫换浣曟搷浣滐紝鐢辫皟鐢ㄨ�呰嚜琛屽鐞嗛�昏緫
- public void ViewPlayerCacheData(int _playerId, int viewType = (int)ViewPlayerType.viewPlayerData)
- {
- viewPlayerType = viewType;
- ViewRoleParticulars(_playerId);
- }
-
- // 鏌ョ湅鐜╁妯″瀷灞曠ず锛屾煡鐜╁瑁呭璇︽儏闇�鍙﹀澶勭悊
- // 璺ㄦ湇鏌ヨ锛氳繑鍥炴椂鎵撳紑鏌ョ湅鍏朵粬鐜╁鐨勭畝娲佷俊鎭晫闈紙鍙煡鐪嬭澶囷紝瀹犵墿锛屽潗楠戠瓑鍏蜂綋淇℃伅锛塕oleParticularsWin
- public void ViewCrossServerPlayerEquip(int _playerId)
- {
- if (_playerId == PlayerDatas.Instance.baseData.PlayerID)
- {
- return;
- }
- viewPlayerType = (int)ViewPlayerType.viewCrossPlayerEquip;
- ViewRoleParticulars(_playerId);
- }
-
- public void ViewCrossPlayerFightPower(int _playerId)
- {
- if (_playerId == PlayerDatas.Instance.baseData.PlayerID)
- {
- return;
- }
- viewPlayerType = (int)ViewPlayerType.viewCrossPlayerFightPower;
- ViewRoleParticulars(_playerId);
- }
-
- // 杩斿洖鏃朵笉鍋氫换浣曟搷浣滐紝鐢辫皟鐢ㄨ�呰嚜琛屽鐞嗛�昏緫
- public void ViewCrossPlayerCacheData(int _playerId, int viewType = (int)ViewPlayerType.viewCrossPlayerData)
- {
- viewPlayerType = viewType;
- ViewRoleParticulars(_playerId);
- }
-
- public void ViewRoleParticulars(int playerID)
- {
- if (playerID == 0)
- {
- return;
- }
- viewPlayer = playerID;
- if (viewPlayerDataDic.ContainsKey(playerID))
- {
- ViewPlayerData viewPlayerData = viewPlayerDataDic[playerID];
- if ((DateTime.Now - viewPlayerData.getTime).TotalSeconds < 30)
- {
- ShowRoleParticulars(viewPlayerData, playerID);
- return;
- }
- }
- if (viewPlayerType >= (int)ViewPlayerType.viewCrossPlayerEquip)
- {
- //鐢卞瓙鏈嶆湇鍔″櫒鍚戣法鏈嶆湇鍔″櫒鏌ヨ; 浼氫紭鍏堟煡鏈湇鏁版嵁(gameserver)
- CC002_tagCGViewCrossPlayerInfo c002 = new CC002_tagCGViewCrossPlayerInfo();
- c002.PlayerID = (uint)playerID;
- GameNetSystem.Instance.SendInfo(c002);
- }
- else
- {
- //鍙煡鏈湇鏁版嵁锛屾湁鍙兘鏈湴鍥炬湁鏁版嵁锛屽氨涓嶆煡gameserver
- CA212_tagCMViewPlayerInfo pak = new CA212_tagCMViewPlayerInfo();
- pak.PlayerID = (uint)playerID;
- GameNetSystem.Instance.SendInfo(pak);
- }
- }
-
-
- //鏈湇绔炴妧鍦哄亣鏌ヨ妯℃嫙灏佸寘锛岃繑鍥炴煡鐪嬫満鍣ㄤ汉鏁版嵁 鎵撳紑RoleParticularsWin鐣岄潰锛屼笓鐢ㄦ帴鍙e叾浠栧湴鏂逛笉瑕佽皟鐢�
- public void ViewFairyArenaRobot(int playerID, ViewPlayerData _viewPlayerData)
- {
- ViewPlayerData viewPlayerData = null;
- viewPlayer = playerID;
- if (!viewPlayerDataDic.TryGetValue(playerID, out viewPlayerData))
- {
- viewPlayerDataDic.Add(playerID, _viewPlayerData);
- }
- else
- {
- viewPlayerDataDic[playerID] = _viewPlayerData;
- }
-
- viewPlayerType = (int)ViewPlayerType.viewCrossPlayerEquip;
- ShowRoleParticulars(_viewPlayerData, playerID);
- }
-
-
-
- public void OnRevRoleEquip(HA705_tagSCQueryPlayerCacheResult package)
- {
-
- ViewPlayerData viewPlayerData = null;
- if (!viewPlayerDataDic.TryGetValue((int)package.PlayerID, out viewPlayerData))
- {
- viewPlayerData = new ViewPlayerData();
- viewPlayerData.getTime = DateTime.Now;
- viewPlayerDataDic.Add((int)package.PlayerID, viewPlayerData);
- }
-
- viewPlayerData.getTime = DateTime.Now;
- viewPlayerData.rolePropData.PlayerID = (int)package.PlayerID;
- viewPlayerData.rolePropData.Name = package.PlayerName;
- viewPlayerData.rolePropData.LV = package.LV;
- viewPlayerData.rolePropData.Job = package.Job;
- viewPlayerData.rolePropData.RealmLV = package.RealmLV;
- viewPlayerData.rolePropData.Face = (int)package.Face;
- viewPlayerData.rolePropData.FacePic = (int)package.FacePic;
- viewPlayerData.rolePropData.TitleID = (int)package.TitleID;
- viewPlayerData.rolePropData.ServerID = (int)package.ServerID;
- viewPlayerData.rolePropData.FightPower = package.FightPower + package.FightPowerEx * (long)Constants.ExpPointValue;
- viewPlayerData.rolePropData.FamilyID = (int)package.FamilyID;
- viewPlayerData.rolePropData.FamilyName = package.FamilyName;
- viewPlayerData.rolePropData.FamilyEmblemID = (int)package.FamilyEmblemID;
-
-
- if (viewPlayerData.rolePlusData == null)
- {
- //绗竴娆″垵濮嬪寲
- viewPlayerData.rolePlusData = new RolePlusData();
- }
- if (package.PlusDataSize != 0)
- {
- viewPlayerData.rolePlusData.AnalysisRolePlusData(package.PlusData);
- }
-
-
- ShowRoleParticulars(viewPlayerData, (int)package.PlayerID);
- }
-
- public void OnRevRoleFuncPower(HA3A1_tagMCModuleFightPowerInfo package)
- {
- if (package.MFPCnt == 0)
- return;
- for (int i = 0; i < package.MFPList.Length; i++)
- {
- funcFightPowerDict[package.MFPList[i].MfpType] = package.MFPList[i].FightPowerEx * Constants.ExpPointValue + package.MFPList[i].FightPower;
- }
- if (PowerUpdate != null)
- {
- PowerUpdate();
- }
- }
-
- public long GetFuncFightPower(int type)
- {
- if (funcFightPowerDict.ContainsKey(type))
- {
- return funcFightPowerDict[type];
- }
- return 0;
- }
-
- #region 鏌ョ湅鐜╁鍧愰獞鐏靛疇灞炴��
-
-
- // int[] qualitys;
- // string[] qualityTitles;
- // public string GetQualityDisplay(int quality)
- // {
- // if (qualitys == null)
- // {
- // var config = FuncConfigConfig.Get("PetQuality");
- // qualitys = ConfigParse.GetMultipleStr<int>(config.Numerical1);
- // qualityTitles = ConfigParse.GetMultipleStr(config.Numerical2);
- // }
- // for (int i = 0; i < qualitys.Length; i++)
- // {
- // if (quality == qualitys[i])
- // {
- // return qualityTitles[i];
- // }
- // }
- // return string.Empty;
- // }
-
-
- // public int GetPetFightPower(List<PetInfo> pets)
- // {
- // var fightPower = 0;
- // for (int i = 0; i < pets.Count; i++)
- // {
- // fightPower += GetPetFightPower(pets[i].id, pets[i].lv);
- // }
- // return fightPower;
- // }
-
- // public int GetPetFightPower(int id, int lv)
- // {
- // var fightPower = 0;
- // var config = PetInfoConfig.Get(id);
- // var _init_fightpower = 0;
- // int.TryParse(config.InitFightPower, out _init_fightpower);
- // fightPower += _init_fightpower;
- // PetInfoConfig.GetPetSkills(id, lv, true, ref skills);
- // var petUpConfig = PetClassCostConfig.GetPetIdAndRank(id, lv);
- // if (petUpConfig != null)
- // {
- // Dictionary<int, int> propertyDict = new Dictionary<int, int>();
- // propertyDict.Add(77, petUpConfig.AtkAdd);
- // propertyDict.Add(78, petUpConfig.AtkAdd);
- // fightPower += UIHelper.GetFightPower(propertyDict);// Mathf.FloorToInt(petUpConfig.AtkAdd * 2.5f);
- // }
- // for (int i = 0; i < skills.Count; i++)
- // {
- // var skillConfig = SkillConfig.Get(skills[i]);
- // if (skillConfig != null)
- // {
- // fightPower += skillConfig.FightPower;
- // }
- // }
- // return fightPower;
- // }
-
- // public int GetPetAtkProperty(List<PetInfo> pets)
- // {
- // var atk = 0;
- // for (int i = 0; i < pets.Count; i++)
- // {
- // atk += GetPetAtkProperty(pets[i].id, pets[i].lv, pets);
- // }
- // return atk;
- // }
-
- // public int GetPetAtkProperty(int id, int lv, List<PetInfo> pets)
- // {
- // var atk = 0;
- // var petUpConfig = PetClassCostConfig.GetPetIdAndRank(id, lv);
- // if (petUpConfig != null)
- // {
- // atk += petUpConfig.AtkAdd;
- // }
- // PetInfoConfig.GetPetSkills(id, lv, true, ref skills);
- // for (int i = 0; i < skills.Count; i++)
- // {
- // atk += GetPetAtkSkillProperty(skills[i], pets);
- // }
- // return atk;
- // }
-
- // public int GetPetAtkSkillProperty(int skillId, List<PetInfo> pets)
- // {
- // SkillConfig skillconfig = SkillConfig.Get(skillId);
- // if (skillconfig == null)
- // {
- // return 0;
- // }
- // if (skillconfig.Effect1 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
- // {
- // return GetPetAttack(skillconfig.EffectValue11, skillconfig.EffectValue12, pets);
- // }
- // else if (skillconfig.Effect2 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
- // {
- // return GetPetAttack(skillconfig.EffectValue21, skillconfig.EffectValue22, pets);
- // }
- // else if (skillconfig.Effect3 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
- // {
- // return GetPetAttack(skillconfig.EffectValue31, skillconfig.EffectValue32, pets);
- // }
- // else if (skillconfig.Effect4 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
- // {
- // return GetPetAttack(skillconfig.EffectValue41, skillconfig.EffectValue42, pets);
- // }
- // else if (skillconfig.Effect5 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
- // {
- // return GetPetAttack(skillconfig.EffectValue51, skillconfig.EffectValue52, pets);
- // }
- // else if (skillconfig.Effect6 == (int)RidingAndPetActivationModel.RidingAndPetProperty.PetAttack)
- // {
- // return GetPetAttack(skillconfig.EffectValue61, skillconfig.EffectValue62, pets);
- // }
- // return 0;
- // }
-
- // int GetPetAttack(int quality, int value, List<PetInfo> pets)
- // {
- // var atk = 0;
- // for (int i = 0; i < pets.Count; i++)
- // {
- // var config = PetInfoConfig.Get(pets[i].id);
- // if (config != null && config.Quality == quality)
- // {
- // var petUpConfig = PetClassCostConfig.GetPetIdAndRank(pets[i].id, pets[i].lv);
- // atk += petUpConfig == null ? 0 : petUpConfig.AtkAdd;
- // }
- // }
- // return (int)(atk * ((float)value / 10000));
- // }
-
- public bool viewPetStone { get; set; }
- #endregion
-
- //灏介噺涓嶈鐢ㄧ涓�涓弬鏁皏iewtype鍋氬垽鏂紝瀹规槗鍑洪敊锛屾瘮濡傚悓鏃跺彂閫佷袱涓笉鍚岀殑viewPlayerType璇锋眰鐨勬椂鍊�
- private void ShowRoleParticulars(ViewPlayerData _viewPlayerData, int playerID)
- {
- // if (viewPlayerType == (int)ViewPlayerType.viewPlayerEquip || viewPlayerType == (int)ViewPlayerType.viewCrossPlayerEquip)
- // {
- // if (!WindowCenter.Instance.IsOpen<RoleParticularsWin>())
- // {
- // RoleParticularsWin.viewType = viewPlayerType;
- // WindowCenter.Instance.Open<RoleParticularsWin>();
- // }
- // }
- // else if (viewPlayerType == (int)ViewPlayerType.viewPlayerFightPower || viewPlayerType == (int)ViewPlayerType.viewCrossPlayerFightPower)
- // {
- // if (!WindowCenter.Instance.IsOpen<ViewFuncPowerWin>())
- // {
- // WindowCenter.Instance.Open<ViewFuncPowerWin>();
- // }
- // }
-
-
- OnRevPackage?.Invoke(viewPlayerType, playerID, _viewPlayerData);
- viewPlayerType = -1;
- }
-
- public class ViewPlayerData
- {
- public RolePropData rolePropData;
- public RolePlusData rolePlusData;
-
- public DateTime getTime;
-
- public int GetEquipSuitLevel()
- {
- return 0;
- }
-
-
- }
-
-
- [Serializable]
- public struct RolePropData
- {
- public int PlayerID;
- public int LV;
- public int RealmLV;
- public string Name;
- public string FamilyName;
- public int Job;
- public int FamilyID;
- public long FightPower;
- public int TitleID;
- public int ServerID;
- public int FamilyEmblemID;
- public int Face; //鑴稿瀷
- public int FacePic; //鑴稿瀷澶栨
- }
-
-
- public class RolePlusData
- {
- Dictionary<int, ulong> fightPowerDict = new Dictionary<int, ulong>();
- Dictionary<int, int> godWeaponDict = new Dictionary<int, int>();
- Dictionary<int, int> treasureDict = new Dictionary<int, int>();
- public List<HorseInfo> horses = new List<HorseInfo>();
- public List<PetInfo> pets = new List<PetInfo>();
- public List<AlchemyDrug> alchemyDrugs = new List<AlchemyDrug>();
- public int Horse { get; private set; } //鏀逛负绛夌骇
- public int Pet { get; private set; }
-
- public int AtkSpeed { get; private set; }
- public int Rune { get; private set; }
- public int orangeEquipsCount { get; private set; }
- public int totalGemsLevel { get; private set; }
- public int totalEquipWashLevel { get; private set; }
- public int totalEquipStarLevel { get; private set; }
- public int totalEquipStrengthLevel { get; private set; }
- public int totalEquipEvolveLevel { get; private set; }
- public int totalSkillLevel { get; private set; }
-
- public ulong GetFightPower(int type)
- {
- if (fightPowerDict != null && fightPowerDict.ContainsKey(type))
- {
- return fightPowerDict[type];
- }
- return 0;
- }
-
-
-
- public void AnalysisRolePlusData(string jsonStr)
- {
- try
- {
- var jsonData = JsonMapper.ToObject(jsonStr);
- if (jsonData.Keys.Contains("FightPowerDict"))
- {
- var jsonPlusData = jsonData["FightPowerDict"];
- if (jsonPlusData.IsObject)
- {
- foreach (var key in jsonPlusData.Keys)
- {
- int type = int.Parse(key);
- fightPowerDict.Add(type, ulong.Parse(jsonPlusData[key].ToString()));
- }
- }
- }
-
-
- // if (jsonData.Keys.Contains("Pet"))
- // {
- // var jsonPlusData = jsonData["Pet"];
- // if (jsonPlusData.IsObject)
- // {
- // foreach (var _key in jsonPlusData.Keys)
- // {
- // if (_key.Equals("AtkSpeed"))
- // {
- // AtkSpeed = int.Parse(jsonPlusData[_key].ToString());
- // }
- // else if (_key.Equals("PetLV"))
- // {
- // var petInfos = JsonMapper.ToObject<PetInfo[]>(jsonPlusData[_key].ToJson());
- // if (petInfos != null && petInfos.Length > 0)
- // {
- // for (int i = 0; i < petInfos.Length; i++)
- // {
- // var petInfo = petInfos[i];
- // pets.Add(new PetInfo()
- // {
- // id = petInfo.id,
- // lv = petInfo.lv + 1,
- // });
- // }
- // }
- // }
- // }
- // pets.Sort(Compare);
- // }
- // Pet = pets.Count;
- // }
- // else
- // {
- // Pet = 0;
- // }
-
- }
- catch (Exception e)
- {
- Debug.Log(e.StackTrace);
- }
- }
-
- // int Compare(PetInfo x, PetInfo y)
- // {
- // var config_x = PetInfoConfig.Get(x.id);
- // var config_y = PetInfoConfig.Get(y.id);
- // if (config_x == null || config_y == null)
- // {
- // return 0;
- // }
- // return -config_x.Sort.CompareTo(config_y.Sort);
- // }
-
- // int Compare(HorseInfo x, HorseInfo y)
- // {
- // var config_x = HorseConfig.Get(x.id);
- // var config_y = HorseConfig.Get(y.id);
- // if (config_x == null || config_y == null)
- // {
- // return 0;
- // }
- // return -config_x.Sort.CompareTo(config_y.Sort);
- // }
- }
-
- public struct HorseInfo
- {
- public int id;
- public int lv;
- }
-
- public struct PetInfo
- {
- public int id;
- public int lv;
- }
-
- public struct AlchemyDrug
- {
- public int item;
- public int count;
- }
-}
-
diff --git a/Main/System/Tip/MarqueeWin.cs b/Main/System/Tip/MarqueeWin.cs
index bbaf59b..b4fe9f2 100644
--- a/Main/System/Tip/MarqueeWin.cs
+++ b/Main/System/Tip/MarqueeWin.cs
@@ -61,7 +61,8 @@
{
base.OnOpen();
// 绐楀彛鎵撳紑鏃剁殑閫昏緫
- m_Effect.Play();
+ if (m_Effect.effectId > 0)
+ m_Effect.Play();
cacheCoroutine = StartCoroutine(Co_StartTween());
}
diff --git a/Main/System/Tip/ServerTipDetails.cs b/Main/System/Tip/ServerTipDetails.cs
index 0bc95db..370d149 100644
--- a/Main/System/Tip/ServerTipDetails.cs
+++ b/Main/System/Tip/ServerTipDetails.cs
@@ -27,10 +27,10 @@
return;
}
- if (!UIManager.Instance.IsOpened<MarqueeWin>())
- {
- UIManager.Instance.OpenWindow<MarqueeWin>();
- }
+ // if (!UIManager.Instance.IsOpened<MarqueeWin>())
+ // {
+ // UIManager.Instance.OpenWindow<MarqueeWin>();
+ // }
}
public static void OnStageLoadFinish()
@@ -40,7 +40,7 @@
// m_Marquees.Clear();
// return;
// }
- Co_StageLoadFinish().Forget();
+ // Co_StageLoadFinish().Forget();
}
private static async UniTask Co_StageLoadFinish()
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index b6bcfc4..607dddd 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -557,7 +557,7 @@
ModelMark = 119, //鍙樺舰妯″瀷Mark 119
PrizeCoin = 120, //濂栧姳鐐瑰埜鏁� 120
ExAttr11 = 121, //鎵╁睍灞炴��11 121 鐜伴噾浠e竵锛堜唬閲戝埜锛�
- ExAttr12 = 122, //鎵╁睍灞炴��12 閫�鍑轰粰鐩熸椂闂�
+ ExAttr12 = 122, //鎵╁睍灞炴��12 璁板綍绂诲紑淇℃伅锛屼富鍔ㄧ寮�娆℃暟*100 + 琚涪娆℃暟*10 + 鏈�鍚庝竴娆℃槸鍚︿富鍔ㄧ寮�鐨勶紝鏆傛椂鏈�澶氱疮璁¤褰曞埌9娆�
ExAttr13 = 123, //鎵╁睍灞炴��13 鏈嶅姟鍣ㄧ粍ID
ExAttr14 = 124, //鎵╁睍灞炴��14 124
@@ -674,7 +674,7 @@
default7,
default8,
default9, // 237 鍦板浘澧冪晫闅惧害
- default10, // 238 绂诲紑浠欑洘鏃堕棿鎴筹紙鍖呭惈涓诲姩閫�鍑烘垨琚涪
+ default10, // 238 璁板綍绂诲紑鏃堕棿鎴筹紝琚涪鎴栦富鍔ㄩ��鍑哄潎浼氭洿鏂拌鍊�
default11, // 239 浠h〃榄呭姏绛夌骇
default12,
default13, // 241 鍙ょ璐у竵
@@ -1817,16 +1817,7 @@
//鏌ヨ鍏朵粬鐜╁鏁版嵁 鐢ㄩ�旂被鍨�
public enum ViewPlayerType
{
- viewPlayerEquip = 0, //鏌ョ湅鐜╁鍩烘湰淇℃伅锛堣澶囩敱璇锋眰澶у鐣岄樁鍐冲畾锛夛紝骞舵墦寮�鐣岄潰
- viewPlayerFightPower = 1, //鏌ョ湅鐜╁鎴樺姏璇︽儏锛屽苟鎵撳紑鐣岄潰
- viewPlayerData = 2, //鏌ョ湅鐜╁鍩烘湰淇℃伅锛屽叕鐢�
- viewPlayerDataZZ = 3, //鍔╂垬鍦烘櫙浣跨敤
- viewPlayerDataArena = 4, //鏈湇绔炴妧鍦哄満鏅娇鐢�
- viewPlayerDataFairyKing = 5, //浠欑洘鑱旇禌鐜嬭�匲I浣跨敤
+ viewPlayerData = 0, //鏌ョ湅鐜╁鍩烘湰淇℃伅锛屽叕鐢ㄦ墦寮�鐣岄潰
+ viewGuildLeader = 1, //鏌ョ湅鐜╁鐨勫叕浼氭棌闀夸俊鎭�
- //鏌ヨ璺ㄦ湇鏁版嵁浠�100寮�濮�
- viewCrossPlayerEquip = 100, //鏌ョ湅鐜╁鍩烘湰淇℃伅锛堣澶囩敱璇锋眰澶у鐣岄樁鍐冲畾锛夛紝骞舵墦寮�鐣岄潰
- viewCrossPlayerFightPower = 101, //鏌ョ湅鐜╁鎴樺姏璇︽儏锛屽苟鎵撳紑鐣岄潰
- viewCrossPlayerData = 102, //鏌ョ湅鐜╁鍩烘湰淇℃伅锛屽叕鐢�
- viewCrossPlayerDataBlessedLand = 103, //绂忓湴椹辫刀
}
\ No newline at end of file
diff --git a/Main/Utility/TimeUtility.cs b/Main/Utility/TimeUtility.cs
index d1aa684..22c4141 100644
--- a/Main/Utility/TimeUtility.cs
+++ b/Main/Utility/TimeUtility.cs
@@ -369,8 +369,8 @@
}
//鏋佺畝鏄剧ず
- // x澶﹛灏忔椂
- // x灏忔椂x鍒�
+ // x澶� 鎴栬�� x澶﹛灏忔椂
+ // x灏忔椂 鎴栬�� x灏忔椂x鍒�
// x鍒�
// x绉�
public static string SecondsToShortDHMS(int _seconds)
@@ -381,10 +381,18 @@
int seconds = _seconds % 60;
if (days > 0)
{
+ if (hours == 0)
+ {
+ return StringUtility.Contact(days, Language.Get("L1074"));
+ }
return StringUtility.Contact(days, Language.Get("L1074"), hours, Language.Get("L1072"));
}
else if (hours > 0)
{
+ if (mins == 0)
+ {
+ return StringUtility.Contact(hours, Language.Get("L1072"));
+ }
return StringUtility.Contact(hours, Language.Get("L1072"), mins, Language.Get("L1073"));
}
else if (mins > 0)
diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 6757b45..4365874 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -325,6 +325,13 @@
return false;
}
+ // 妫�鏌ュ瓧绗︿覆鏄笉鏄函鏁存暟
+ public static bool IsNumeric(string input)
+ {
+ return int.TryParse(input, out _);
+ }
+
+
public static string GetColorNameByItemColor(int itemColor)
{
switch (itemColor)
@@ -1256,13 +1263,15 @@
return content;
}
+ //妫�鏌ュ悕瀛楅暱搴︼紝鐜╁鍚嶅拰鍏細鍚�
+ //涓嶅悓鍥藉闀垮害涓嶅悓锛屾帓鐗堜笉鍚�
public static bool SatisfyNameLength(string name, out int error)
{
error = 0;
//bool pureChinese = Regex.IsMatch(name, "^[\u4e00-\u9fa5]+$");
//var chsCount = GetChsCount(name);
int length = Encoding.Default.GetBytes(name).Length;
- var maxlength = 20;
+ var maxlength = 14; //绾腑鏂囦笉寤鸿瓒呰繃7涓瓧
var minlength = 3;
if (length > maxlength)
{
@@ -1362,9 +1371,24 @@
public static string RemoveColor(string content)
- {
+ {
content = WordAnalysis.Color_Start_Regex.Replace(content, string.Empty);
content = WordAnalysis.Color_End_Regex.Replace(content, string.Empty);
return content;
}
+
+ //澶嶅埗鍒板壀璐存澘
+ // TODO 鏆備笉鏀寔web鍚庣画琛ュ厖
+ public static void CopyToClipboard(string text)
+ {
+ GUIUtility.systemCopyBuffer = text;
+ Debug.Log("鏂囧瓧宸插鍒跺埌鍓创鏉�: " + text);
+ }
+
+ //鑾峰彇鍓垏鏉垮唴瀹�
+ public static string GetClipboardText()
+ {
+ return GUIUtility.systemCopyBuffer;
+ }
+
}
--
Gitblit v1.8.0