From ae3cbe69348c25601cd4dc16a8abcee789954a62 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 23 十月 2025 19:55:40 +0800
Subject: [PATCH] 63 【公会】基础主体 - 捐献
---
Main/Config/Configs/FamilyDonateConfig.cs.meta | 11 +
Main/Core/GameEngine/Player/PlayerBaseData.cs | 24 ++
Main/System/Guild/GuildDonateCell.cs.meta | 11 +
Main/Config/ConfigManager.cs | 3
Main/Core/GameEngine/Player/PlayerDatas.cs | 5
Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs.meta | 11 +
Main/System/Chat/ChatWin.cs | 2
Main/System/Guild/GuildMemberOPCell.cs | 2
Main/System/Redpoint/MainRedDot.cs | 4
Main/System/Guild/GuildDonateDetailCell.cs.meta | 11 +
Main/System/Guild/GuildDonateDetailWin.cs | 30 +++
Main/System/Guild/GuildMemberCell.cs | 4
Main/Config/Configs/FamilyDonateConfig.cs | 53 +++++
Main/System/Guild/GuildDonateWin.cs.meta | 11 +
Main/System/Guild/GuildManager.cs | 86 +++++++++
Main/Utility/EnumHelper.cs | 4
Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs | 60 ++++++
Main/System/Guild/GuildDonateCell.cs | 77 ++++++++
Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA502_tagSCDonateCntInfo.cs | 7
Main/Utility/UIHelper.cs | 1
Main/System/Guild/GuildHallWin.cs | 2
Main/System/Guild/GuildDonateWin.cs | 48 +++++
Main/System/Guild/GuildDonateDetailWin.cs.meta | 11 +
Main/System/Guild/GuildPreviewWin.cs | 3
Main/System/Guild/GuildDonateDetailCell.cs | 35 +++
Main/Component/UI/Common/ClickScreenOtherSpace.cs | 1
26 files changed, 492 insertions(+), 25 deletions(-)
diff --git a/Main/Component/UI/Common/ClickScreenOtherSpace.cs b/Main/Component/UI/Common/ClickScreenOtherSpace.cs
index 62bb4c0..f2dd64b 100644
--- a/Main/Component/UI/Common/ClickScreenOtherSpace.cs
+++ b/Main/Component/UI/Common/ClickScreenOtherSpace.cs
@@ -5,6 +5,7 @@
using System;
using UnityEngine.Events;
+//鐐瑰嚮鍏朵粬鍖哄煙瑙﹀彂鎺у埗鏄鹃殣 鍙檮鍔犱簨浠�
[RequireComponent(typeof(RectTransform))]
public class ClickScreenOtherSpace : MonoBehaviour
{
diff --git a/Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs b/Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs
new file mode 100644
index 0000000..ebda422
--- /dev/null
+++ b/Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs
@@ -0,0 +1,60 @@
+锘縰sing UnityEngine;
+using System;
+
+//鐐瑰嚮鍏朵粬鍖哄煙瑙﹀彂浜嬩欢锛屾棤鏄鹃殣閫昏緫
+[RequireComponent(typeof(RectTransform))]
+public class ClickScreenOtherSpaceEvent : MonoBehaviour
+{
+
+ [SerializeField]
+ RespondType m_RespondType = RespondType.Out;
+ public RespondType respondType {
+ get { return m_RespondType; }
+ set { m_RespondType = value; }
+ }
+
+ Action m_ClickOtherEvent;
+
+ public void AddListener(Action _callBack)
+ {
+ m_ClickOtherEvent = null;
+ m_ClickOtherEvent += _callBack;
+ }
+
+ public void RemoveAllListeners()
+ {
+ m_ClickOtherEvent = null;
+ }
+
+
+ private void LateUpdate()
+ {
+ if (Input.GetMouseButtonDown(0))
+ {
+ var sp = Input.mousePosition;
+ switch (m_RespondType)
+ {
+ case RespondType.In:
+ if (RectTransformUtility.RectangleContainsScreenPoint(this.transform as RectTransform, sp, CameraManager.uiCamera))
+ {
+ m_ClickOtherEvent?.Invoke();
+ }
+ break;
+ case RespondType.Out:
+ if (!RectTransformUtility.RectangleContainsScreenPoint(this.transform as RectTransform, sp, CameraManager.uiCamera))
+ {
+ m_ClickOtherEvent?.Invoke();
+ }
+ break;
+ }
+ }
+
+ }
+
+ public enum RespondType
+ {
+ In,
+ Out,
+
+ }
+}
\ No newline at end of file
diff --git a/Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs.meta b/Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs.meta
new file mode 100644
index 0000000..906ccda
--- /dev/null
+++ b/Main/Component/UI/Common/ClickScreenOtherSpaceEvent.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1b96e2cd2e0ab2d43ac77b19db166efe
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index 11a4bcf..32e5261 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -46,6 +46,7 @@
typeof(DungeonConfig),
typeof(DungeonOpenTimeConfig),
typeof(FaceConfig),
+ typeof(FamilyDonateConfig),
typeof(FightPowerRatioConfig),
typeof(FirstChargeConfig),
typeof(GoldRushCampConfig),
@@ -237,6 +238,8 @@
ClearConfigDictionary<DungeonOpenTimeConfig>();
// 娓呯┖ FaceConfig 瀛楀吀
ClearConfigDictionary<FaceConfig>();
+ // 娓呯┖ FamilyDonateConfig 瀛楀吀
+ ClearConfigDictionary<FamilyDonateConfig>();
// 娓呯┖ FightPowerRatioConfig 瀛楀吀
ClearConfigDictionary<FightPowerRatioConfig>();
// 娓呯┖ FirstChargeConfig 瀛楀吀
diff --git a/Main/Config/Configs/FamilyDonateConfig.cs b/Main/Config/Configs/FamilyDonateConfig.cs
new file mode 100644
index 0000000..ddb4ebb
--- /dev/null
+++ b/Main/Config/Configs/FamilyDonateConfig.cs
@@ -0,0 +1,53 @@
+锘�//--------------------------------------------------------
+// [Author]: YYL
+// [ Date ]: 2025骞�10鏈�23鏃�
+//--------------------------------------------------------
+
+using System.Collections.Generic;
+using System;
+using UnityEngine;
+using LitJson;
+
+public partial class FamilyDonateConfig : ConfigBase<int, FamilyDonateConfig>
+{
+ static FamilyDonateConfig()
+ {
+ // 璁块棶杩囬潤鎬佹瀯閫犲嚱鏁�
+ visit = true;
+ }
+
+ public int DonateType;
+ public string Name;
+ public int DailyCnt;
+ public int MoneyType;
+ public int MoneyValue;
+ public int[][] AwardItemList;
+
+ public override int LoadKey(string _key)
+ {
+ int key = GetKey(_key);
+ return key;
+ }
+
+ public override void LoadConfig(string input)
+ {
+ try {
+ string[] tables = input.Split('\t');
+ int.TryParse(tables[0],out DonateType);
+
+ Name = tables[1];
+
+ int.TryParse(tables[2],out DailyCnt);
+
+ int.TryParse(tables[3],out MoneyType);
+
+ int.TryParse(tables[4],out MoneyValue);
+
+ AwardItemList = JsonMapper.ToObject<int[][]>(tables[5].Replace("(", "[").Replace(")", "]"));
+ }
+ catch (Exception exception)
+ {
+ Debug.LogError(exception);
+ }
+ }
+}
diff --git a/Main/Config/Configs/FamilyDonateConfig.cs.meta b/Main/Config/Configs/FamilyDonateConfig.cs.meta
new file mode 100644
index 0000000..2bb49fd
--- /dev/null
+++ b/Main/Config/Configs/FamilyDonateConfig.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b1247462ec68a8c4aa0263dc8fd7c189
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/Core/GameEngine/Player/PlayerBaseData.cs b/Main/Core/GameEngine/Player/PlayerBaseData.cs
index 6d6beba..42f00c7 100644
--- a/Main/Core/GameEngine/Player/PlayerBaseData.cs
+++ b/Main/Core/GameEngine/Player/PlayerBaseData.cs
@@ -1,4 +1,5 @@
锘縰sing System;
+using Cysharp.Threading.Tasks;
public class PlayerBaseData
{
@@ -12,7 +13,28 @@
public uint ExpPoint; //鎵╁厖缁忛獙鐐规暟锛堜嚎锛�
public uint TotalExp; //鎬荤粡楠�(灏忎簬浜块儴鍒�)
public long curExp { get { return TotalExp + ExpPoint * Constants.ExpPointValue; } }
- public uint FamilyId; //瀹舵棌
+
+ uint m_FamilyId;
+ public uint FamilyId
+ {
+ get
+ {
+ return m_FamilyId;
+ }
+ set
+ {
+ var beforeFamilyId = m_FamilyId;
+ m_FamilyId = value;
+ if (beforeFamilyId == 0 && m_FamilyId != 0)
+ {
+ GuildManager.Instance.AfterEnterGuild().Forget();
+ }
+ else if (beforeFamilyId != 0 && m_FamilyId == 0)
+ {
+ GuildManager.Instance.AfterQuitGuild();
+ }
+ }
+ }
public string FamilyName; //瀹舵棌鍚嶇О
public uint diamond; //浠欑帀
public uint bindDiamond; //鐏电煶
diff --git a/Main/Core/GameEngine/Player/PlayerDatas.cs b/Main/Core/GameEngine/Player/PlayerDatas.cs
index 9302037..beb8f19 100644
--- a/Main/Core/GameEngine/Player/PlayerDatas.cs
+++ b/Main/Core/GameEngine/Player/PlayerDatas.cs
@@ -105,10 +105,7 @@
break;
case PlayerDataType.Family:
baseData.FamilyId = value;
- if (value == 0)
- {
- GuildManager.Instance.ClearGuildWhenQuit();
- }
+
// if (LocalSave.GetInt("FimilyReport" + PlayerDatas.Instance.baseData.PlayerID) == 0)
// {
// SDKUtils.Instance.TraceEvent("joinalliance", "", false);
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA502_tagSCDonateCntInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA502_tagSCDonateCntInfo.cs
index 10c3219..811c65a 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA502_tagSCDonateCntInfo.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA502_tagSCDonateCntInfo.cs
@@ -1,11 +1,12 @@
-using UnityEngine;
-using System.Collections;
-
+using UnityEngine;
+using System.Collections;
+
// A5 02 鎹愮尞娆℃暟淇℃伅 #tagSCDonateCntInfo
public class DTCA502_tagSCDonateCntInfo : DtcBasic {
public override void Done(GameNetPackBasic vNetPack) {
base.Done(vNetPack);
HA502_tagSCDonateCntInfo vNetData = vNetPack as HA502_tagSCDonateCntInfo;
+ GuildManager.Instance.UpdateDonateInfo(vNetData);
}
}
diff --git a/Main/System/Chat/ChatWin.cs b/Main/System/Chat/ChatWin.cs
index 2b61d04..dd55b49 100644
--- a/Main/System/Chat/ChatWin.cs
+++ b/Main/System/Chat/ChatWin.cs
@@ -218,7 +218,7 @@
{
case ChatInfoType.Fairy:
{
- int limit = FuncOpenLVConfig.Get((int)FuncOpenEnum.Fairy).LimitLV;
+ int limit = FuncOpenLVConfig.Get((int)FuncOpenEnum.Guild).LimitLV;
if (PlayerDatas.Instance.baseData.LV < limit)
{
ServerTipDetails.DisplayNormalTip(Language.Get("L1136", limit));
diff --git a/Main/System/Guild/GuildDonateCell.cs b/Main/System/Guild/GuildDonateCell.cs
new file mode 100644
index 0000000..e2f7781
--- /dev/null
+++ b/Main/System/Guild/GuildDonateCell.cs
@@ -0,0 +1,77 @@
+锘縰sing System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+//鍏細鎹愯禒
+public class GuildDonateCell : MonoBehaviour
+{
+ [SerializeField] int donateType;
+ [SerializeField] Text nameText;
+ [SerializeField] Image nameBg;
+ [SerializeField] ItemCell[] itemCells;
+ [SerializeField] Text countText;
+ [SerializeField] Text moneyText;
+ [SerializeField] Image moneyIcon;
+ [SerializeField] Button donateBtn;
+ [SerializeField] Text donateText;
+
+ public void Display()
+ {
+ var config = FamilyDonateConfig.Get(donateType);
+ nameText.text = config.Name;
+ nameBg.SetSprite("DonateType" + donateType);
+ for (int i = 0; i < itemCells.Length; i++)
+ {
+ if (i < config.AwardItemList.Length)
+ {
+ itemCells[i].SetActive(true);
+ int itemID = config.AwardItemList[i][0];
+ itemCells[i].Init(new ItemCellModel(itemID, false, config.AwardItemList[i][1]));
+ itemCells[i].button.AddListener(() =>
+ {
+ ItemTipUtility.Show(itemID);
+ });
+ }
+ else
+ {
+ itemCells[i].SetActive(false);
+ }
+ }
+
+ int donateCnt = 0;
+ if (GuildManager.Instance.donateCntList != null && GuildManager.Instance.donateCntList.Length > 0)
+ {
+ donateCnt = GuildManager.Instance.donateCntList[donateType - 1];
+ }
+ countText.text = Language.Get("Guild_65") + donateCnt + "/" + config.DailyCnt;
+
+
+ moneyText.text = config.MoneyValue.ToString();
+ moneyIcon.SetIconWithMoneyType(config.MoneyType);
+
+ if (donateCnt >= config.DailyCnt)
+ {
+ donateBtn.SetInteractable(false);
+ donateText.text = Language.Get("Guild_67");
+ }
+ else
+ {
+ donateBtn.SetInteractable(true);
+ donateText.text = Language.Get("Guild_66");
+ donateBtn.AddListener(Donate);
+ }
+
+ }
+
+ void Donate()
+ {
+ var config = FamilyDonateConfig.Get(donateType);
+ if (!UIHelper.CheckMoneyCount(config.MoneyType, config.MoneyValue, 2))
+ {
+ return;
+ }
+ var pack = new CA612_tagCMFamilyMoneyDonate();
+ pack.DonateType = (byte)donateType;
+ GameNetSystem.Instance.SendInfo(pack);
+ }
+}
diff --git a/Main/System/Guild/GuildDonateCell.cs.meta b/Main/System/Guild/GuildDonateCell.cs.meta
new file mode 100644
index 0000000..5417102
--- /dev/null
+++ b/Main/System/Guild/GuildDonateCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 893ac8f335bb7bb449f4693404144c6f
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Guild/GuildDonateDetailCell.cs b/Main/System/Guild/GuildDonateDetailCell.cs
new file mode 100644
index 0000000..ee5718e
--- /dev/null
+++ b/Main/System/Guild/GuildDonateDetailCell.cs
@@ -0,0 +1,35 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 鎹愯禒鎴愬憳璇︽儏
+/// </summary>
+public class GuildDonateDetailCell : CellView
+{
+
+ [SerializeField] AvatarCell avatarCell;
+ [SerializeField] OfficialTitleCell titleCell;
+ [SerializeField] Text lvText;
+ [SerializeField] Text nameText;
+ [SerializeField] Text donateTodayCntText;
+ [SerializeField] Text totalDonateCntText;
+
+
+
+ public void Display(int index)
+ {
+ var playerID = PlayerDatas.Instance.fairyData.memberIDList[index];
+ var playerInfo = PlayerDatas.Instance.fairyData.GetMember(playerID);
+ nameText.text = playerInfo.Name;
+
+ avatarCell.InitUI(AvatarHelper.GetAvatarModel(0, playerInfo.Face, playerInfo.FacePic));
+ titleCell.InitUI(playerInfo.RealmLV, playerInfo.TitleID);
+ lvText.text = playerInfo.LV.ToString();
+
+
+
+ }
+
+}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildDonateDetailCell.cs.meta b/Main/System/Guild/GuildDonateDetailCell.cs.meta
new file mode 100644
index 0000000..5845265
--- /dev/null
+++ b/Main/System/Guild/GuildDonateDetailCell.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e069026445990574982a4908325e3282
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Guild/GuildDonateDetailWin.cs b/Main/System/Guild/GuildDonateDetailWin.cs
new file mode 100644
index 0000000..1c3bdf2
--- /dev/null
+++ b/Main/System/Guild/GuildDonateDetailWin.cs
@@ -0,0 +1,30 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 鍏細鎹愯禒璇︽儏鐣岄潰:鎺掑簭鍚庡仛鎺掑悕鏄剧ず
+/// </summary>
+public class GuildDonateDetailWin : UIBase
+{
+ [SerializeField] ScrollerController scroller;
+ [SerializeField] Text myRankText;
+ [SerializeField] Text myTotalCountText;
+
+
+
+ protected override void OnPreOpen()
+ {
+ Display();
+ }
+
+ protected override void OnPreClose()
+ {
+ }
+
+ void Display()
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildDonateDetailWin.cs.meta b/Main/System/Guild/GuildDonateDetailWin.cs.meta
new file mode 100644
index 0000000..5147b09
--- /dev/null
+++ b/Main/System/Guild/GuildDonateDetailWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ad72ddf0c61dc1a45a3123a16caf119d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Guild/GuildDonateWin.cs b/Main/System/Guild/GuildDonateWin.cs
new file mode 100644
index 0000000..dd5f759
--- /dev/null
+++ b/Main/System/Guild/GuildDonateWin.cs
@@ -0,0 +1,48 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+/// <summary>
+/// 鍏細鎹愯禒鐣岄潰
+/// </summary>
+public class GuildDonateWin : UIBase
+{
+ [SerializeField] GuildDonateCell[] donateCells;
+ [SerializeField] Button detailBtn;
+
+
+
+ protected override void InitComponent()
+ {
+ detailBtn.AddListener(() =>
+ {
+ // UIManager.Instance.OpenWindow<GuildDonateDetailWin>();
+ });
+ }
+
+ protected override void OnPreOpen()
+ {
+ GuildManager.Instance.DonateCntListEvent += DonateCntListEvent;
+ Display();
+ }
+
+ protected override void OnPreClose()
+ {
+ GuildManager.Instance.DonateCntListEvent -= DonateCntListEvent;
+ }
+
+ void Display()
+ {
+ for (int i = 0; i < donateCells.Length; i++)
+ {
+ donateCells[i].Display();
+ }
+ }
+
+ void DonateCntListEvent()
+ {
+ Display();
+ }
+
+}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildDonateWin.cs.meta b/Main/System/Guild/GuildDonateWin.cs.meta
new file mode 100644
index 0000000..2f0a76e
--- /dev/null
+++ b/Main/System/Guild/GuildDonateWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9ccfafd7fa206b44fae987f55ce0da86
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Main/System/Guild/GuildHallWin.cs b/Main/System/Guild/GuildHallWin.cs
index dde0d4e..fd1a187 100644
--- a/Main/System/Guild/GuildHallWin.cs
+++ b/Main/System/Guild/GuildHallWin.cs
@@ -56,7 +56,7 @@
donateBtn.AddListener(() =>
{
- // UIManager.Instance.OpenWindow<GuildDonateWin>();
+ UIManager.Instance.OpenWindow<GuildDonateWin>();
});
}
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index f195061..e60323d 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Text;
+using Cysharp.Threading.Tasks;
using LitJson;
using UnityEngine;
@@ -28,20 +29,41 @@
}
}
+ public byte[] donateCntList;
+ public event Action DonateCntListEvent;
+ public event Action<bool> EnterOrQuitGuildEvent; //杩涘叆鎴栭��鍑哄叕浼氫簨浠�
+
public override void Init()
{
ParseConfig();
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+ DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
+ PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
}
public override void Release()
{
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
+ PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
}
- public void OnBeforePlayerDataInitialize()
+ void OnBeforePlayerDataInitialize()
{
ClearGuildData();
+ }
+
+ void OnPlayerLoginOk()
+ {
+ UpdateDonateRedPoint();
+ }
+
+ void PlayerDataRefreshEvent(PlayerDataType type)
+ {
+ if(type == PlayerDataType.default33)
+ {
+ UpdateDonateRedPoint();
+ }
}
void ClearGuildData()
@@ -53,15 +75,25 @@
PlayerDatas.Instance.fairyData.ClearData();
}
- public void ClearGuildWhenQuit()
+ //閫�鍑哄叕浼�
+ public void AfterQuitGuild()
{
//閫�鍑哄叕浼�
ClearGuildData();
-
//闇�瑕佽浆鍒癏omeWin鐣岄潰 涓斿叧闂叕浼氱浉鍏崇晫闈�(鐖跺瓙缁ф壙鍏抽棴)
UIManager.Instance.GetUI<MainWin>()?.ClickFunc(0);
+
+ UpdateDonateRedPoint();
+ EnterOrQuitGuildEvent?.Invoke(false);
}
+ public async UniTask AfterEnterGuild()
+ {
+ //杩欓噷杩樻病鏈夊叕浼氭暟鎹�, 鍚庣画鐨勫寘浼氭洿鏂板叕浼氭暟鎹�
+ await UniTask.Delay(100);
+ UpdateDonateRedPoint();
+ EnterOrQuitGuildEvent?.Invoke(true);
+ }
#region 閰嶇疆
@@ -524,7 +556,7 @@
//id 0 浠h〃涓�閿姞鍏�
public void SendApplyGuild(int id, int type)
{
- if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Fairy, true))
+ if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Guild, true))
{
return;
}
@@ -674,6 +706,52 @@
}
+ #region 鎹愯禒
+
+ public void UpdateDonateInfo(HA502_tagSCDonateCntInfo netPack)
+ {
+ donateCntList = netPack.DonateCntList;
+ DonateCntListEvent?.Invoke();
+ UpdateDonateRedPoint();
+ }
+ #endregion
+
+ #region 绾㈢偣
+ Redpoint hallRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.guildHallRedpointID);
+ Redpoint donateRedpoint = new Redpoint(MainRedDot.guildHallRedpointID, MainRedDot.MainGuildRedpoint * 100);
+
+ void UpdateDonateRedPoint()
+ {
+ if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Guild))
+ {
+ return;
+ }
+ donateRedpoint.state = RedPointState.None;
+ if (PlayerDatas.Instance.fairyData.fairy == null)
+ {
+ return;
+ }
+
+ //鍙湁绗竴妗g殑鎵嶉渶瑕佺孩鐐�
+ var config = FamilyDonateConfig.Get(1);
+ if (donateCntList == null)
+ {
+ if (UIHelper.CheckMoneyCount(config.MoneyType, config.MoneyValue))
+ donateRedpoint.state = RedPointState.Simple;
+ return;
+ }
+ if (donateCntList != null && donateCntList.Length > 0)
+ {
+ if (donateCntList[0] < config.DailyCnt)
+ {
+ if (UIHelper.CheckMoneyCount(config.MoneyType, config.MoneyValue))
+ donateRedpoint.state = RedPointState.Simple;
+ }
+ }
+ }
+
+ #endregion
+
#region 鍔犲瘑鏁板瓧
//1. 灏嗘暟瀛楄ˉ鍏呭埌10浣嶏紝涓嶈冻琛�0
diff --git a/Main/System/Guild/GuildMemberCell.cs b/Main/System/Guild/GuildMemberCell.cs
index 320cc00..a36e17e 100644
--- a/Main/System/Guild/GuildMemberCell.cs
+++ b/Main/System/Guild/GuildMemberCell.cs
@@ -16,7 +16,6 @@
[SerializeField] Image guildJobImg;
[SerializeField] Text nameText;
[SerializeField] Text fightPowerText;
- [SerializeField] Button seePlayerBtn;
[SerializeField] Text contribText;
[SerializeField] Text loginTimeText;
@@ -47,10 +46,9 @@
fightPowerText.text = UIHelper.ReplaceLargeArtNum(playerInfo.FightPower);
- seePlayerBtn.AddListener(() =>
+ avatarCell.button.AddListener(() =>
{
OtherPlayerDetailManager.Instance.ViewPlayerDetail(playerID);
- GuildManager.Instance.memberOPIndex = -1; //闄勫甫鍏抽棴鑱屼綅璋冩暣鎿嶄綔
});
contribText.text = playerInfo.ContribDay + "/" + playerInfo.ContribTotal;
diff --git a/Main/System/Guild/GuildMemberOPCell.cs b/Main/System/Guild/GuildMemberOPCell.cs
index 0ec4fcf..5d4cbbd 100644
--- a/Main/System/Guild/GuildMemberOPCell.cs
+++ b/Main/System/Guild/GuildMemberOPCell.cs
@@ -8,8 +8,6 @@
/// </summary>
public class GuildMemberOPCell : CellView
{
-
-
[SerializeField] Button kickBtn;
[SerializeField] Button opearteJobBtn;
diff --git a/Main/System/Guild/GuildPreviewWin.cs b/Main/System/Guild/GuildPreviewWin.cs
index 6106d13..aae9466 100644
--- a/Main/System/Guild/GuildPreviewWin.cs
+++ b/Main/System/Guild/GuildPreviewWin.cs
@@ -22,7 +22,6 @@
[SerializeField] Text guildJobText;
[SerializeField] Text leaderNameText;
[SerializeField] Text leaderFightPowerText;
- [SerializeField] Button seePlayerBtn;
[SerializeField] Button opearteBtn;
[SerializeField] Text opearteBtnText;
@@ -46,7 +45,7 @@
SysNotifyMgr.Instance.ShowTip("GuildSys8");
});
- seePlayerBtn.AddListener(() =>
+ leaderAvatar.button.AddListener(() =>
{
OtherPlayerDetailManager.Instance.ViewPlayerDetail(leaderID);
});
diff --git a/Main/System/Redpoint/MainRedDot.cs b/Main/System/Redpoint/MainRedDot.cs
index 1f37023..8040724 100644
--- a/Main/System/Redpoint/MainRedDot.cs
+++ b/Main/System/Redpoint/MainRedDot.cs
@@ -54,8 +54,8 @@
public const int RedPoint_OfficialKey = 101;
- #region 浠欑洘鍏敤绾㈢偣
- public const int FAIRY_REDPOINT_KEY2 = 10701;
+ #region 浠欑洘绾㈢偣
+ public const int guildHallRedpointID = MainGuildRedpoint * 10;
#endregion
diff --git a/Main/Utility/EnumHelper.cs b/Main/Utility/EnumHelper.cs
index fde5a01..6ae5d7b 100644
--- a/Main/Utility/EnumHelper.cs
+++ b/Main/Utility/EnumHelper.cs
@@ -607,7 +607,7 @@
Rune = 170, //绗﹀嵃纰庣墖 170
RealmPoint = 171, //澧冪晫淇偧鐐� 171
MagicEssence = 172,//榄旂簿 172
- UnionLiven = 173, //浠欑洘娲昏穬浠�
+ UnionLiven = 173, // 鍏細璐$尞甯�
FBHelpPoint = 174, //鍓湰鍔╂垬绉垎 174
PlayerPKState = 175, //鎴樻枟鐘舵��
IsAttackBossState = 176, //鏄惁鍦ㄦ墦Boss 1 鍦� 0 涓嶅湪
@@ -818,7 +818,7 @@
Challenge = 2,//鎸戞垬
Official = 3,//鍐呮斂
Realm = 10, //澧冪晫 瀹樿亴
- Fairy = 11,// 浠欑洘
+ Guild = 11,// 鍏細
BlessLV = 12, //绁濈绛夌骇
Store = 16,//鍟嗗煄
HappyFindTreasure = 18,// 鑻遍泟鎷涘嫙
diff --git a/Main/Utility/UIHelper.cs b/Main/Utility/UIHelper.cs
index 8c204df..cc22283 100644
--- a/Main/Utility/UIHelper.cs
+++ b/Main/Utility/UIHelper.cs
@@ -1010,6 +1010,7 @@
}
case 15:
{
+ // 鍏細璐$尞甯�
return PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.UnionLiven);
//return (ulong)ModelCenter.Instance.GetModel<StoreModel>().GetTCBPlayerData(PlayerDataType.UnionLiven);
}
--
Gitblit v1.8.0