using System; using System.Collections.Generic; using asap.core; using game; using GameCore; using TMPro; using UniRx; using UnityEngine; using UnityEngine.UI; namespace EventMowForTreasure { public class EventMowForTreasurePanel : BasePanel { #region UI_ELEMENTS //top ui private Button btn_questionmark; private TMP_Text text_time; private item_sanddig_tips _itemSanddigTips; private EventMowForTreasure_CollectionCell[] _collectionCells; //botom ui private EventMowForTreasure_ToolPropCell[] _toolPropCells; private Button btn_close; private RewardFlyBatchController _batchController; private GameObject _rewardGameObject; private GameObject fingerObj; private GameObject _maskGameObject; #endregion UI_ELEMENTS [Header("collection")] [SerializeField] private float collectionRewardStartIconSize = 100f; [SerializeField] private float collectionRewardTargetIconSize = 100f; [Header("guidance")] [SerializeField] [Min(1)] private int showGuideTimes = 5; [SerializeField] private Vector2 finalRewardGuideOffset = Vector2.zero; [Header("finalReward")] [SerializeField] private Vector2 finalRewardTipsOffset = Vector2.zero; [SerializeField] private float delayHideTips = 0.5f; private EventMowForTreasureManager _manager; private EventMowForTreasureManager Manager => _manager ??= GContext.container.Resolve(); private EventMowForTreasureData Data => Manager?.Data; private EventMowForTreasureAct Act=>(EventMowForTreasureAct)GContext.container.ResolveAct(Manager.GetCurrentStageAct()); private readonly Queue _cacheObjects=new Queue(); private float _clickGapTime; private void Awake() { //top ui btn_questionmark = gameObject.FindChildGameObject(nameof(btn_questionmark)).GetComponent