89 lines
2.3 KiB
C#
89 lines
2.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine.UI;
|
|
using TcgEngine.Client;
|
|
|
|
namespace TcgEngine.UI
|
|
{
|
|
|
|
public class SoloPanel : UIPanel
|
|
{
|
|
public Text username;
|
|
public DeckSelector selector_player;
|
|
public DeckSelector selector_ai;
|
|
|
|
public DeckDisplay display_player;
|
|
public DeckDisplay display_ai;
|
|
|
|
private static SoloPanel instance;
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
instance = this;
|
|
}
|
|
|
|
protected override void Start()
|
|
{
|
|
base.Start();
|
|
|
|
selector_player.onChange += OnChangeDeck;
|
|
selector_ai.onChange += OnChangeDeck;
|
|
}
|
|
|
|
private void RefreshDecks()
|
|
{
|
|
if(username != null)
|
|
username.text = Authenticator.Get().Username;
|
|
|
|
string selected_id = MainMenu.Get().deck_selector.GetDeckID();
|
|
selector_player.SetupUserDeckList();
|
|
selector_player.SelectDeck(selected_id);
|
|
selector_ai.SetupAIDeckList();
|
|
selector_ai.SelectDeck(0);
|
|
|
|
RefreshDeckDisplay();
|
|
}
|
|
|
|
private void RefreshDeckDisplay()
|
|
{
|
|
display_player.SetDeck(selector_player.GetDeckID());
|
|
display_ai.SetDeck(selector_ai.GetDeckID());
|
|
}
|
|
|
|
private void OnChangeDeck(string id)
|
|
{
|
|
RefreshDeckDisplay();
|
|
}
|
|
|
|
public override void Show(bool instant = false)
|
|
{
|
|
base.Show(instant);
|
|
RefreshDecks();
|
|
}
|
|
|
|
public void OnClickPlay()
|
|
{
|
|
UserDeckData deck = selector_player.GetDeck();
|
|
if (deck == null || !deck.IsValid())
|
|
return;
|
|
|
|
UserDeckData aideck = selector_ai.GetDeck();
|
|
if (aideck == null || !aideck.IsValid())
|
|
return;
|
|
|
|
GameClient.player_settings.deck = deck;
|
|
GameClient.ai_settings.deck = aideck;
|
|
GameClient.ai_settings.ai_level = GameplayData.Get().ai_level;
|
|
GameClient.game_settings.scene = GameplayData.Get().GetRandomArena();
|
|
|
|
// solo 休闲模式
|
|
MainMenu.Get().StartGame(GameType.Solo, GameMode.Casual);
|
|
}
|
|
|
|
public static SoloPanel Get()
|
|
{
|
|
return instance;
|
|
}
|
|
}
|
|
} |