57 lines
2.4 KiB
Plaintext
57 lines
2.4 KiB
Plaintext
using System;using System.Threading.Tasks;
|
|
public class ActualPanel {
|
|
game.PlayerDataStorage.PlayerKVGameplayLoop.FishingRewardAction kvReward; Func<Task> kvPresentation;
|
|
public bool isActiveAndEnabled=true; public Canvas canvasGroup=new(); public Fish playerFishData=new();public Player playerData=new(); int fishID=7;public int Applied;
|
|
bool KVRewardViewCurrent()=>this!=null && isActiveAndEnabled && game.PlayerDataStorage.PlayerKVGameplayLoop.RewardPanelCurrent(kvReward,this);
|
|
public Button playButton=new();public bool NonKvOnly;public int HomeClicks;
|
|
public void StartTail()
|
|
{
|
|
playButton.onClick.AddListener(OnClickInHome);
|
|
#if UNITY_EDITOR && !SERVICE_HOST
|
|
if(!game.PlayerDataStorage.PlayerKVGameplayLoop.Enabled)
|
|
#endif
|
|
{
|
|
NonKvOnly=true;
|
|
}
|
|
OnShow();
|
|
}
|
|
void OnClickInHome()=>HomeClicks++;
|
|
void OnShowCore(){Applied++;}public void Run()=>OnShow();
|
|
void OnShow()
|
|
{
|
|
#if UNITY_EDITOR && !SERVICE_HOST
|
|
if(game.PlayerDataStorage.PlayerKVGameplayLoop.Enabled)
|
|
{
|
|
try
|
|
{
|
|
var bound=game.PlayerDataStorage.PlayerKVGameplayLoop.BindRewardPanel(this);
|
|
if(bound==null) return;
|
|
kvReward=bound;
|
|
game.PlayerDataStorage.PlayerKVEditResult primary;
|
|
using(game.PlayerDataStorage.PlayerKVGameplayLoop.BeginRewardSegment("reward"))
|
|
{
|
|
OnShowCore();
|
|
playerFishData.SaveCaughtFishForKVLoop(fishID);
|
|
primary=playerData.SaveFishingRewardForKVLoop();
|
|
}
|
|
_=ConfirmKVRewardAsync(primary);
|
|
}
|
|
catch(System.Exception e) { game.PlayerDataStorage.PlayerKVGameplayLoop.Fault(e.Message); }
|
|
return;
|
|
}
|
|
#endif
|
|
OnShowCore();
|
|
}
|
|
async System.Threading.Tasks.Task ConfirmKVRewardAsync(game.PlayerDataStorage.PlayerKVEditResult primary)
|
|
{
|
|
try
|
|
{
|
|
await game.PlayerDataStorage.PlayerKVGameplayLoop.ConfirmRewardAsync(kvReward,primary);
|
|
if(!KVRewardViewCurrent()) return;
|
|
game.PlayerDataStorage.PlayerKVGameplayLoop.PresentReward(kvReward,()=>{canvasGroup.alpha=1;canvasGroup.blocksRaycasts=true;canvasGroup.interactable=true;});
|
|
if(kvPresentation!=null) await kvPresentation();
|
|
}
|
|
catch(System.Exception e) { game.PlayerDataStorage.PlayerKVGameplayLoop.Fault(e.Message); }
|
|
}
|
|
}
|