You've already forked taptap2024_GJ_chidouren
init
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7edafb04227340d88b35da81e60ef706
|
||||
timeCreated: 1701763465
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7cc28b04151b40538e0493710592089b
|
||||
timeCreated: 1701764289
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 07c8d7f7a45749c9bc82221392675d4b
|
||||
timeCreated: 1701764756
|
||||
@@ -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();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c04104e271143d39047a1dbcd9c968b
|
||||
timeCreated: 1701762451
|
||||
Reference in New Issue
Block a user