From c0e6cb2a0ce840bd594d05c7e2cf0a185c312fa0 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 20 十一月 2025 21:27:48 +0800
Subject: [PATCH] 262 幻境阁系统-客户端
---
Main/System/PhantasmPavilion/AvatarCell.cs | 302 ++++++++++++++++++++++++-------------------------
1 files changed, 148 insertions(+), 154 deletions(-)
diff --git a/Main/System/PhantasmPavilion/AvatarCell.cs b/Main/System/PhantasmPavilion/AvatarCell.cs
index 354704e..dead145 100644
--- a/Main/System/PhantasmPavilion/AvatarCell.cs
+++ b/Main/System/PhantasmPavilion/AvatarCell.cs
@@ -1,54 +1,9 @@
-using System.Collections.Generic;
+using System;
using UnityEngine;
-//澶村儚妯″潡锛堟敮鎸佸抚鍔ㄧ敾鍜岀壒鏁堬級
+//澶村儚妯″潡
public class AvatarCell : MonoBehaviour
{
-
- private void Awake()
- {
- LoadPrefab();
-
- }
- ImageEx m_BgImage;
- private ImageEx bgImage
- {
- get
- {
- if (m_BgImage == null)
- {
- m_BgImage = this.GetComponent<ImageEx>("AvatarCell/Img_BG");
- }
- return m_BgImage;
- }
- }
-
- ImageEx m_AvatarImage;
- private ImageEx avatarImage
- {
- get
- {
- if (m_AvatarImage == null)
- {
- m_AvatarImage = this.GetComponent<ImageEx>("AvatarCell/Img_BG/Img_AvatarFrame/GameObject/Img_Avatar");
- }
- return m_AvatarImage;
- }
- }
-
- ImageEx m_AvatarFrameImage;
- private ImageEx avatarFrameImage
- {
- get
- {
- if (m_AvatarFrameImage == null)
- {
- m_AvatarFrameImage = this.GetComponent<ImageEx>("AvatarCell/Img_BG/Img_AvatarFrame");
- }
- return m_AvatarFrameImage;
- }
- }
-
ButtonEx m_button;
public ButtonEx button
{
@@ -57,66 +12,168 @@
if (m_button == null)
{
LoadPrefab();
- m_button = this.GetComponent<ButtonEx>("AvatarCell/Img_BG");
+ m_button = this.GetComponent<ButtonEx>("AvatarCell/Img_FaceBG");
}
return m_button;
}
}
- UIFrame m_AvatarUIFrame;
- private UIFrame avatarUIFrame
+ ImageEx m_FaceBGImage;
+ public ImageEx faceBGImage
{
get
{
- if (m_AvatarUIFrame == null)
+ if (m_FaceBGImage == null)
{
- m_AvatarUIFrame = this.GetComponent<UIFrame>("AvatarCell/Img_BG/Img_AvatarFrame/GameObject/Img_Avatar");
+ LoadPrefab();
+ m_FaceBGImage = this.GetComponent<ImageEx>("AvatarCell/Img_FaceBG");
}
- return m_AvatarUIFrame;
+ return m_FaceBGImage;
}
}
- UIFrame m_AvatarFrameUIFrame;
- private UIFrame avatarFrameUIFrame
+ EllipseMask m_FaceMask;
+ public EllipseMask faceMask
{
get
{
- if (m_AvatarFrameUIFrame == null)
+ if (m_FaceMask == null)
{
- m_AvatarFrameUIFrame = this.GetComponent<UIFrame>("AvatarCell/Img_BG/Img_AvatarFrame");
+ LoadPrefab();
+ m_FaceMask = this.GetComponent<EllipseMask>("AvatarCell/Img_FaceBG/Mask_Face");
}
- return m_AvatarFrameUIFrame;
+ return m_FaceMask;
}
}
- UIEffectPlayer m_AvatarUIEffect;
- private UIEffectPlayer avatarUIEffect
+ UIFrame m_FaceUIFrame;
+ public UIFrame faceUIFrame
{
get
{
- if (m_AvatarUIEffect == null)
+ if (m_FaceUIFrame == null)
{
- m_AvatarUIEffect = this.GetComponent<UIEffectPlayer>("AvatarCell/Img_BG/Img_AvatarFrame/GameObject/Img_Avatar");
+ LoadPrefab();
+ m_FaceUIFrame = this.GetComponent<UIFrame>("AvatarCell/Img_FaceBG/Mask_Face/Img_Face");
}
- return m_AvatarUIEffect;
+ return m_FaceUIFrame;
}
}
- UIEffectPlayer m_AvatarFrameUIEffect;
- private UIEffectPlayer avatarFrameUIEffect
+ ImageEx m_FaceImage;
+ public ImageEx faceImage
{
get
{
- if (m_AvatarFrameUIEffect == null)
+ if (m_FaceImage == null)
{
- m_AvatarFrameUIEffect = this.GetComponent<UIEffectPlayer>("AvatarCell/Img_BG/Img_AvatarFrame");
+ LoadPrefab();
+ m_FaceImage = this.GetComponent<ImageEx>("AvatarCell/Img_FaceBG/Mask_Face/Img_Face");
}
- return m_AvatarFrameUIEffect;
+ return m_FaceImage;
+ }
+ }
+
+ UIEffectPlayer m_faceSpine;
+ public UIEffectPlayer faceSpine
+ {
+ get
+ {
+ if (m_faceSpine == null)
+ {
+ LoadPrefab();
+ m_faceSpine = this.GetComponent<UIEffectPlayer>("AvatarCell/Img_FaceBG/Mask_Face/Img_Face/Spine_Face");
+ }
+ return m_faceSpine;
+ }
+ }
+
+
+ ImageEx m_FacePicImage;
+ public ImageEx facePicImage
+ {
+ get
+ {
+ if (m_FacePicImage == null)
+ {
+ LoadPrefab();
+ m_FacePicImage = this.GetComponent<ImageEx>("AvatarCell/Img_FaceBG/Img_FacePic");
+ }
+ return m_FacePicImage;
+ }
+ }
+
+ UIFrame m_FacePicUIFrame;
+ public UIFrame facePicUIFrame
+ {
+ get
+ {
+ if (m_FacePicUIFrame == null)
+ {
+ LoadPrefab();
+ m_FacePicUIFrame = this.GetComponent<UIFrame>("AvatarCell/Img_FaceBG/Img_FacePic");
+ }
+ return m_FacePicUIFrame;
+ }
+ }
+
+ UIEffectPlayer m_facePicSpine;
+ public UIEffectPlayer facePicSpine
+ {
+ get
+ {
+ if (m_facePicSpine == null)
+ {
+ LoadPrefab();
+ m_facePicSpine = this.GetComponent<UIEffectPlayer>("AvatarCell/Img_FaceBG/Img_FacePic/Spine_FacePic");
+ }
+ return m_facePicSpine;
+ }
+ }
+
+ RedpointBehaviour m_redpoint;
+ public RedpointBehaviour redpoint
+ {
+ get
+ {
+ if (m_redpoint == null)
+ {
+ LoadPrefab();
+ m_redpoint = this.GetComponent<RedpointBehaviour>("AvatarCell/Img_FaceBG/RedPoint");
+ }
+ return m_redpoint;
}
}
GameObject prefab;
+ AvatarModel avatarModel;
+ PhantasmPavilionManager manager { get { return PhantasmPavilionManager.Instance; } }
+ private void Awake()
+ {
+ LoadPrefab();
+ }
+ void OnEnable()
+ {
+ PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
+ }
+
+ void OnDisable()
+ {
+ PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
+ }
+
+ private void PlayerDataRefresh(PlayerDataType type)
+ {
+ if (type == PlayerDataType.Face || type == PlayerDataType.FacePic)
+ {
+ if (avatarModel == null || avatarModel.playerID != PlayerDatas.Instance.baseData.PlayerID)
+ return;
+ InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
+ PlayerDatas.Instance.baseData.face,
+ PlayerDatas.Instance.baseData.facePic));
+ }
+ }
protected void LoadPrefab()
{
@@ -143,107 +200,44 @@
prefabRect.sizeDelta = new Vector2(parentRect.rect.width, parentRect.rect.height);
}
}
-
public void InitUI(AvatarModel model)
{
if (model == null)
return;
+ avatarModel = model;
LoadPrefab(); //瀛樺湪琚嵏杞界殑鍙兘锛岄噸鏂板姞杞�
- string img = AvatarHelper.GetAvatarBgColorStr(model.avatarID);
- bgImage.SetSprite(img);
- InitUI(model.avatarID, model.avatarUIEffectID, model.avatarFrameID, model.avatarFrameUIEffectID);
- }
- private void InitUI(int avatarID, int avatarUIEffectID, int avatarFrameID, int avatarFrameUIEffectID)
- {
- InitAvatarUI(avatarID, avatarUIEffectID);
- InitAvatarFrameUI(avatarFrameID, avatarFrameUIEffectID);
- }
+ int faceID = model.faceID;
+ int facePicID = model.facePicID;
+ manager.ShowFace(faceImage, faceSpine, faceUIFrame, faceMask, faceID);
- private void InitAvatarUI(int avatarID, int avatarUIEffectID)
- {
- avatarUIEffect?.Stop();
- avatarUIFrame.enabled = false;
- if (!PlayerFaceConfig.HasKey(avatarID))
- return;
+ string str = AvatarHelper.GetAvatarBgColorStr(faceID);
+ faceBGImage.SetSprite(str);
- PlayerFaceConfig config = PlayerFaceConfig.Get(avatarID);
- string imgStr = config.Image;
- if (UIFrameMgr.Inst.ContainsDynamicImage(imgStr))
- {
- avatarUIFrame.ResetFrame(imgStr);
+ int resourceType = manager.GetResourceType(PhantasmPavilionType.FacePic, facePicID);
+ string resourceValue = manager.GetResourceValue(PhantasmPavilionType.FacePic, facePicID);
+ manager.Show(facePicImage, facePicSpine, facePicUIFrame, resourceType, resourceValue);
- List<UnityEngine.Sprite> spriteList = UIFrameMgr.Inst.GetDynamicImage(imgStr);
- if (!spriteList.IsNullOrEmpty())
- {
- avatarImage.rectTransform.sizeDelta = new Vector2(spriteList[0].rect.width, spriteList[0].rect.height);
- }
-
- avatarUIFrame.enabled = true;
- }
- else
- {
- avatarImage.SetSprite(imgStr);
- avatarImage.SetNativeSize();
- avatarUIFrame.enabled = false;
- }
-
- if (!EffectConfig.HasKey(avatarUIEffectID))
- return;
- avatarUIEffect.effectId = avatarUIEffectID;
- // avatarUIEffect.loop = true;
- avatarUIEffect.Play();
- }
-
- private void InitAvatarFrameUI(int avatarFrameID, int avatarFrameUIEffectID)
- {
- avatarFrameUIEffect?.Stop();
- avatarFrameUIFrame.enabled = false;
- if (!PlayerFacePicConfig.HasKey(avatarFrameID))
- return;
-
- PlayerFacePicConfig config = PlayerFacePicConfig.Get(avatarFrameID);
- string imgStr = config.Image;
- if (UIFrameMgr.Inst.ContainsDynamicImage(imgStr))
- {
- avatarFrameUIFrame.ResetFrame(imgStr);
-
- List<UnityEngine.Sprite> spriteList = UIFrameMgr.Inst.GetDynamicImage(imgStr);
- if (!spriteList.IsNullOrEmpty())
- {
- avatarFrameImage.rectTransform.sizeDelta = new Vector2(spriteList[0].rect.width, spriteList[0].rect.height);
- }
-
- avatarFrameUIFrame.enabled = true;
- }
- else
- {
- avatarFrameImage.SetSprite(imgStr);
- avatarFrameImage.SetNativeSize();
- avatarFrameUIFrame.enabled = false;
- }
-
- if (!EffectConfig.HasKey(avatarFrameUIEffectID))
- return;
- avatarUIEffect.effectId = avatarFrameUIEffectID;
- // avatarUIEffect.loop = true;
- avatarUIEffect.Play();
+ faceBGImage.SetNativeSize();
+ faceImage.SetNativeSize();
+ facePicImage.SetNativeSize();
}
}
public class AvatarModel
{
- public int avatarID { get; private set; }
- public int avatarFrameID { get; private set; }
- public int avatarUIEffectID { get; private set; }
- public int avatarFrameUIEffectID { get; private set; }
- public float scale { get; private set; }
+ public int playerID { get; private set; }
+ public int faceID { get; private set; }
+ public int facePicID { get; private set; }
+ public int redpointID { get; private set; }
+ public Action clickAction { get; private set; }
- public AvatarModel(int avatarID, int avatarFrameID, int avatarUIEffectID = 0, int avatarFrameUIEffectID = 0)
+ public AvatarModel(int playerID, int faceID, int facePicID, int redpointID = 0, Action clickAction = null)
{
- this.avatarID = avatarID;
- this.avatarFrameID = avatarFrameID;
- this.avatarUIEffectID = avatarUIEffectID;
- this.avatarFrameUIEffectID = avatarFrameUIEffectID;
+ this.playerID = playerID;
+ this.faceID = faceID;
+ this.facePicID = facePicID;
+ this.redpointID = redpointID;
+ this.clickAction = clickAction;
}
}
\ No newline at end of file
--
Gitblit v1.8.0