Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- //using UnityEditor;
- using System.Text;
- using System.Xml;
- using UnityEngine.UI;
- using System.IO;
- public class DeckBuilder : MonoBehaviour {
- public GameObject DeckGrid; //hold images that represent Decks
- public GameObject DeckPrefab;
- public CardInformationScreen cardInfo;
- public InventoryScript inventory;
- public InputField txtDeckName;
- public DebugManager debugManager;
- private List<GameObject> DeckObjects = new List<GameObject>();
- private static OnUIDeckClick _selectedDeck = null;
- private DeckManager _deckManager;
- public Button btnRemove;
- public Toggle tgglBattleDeck;
- // Use this for initialization
- void Start ()
- {
- _deckManager = DeckManager.GetInstance();
- RefreshDeckList();
- btnRemove.gameObject.SetActive(false);
- tgglBattleDeck.gameObject.SetActive(false);
- }
- public bool HasDeckSelected
- {
- get
- {
- if (_selectedDeck == null)
- return false;
- return true;
- }
- }
- public static OnUIDeckClick SelectedDeck
- {
- get { return _selectedDeck; }
- private set { _selectedDeck = value; }
- }
- // Update is called once per frame
- public void RemoveDeck()
- {
- if (_deckManager.Decks.Count <= 1)
- debugManager.Show("You need atleast one deck!");
- if (SelectedDeck != null && _deckManager.Decks.Count > 1)
- {
- if (SelectedDeck.Deck != _deckManager.BattleDeck)
- {
- _deckManager.Decks.Remove(SelectedDeck.Deck);
- inventory.ResetFilteredList();
- RefreshDeckList();
- btnRemove.gameObject.SetActive(false);
- tgglBattleDeck.gameObject.SetActive(false);
- txtDeckName.text = "";
- }
- else
- {
- debugManager.Show("You can't remove the battle deck!");
- }
- }
- }
- public void RefreshDeckList()
- {
- DeckObjects.Clear();
- foreach (Transform child in DeckGrid.transform)
- {
- Destroy(child.gameObject);
- }
- //use the filteredList to create new children in elementGrid
- for (int i = 0; i < _deckManager.Decks.Count; ++i)
- {
- var spawn = Instantiate(DeckPrefab);
- spawn.transform.SetParent(DeckGrid.transform);
- spawn.GetComponent<OnUIDeckClick>().Init(_deckManager.Decks[i]);
- DeckObjects.Add(spawn);
- }
- }
- private PlayerDeck NewDeck(string name)
- {
- PlayerDeck d = new PlayerDeck(name);
- _deckManager.Decks.Add(d);
- //refresh DeckList;
- RefreshDeckList();
- return d;
- }
- public void NewEmptyDeck()
- {
- PlayerDeck d = new PlayerDeck("a new deck");
- _deckManager.Decks.Add(d);
- //refresh DeckList;
- RefreshDeckList();
- }
- public void EnableAllDecks()
- {
- //loop through all decks and check is the card can be added
- foreach (var d in DeckObjects)
- {
- //deck halen uit
- PlayerDeck deck = d.GetComponent<OnUIDeckClick>().Deck;
- //terug licht maken
- d.GetComponentInChildren<Image>().color = new Color(1.0f, 1.0f, 1.0f);
- //d.GetComponent<Image>().color = new Color(1.0f, 1.0f, 1.0f);
- d.GetComponent<CanvasGroup>().blocksRaycasts = true;
- }
- }
- public void CheckAllDecksIfCanAdd(Card c)
- {
- //loop through all decks and check is the card can be added
- foreach (var d in DeckObjects)
- {
- //deck halen uit
- PlayerDeck deck = d.GetComponent<OnUIDeckClick>().Deck;
- //Debug.Log(!_deckManager.CanAdd(c, deck) + ", " + _deckManager.IsDeckFull(deck) + ", " + _deckManager.AlreadyInDeck(c, deck));
- if (!_deckManager.CanAdd(c, deck) || _deckManager.IsDeckFull(deck) || _deckManager.AlreadyInDeck(c, deck))
- {
- //donker maken
- d.GetComponentInChildren<Image>().color = new Color(0.2f, 0.2f, 0.2f);
- //d.GetComponent<Image>().color = new Color(0.2f, 0.2f, 0.2f);
- d.GetComponent<CanvasGroup>().blocksRaycasts = false;
- }
- }
- }
- public void SaveDecks()
- {
- //save decks
- if (!Application.isWebPlayer && !Application.isEditor && !Application.isMobilePlatform)
- {
- _deckManager.SaveDecks();
- //save invetory
- inventory.SaveInventory();
- }
- }
- public void SelectDeck(OnUIDeckClick d)
- {
- if(SelectedDeck != null)
- {
- btnRemove.gameObject.SetActive(false);
- tgglBattleDeck.gameObject.SetActive(false);
- SelectedDeck.selected.SetActive(false);
- }
- SelectedDeck = d;
- if (SelectedDeck != null)
- {
- btnRemove.gameObject.SetActive(true);
- SelectedDeck.selected.SetActive(true);
- tgglBattleDeck.gameObject.SetActive(true);
- if (SelectedDeck.Deck == _deckManager.BattleDeck)
- {
- //toggle true
- tgglBattleDeck.isOn = true;
- }
- else
- {
- //toggle false
- tgglBattleDeck.isOn = false;
- }
- }
- else
- {
- tgglBattleDeck.isOn = false;
- }
- //set the text
- if (d != null)
- txtDeckName.text = d.Deck.Name;
- else
- txtDeckName.text = "";
- }
- public void ChangeName()
- {
- if(SelectedDeck == null)
- {
- txtDeckName.text = "";
- }
- else
- {
- SelectedDeck.Deck.Name = txtDeckName.text;
- }
- }
- public void SetBattleDeck()
- {
- if (SelectedDeck != null)
- {
- tgglBattleDeck.isOn = true;
- _deckManager.BattleDeck = SelectedDeck.Deck;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement