先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
88 lines
2.3 KiB
C#
88 lines
2.3 KiB
C#
using asap.core;
|
|
using cfg;
|
|
using GameCore;
|
|
using PlayFab.Json;
|
|
using TMPro;
|
|
using UniRx;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class FishCardMapSelectSlot : MonoBehaviour
|
|
{
|
|
#region Field
|
|
[SerializeField]
|
|
GameObject
|
|
go_selecting,
|
|
go_lock;
|
|
[SerializeField]
|
|
Image img_bg;
|
|
[SerializeField]
|
|
TMP_Text
|
|
txt_levelRequired,
|
|
txt_mapSelectedName,
|
|
txt_mapName;
|
|
[SerializeField]
|
|
Button btn_Select;
|
|
|
|
CompositeDisposable disposables = new CompositeDisposable();
|
|
|
|
private MapData
|
|
_mapData;
|
|
private bool _isSelecting;
|
|
#endregion
|
|
|
|
|
|
#region Func
|
|
public void SetData(MapData mapData,int requiredLevel)
|
|
{
|
|
_isSelecting = false;
|
|
_mapData = mapData;
|
|
gameObject.SetActive(true);
|
|
GContext.OnEvent<FishCardShopSlot.SChangeFishCardMapEvent>().Where(x=>x.MapData.ID==_mapData.ID||_isSelecting).Subscribe(OnMapSelected).AddTo(disposables);
|
|
txt_mapName.text = LocalizationMgr.GetText(mapData.Name_l10n_key);
|
|
txt_mapSelectedName.text=LocalizationMgr.GetText(mapData.Name_l10n_key);
|
|
|
|
GContext.container.Resolve<IUIService>().SetImageSprite(img_bg, mapData.Bg);
|
|
|
|
if (GContext.container.Resolve<PlayerData>().lv>=requiredLevel)
|
|
{
|
|
go_lock.SetActive(false);
|
|
btn_Select.OnClickAsObservable().Where(_=>!_isSelecting).Subscribe(_ => OnSelectMap()).AddTo(disposables);
|
|
}
|
|
else
|
|
{
|
|
go_lock.SetActive(true);
|
|
txt_levelRequired.text = requiredLevel.ToString();
|
|
btn_Select.OnClickAsObservable().Subscribe(_ => OnMapLock());
|
|
}
|
|
}
|
|
|
|
private void OnMapSelected(FishCardShopSlot.SChangeFishCardMapEvent data)
|
|
{
|
|
if(_isSelecting)
|
|
{
|
|
_isSelecting = false;
|
|
go_selecting.SetActive(false);
|
|
}
|
|
else
|
|
{
|
|
_isSelecting = true;
|
|
go_selecting.SetActive(true);
|
|
}
|
|
}
|
|
|
|
private void OnSelectMap()
|
|
{
|
|
GContext.Publish(new FishCardShopSlot.SChangeFishCardMapEvent { MapData = _mapData });
|
|
}
|
|
private void OnMapLock()
|
|
{
|
|
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_63"));
|
|
}
|
|
private void OnDisable()
|
|
{
|
|
disposables.Dispose();
|
|
}
|
|
#endregion
|
|
}
|