This commit is contained in:
2024-10-16 00:03:41 +08:00
commit 897058435c
5033 changed files with 1009728 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
using Framework.Utils.UITools.CommonScroll;
using Game;
using UnityEngine;
using UnityEngine.UI;
namespace UIModules.Scripts
{
public class AchievementItem : ScrollCellLogic
{
[SerializeField] private RectTransform _rectTransform;
private AchievementItemData _data;
public Text Name;
public Text Info;
public Text State;
public Text HideText;
public Color NormalText;
public Color Normal;
public Color Hide;
public override void OnInit (IScrollContext context)
{
}
public override void OnUpdateData (object data, int index)
{
_data = (AchievementItemData)data;
Name.text = _data.RofAchievementRow.Key;
Info.text = _data.IsComplete ? _data.RofAchievementRow.Desc + $"\r<color=grey>({this._data.RofAchievementRow.Info})</color>" : _data.RofAchievementRow.Info;
HideText.gameObject.SetActive(_data.IsHide);
Name.color = _data.IsComplete ? (_data.IsHide ? Hide : Normal) : NormalText;
Info.color = Name.color * new Color(0.49f, 0.49f, 0.49f);
State.text = _data.IsComplete ? $"完成" : $"{_data.CurCount}/{_data.RofAchievementRow.TargetValue}";
State.color = _data.IsComplete ? (_data.IsHide ? Hide : Normal) : NormalText;
}
public override void OnRefresh (object data)
{
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7edafb04227340d88b35da81e60ef706
timeCreated: 1701763465

View File

@@ -0,0 +1,24 @@
using System.AchieveSystem;
using Game;
namespace UIModules.Scripts
{
public class AchievementItemData
{
public RofAchievementRow RofAchievementRow;
public bool IsComplete;
public bool IsHide => this.RofAchievementRow.State == 1;
public bool IsShow => !IsHide || IsComplete;
public int CurCount;
public AchievementItemData(RofAchievementRow rofAchievement)
{
this.RofAchievementRow = rofAchievement;
CurCount = (int)AchievementMgr.Instance.GetAchieveCount(rofAchievement.AchievementCode);
IsComplete = CurCount >= RofAchievementRow.TargetValue;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7cc28b04151b40538e0493710592089b
timeCreated: 1701764289

View File

@@ -0,0 +1,68 @@
using System.AchieveSystem;
using System.Collections.Generic;
using Framework.Utils.UITools.CommonScroll.ScrollView;
using IcecreamView;
using UnityEngine;
using UnityEngine.UI;
namespace UIModules.Scripts
{
public class CommonAchievementPanel : IC_AbstractModule
{
[SerializeField] private Text _AText;
[SerializeField] private CommonScrollView _scrollView;
public Button CloseBtn;
public override void OnInitView ()
{
this.CloseBtn.onClick.AddListener (ViewConnector.CloseView);
this._scrollView.Init ();
}
public override void OnOpenView (IC_ViewData msgData)
{
this._AText.text
= $"{AchievementMgr.Instance.GetAchievementData ().AchieveIDs.Count} / {RofManagerConfig.Instance.AchievementTable.RowNum}";
UpdateData ();
}
public void UpdateData ()
{
var rofAchievementTable = RofManagerConfig.Instance.AchievementTable;
List<AchievementItemData> datas = new List<AchievementItemData> ();
for (int i = 0; i < rofAchievementTable.RowNum; i++)
{
AchievementItemData data = new AchievementItemData (rofAchievementTable.GetDataByRow (i));
datas.Add (data);
}
List<AchievementItemData> showData = new List<AchievementItemData> ();
foreach (var itemData in datas)
{
if (itemData.IsComplete && itemData.IsHide)
{
showData.Add (itemData);
}
}
foreach (var itemData in datas)
{
if (!itemData.IsHide && itemData.IsComplete)
{
showData.Add (itemData);
}
}
foreach (var itemData in datas)
{
if (!itemData.IsHide && !itemData.IsComplete)
{
showData.Add (itemData);
}
}
this._scrollView.UpdateData (new List<object> (showData));
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 07c8d7f7a45749c9bc82221392675d4b
timeCreated: 1701764756

View File

@@ -0,0 +1,94 @@
using System.AchieveSystem;
using Framework.Audio;
using Framework.Timer;
using Game;
using IcecreamView;
using UnityEngine;
using UnityEngine.UI;
namespace UIModules.Scripts
{
public class CommonAchievementTip: IC_AbstractModule
{
public Animator TipAnimator;
public Text Tip;
public Text Name;
public Color NormalColor;
public Color HideColor;
private TimeHandler _timeHandler;
[SerializeField]private float _curTime;
[SerializeField]private float WaitTime = 2f;
private RofAchievementRow _curRow;
public override void OnOpenView(IC_ViewData parameters)
{
if (AchievementMgr.Instance.CurAchievementCompletes.Count > 0)
{
if (_curRow != null)
{
_curTime = Mathf.Min(_curTime, WaitTime * 0.5f);
}
else
{
CheckShow();
}
}
}
private void CheckShow()
{
AudioManager.Instance.PlaySound("achievement");
// Debug.Log("展示开始");
var rofAchievementRow = AchievementMgr.Instance.CurAchievementCompletes.Dequeue();
_curRow = rofAchievementRow;
Tip.text = _curRow.State == 0 ? "普通成就": "隐藏成就";
Name.text = _curRow.Key;
Name.color = _curRow.State == 0 ? NormalColor : HideColor;
TipAnimator.Play("Show");
_timeHandler = GameUpdateMgr.Instance.CreateTimer(0.35f, () =>
{
if (AchievementMgr.Instance.CurAchievementCompletes.Count > 0)
{
_curTime = WaitTime * 0.5f;
}
else
{
_curTime = WaitTime;
}
});
}
private void Update()
{
if (_curTime > 0)
{
_curTime -= Time.deltaTime;
if (_curTime <= 0)
{
_curTime = 0;
OnShowEnd();
}
}
}
private void OnShowEnd()
{
// Debug.Log("展示结束");
TipAnimator.Play("Hide");
_timeHandler?.Kill();
_timeHandler = GameUpdateMgr.Instance.CreateTimer(0.2f, () =>
{
_curRow = null;
if (AchievementMgr.Instance.CurAchievementCompletes.Count > 0)
CheckShow();
else
ViewConnector.CloseView();
});
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 5c04104e271143d39047a1dbcd9c968b
timeCreated: 1701762451