Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine.UI;
- using System.Linq;
- using System.Xml;
- public class InventoryScript : MonoBehaviour {
- private CardManager _cardManager;
- public CardInformationScreen cardInfo;
- private List<Card> _filteredCardsList = new List<Card>();
- public GameObject ElementGrid;
- public GameObject cardUIPrefab;
- private bool _dragEnbaled = false;
- private DeckBuilder _deckBuilder;
- public Image filterImage;
- PlayerDeck DeckFilter = null;
- public bool DragEnabled
- {
- get { return _dragEnbaled; }
- set { _dragEnbaled = value; }
- }
- public List<Card> FilteredCardsList
- {
- get { return _filteredCardsList; }
- private set { _filteredCardsList = value; }
- }
- // Use this for initialization
- void Start ()
- {
- _cardManager = CardManager.GetInstance();
- //AllOwnedCardList
- //FilteredCardList
- ResetFilteredList();
- cardInfo.Hide();
- if (_deckBuilder == null)
- {
- _deckBuilder = GameObject.FindGameObjectWithTag("manager").GetComponent<DeckBuilder>();
- }
- }
- int TempIntCreate()
- {
- return Random.Range(1, 21);
- }
- void LoadPlayerInventory(TextAsset asset)
- {
- XmlDocument xDoc = new XmlDocument();
- xDoc.LoadXml(asset.text);
- XmlNode root = xDoc.DocumentElement;
- XmlNodeList nodeList = root.SelectNodes("card");
- foreach (XmlNode node in nodeList)
- {
- _cardManager.OwnedIDList.Add(int.Parse(node.InnerText));
- }
- }
- public void RefreshInventory()
- {
- OnUICardDragDrop.DestroyDraggedItem();
- //delete all the children of elementGrid
- foreach(Transform child in ElementGrid.transform)
- {
- Destroy(child.gameObject);
- }
- //use the filteredList to create new children in elementGrid
- for (int i = 0; i < FilteredCardsList.Count; ++i)
- {
- var spawn = Instantiate(cardUIPrefab);
- spawn.transform.SetParent(ElementGrid.transform);
- //spawn.GetComponent<RawImage>().texture = (Texture)Resources.Load(FilteredCardsList[i].Image);
- spawn.name = FilteredCardsList[i].Name;
- spawn.GetComponent<OnUICardClick>().Init(FilteredCardsList[i]);
- //spawn.GetComponent<OnUICardDragDrop>().enabled = DragEnabled;
- }
- }
- public void SaveInventory()
- {
- _cardManager.SaveInventory();
- }
- public void ResetFilteredList()
- {
- FilteredCardsList.Clear();
- var cardList = _cardManager.AllOwnedCardsList.OrderBy(c => c.ElementID).ThenBy(c => c.Rarity).ThenBy(c => c.Name).ThenBy(c => c.Tier);
- foreach (var card in cardList)
- {
- FilteredCardsList.Add(card);
- }
- //if(_deckBuilder)
- //_deckBuilder.SelectDeck(null);
- RefreshInventory();
- SetFilterImage("images/Icon_Inventory");
- DeckFilter = null;
- }
- public void FilterAll()
- {
- FilteredCardsList.Clear();
- var cardList = _cardManager.AllOwnedCardsList.OrderBy(c => c.ElementID).ThenBy(c => c.Rarity).ThenBy(c => c.Name).ThenBy(c => c.Tier);
- if (DeckFilter != null)
- cardList = DeckFilter.CardList.OrderBy(c => c.ElementID).ThenBy(c => c.Rarity).ThenBy(c => c.Name).ThenBy(c => c.Tier);
- foreach (var card in cardList)
- {
- FilteredCardsList.Add(card);
- }
- //if(_deckBuilder)
- //_deckBuilder.SelectDeck(null);
- RefreshInventory();
- SetFilterImage("images/Icon_Inventory");
- }
- public void FilterDeck(PlayerDeck deck)
- {
- FilteredCardsList.Clear();
- var cardList = deck.CardList.OrderBy(c => c.ElementID).ThenBy(c => c.Rarity).ThenBy(c => c.Name).ThenBy(c => c.Tier);
- foreach(var card in cardList)
- {
- FilteredCardsList.Add(card);
- }
- RefreshInventory();
- DeckFilter = deck;
- SetFilterImage("images/Icon_Inventory");
- }
- private void FilterElement(int element)
- {
- var sortingList = from card in _cardManager.AllOwnedCardsList where card.ElementID == element orderby card.ElementID, card.Rarity, card.Name, card.Tier descending select card;
- if (DeckFilter != null)
- sortingList = from card in DeckFilter.CardList where card.ElementID == element orderby card.ElementID, card.Rarity, card.Name, card.Tier descending select card;
- FilteredCardsList.Clear();
- foreach(var node in sortingList)
- {
- FilteredCardsList.Add(node);
- }
- RefreshInventory();
- }
- private void FilterRarity(int rarity)
- {
- var sortingList = from card in _cardManager.AllOwnedCardsList where card.Rarity == rarity orderby card.ElementID, card.Rarity, card.Name, card.Tier descending select card;
- if (DeckFilter != null)
- sortingList = from card in DeckFilter.CardList where card.Rarity == rarity orderby card.ElementID, card.Rarity, card.Name, card.Tier descending select card;
- FilteredCardsList.Clear();
- foreach (var node in sortingList)
- {
- FilteredCardsList.Add(node);
- }
- RefreshInventory();
- }
- private void FilterTiers(int tier)
- {
- var sortingList = from card in _cardManager.AllOwnedCardsList where card.Tier == tier orderby card.ElementID, card.Rarity, card.Name, card.Tier descending select card;
- if (DeckFilter != null)
- sortingList = from card in DeckFilter.CardList where card.Tier == tier orderby card.ElementID, card.Rarity, card.Name, card.Tier descending select card;
- FilteredCardsList.Clear();
- foreach (var node in sortingList)
- {
- FilteredCardsList.Add(node);
- }
- RefreshInventory();
- }
- private void SetFilterImage(string path)
- {
- filterImage.overrideSprite = Resources.Load<Sprite>(path);
- }
- public void FilterAir()
- {
- FilterElement((int)Element.Air);
- SetFilterImage("images/Icon_Element_Air");
- }
- public void FilterEarth()
- {
- FilterElement((int)Element.Earth);
- SetFilterImage("images/Icon_Element_Earth");
- }
- public void FilterSpirit()
- {
- FilterElement((int)Element.Spirit);
- SetFilterImage("images/Icon_Element_Spirit");
- }
- public void FilterWater()
- {
- FilterElement((int)Element.Water);
- SetFilterImage("images/Icon_Element_Water");
- }
- public void FilterFire()
- {
- FilterElement((int)Element.Fire);
- SetFilterImage("images/Icon_Element_Fire");
- }
- public void FilterVoid()
- {
- FilterElement((int)Element.Void);
- SetFilterImage("images/Icon_Element_Void");
- }
- public void FilterCommon()
- {
- FilterRarity((int)Rarity.Common);
- SetFilterImage("images/Icon_Rarity_1");
- }
- public void FilterRare()
- {
- FilterRarity((int)Rarity.Rare);
- SetFilterImage("images/Icon_Rarity_2");
- }
- public void FilterLegend()
- {
- FilterRarity((int)Rarity.Legendary);
- SetFilterImage("images/Icon_Rarity_3");
- }
- public void FilterTier1()
- {
- FilterTiers(1);
- SetFilterImage("images/Icon_Tier_1");
- }
- public void FilterTier2()
- {
- FilterTiers(2);
- SetFilterImage("images/Icon_Tier_2");
- }
- public void FilterTier3()
- {
- FilterTiers(3);
- SetFilterImage("images/Icon_Tier_3");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement