コード例 #1
0
 public void deactivate()
 {
     isActive = false;
     deck     = null;
     gameObject.SetActive(false);
     gameObject.name = "deck unused";
 }
コード例 #2
0
 public void deactivate()
 {
     isActive   = false;
     deck       = null;
     deckButton = null;
     gameObject.SetActive(false);
     gameObject.name = "charm unused";
 }
コード例 #3
0
    //opens the list of unused charms
//	public void openUnusedWeapons(){
//		//charmReplaceType = replaceType;
//		unusedWeaponsOpen = true;
//		unusedCardsOpen = false;
//
//		Debug.Log ("open " + unusedCharms.Count + " charms");
//
//		int order = 0;
//		for (int i = 0; i < unusedCharms.Count; i++) {
//			if (unusedCharms [i].type == Charm.CharmType.Weapon) {
//				DBUnusedCharmGO thisGO = DBManagerInterface.instance.getUnusedCharmGO ();
//				Debug.Log (thisGO);
//				thisGO.activate (unusedCharms [i], order);
//				order++;
//			}
//		}
//	}
//
//	public void replaceCharm(Charm newCharm){
//		if (newCharm.type == Charm.CharmType.Weapon) {
//			activeDeck.weaponToAdd = newCharm;
//		} else {
//			activeDeck.charmToAdd = newCharm;
//		}
//		unusedWeaponsOpen = false;
//	}

    //steps back one
    public void cancel()
    {
        if (unusedCardsOpen || unusedWeaponsOpen)
        {
            unusedCardsOpen   = false;
            unusedWeaponsOpen = false;
        }
        else
        {
            if (activeDeck != null)
            {
                activeDeck.setAsInactive();
            }
            activeDeck = null;
        }
    }
コード例 #4
0
    public void activate(DBDeck _deck, DBDeckButtonGO _deckButton, Charm.CharmType _type)
    {
        deck       = _deck;
        deckButton = _deckButton;

        type = _type;

        isActive = true;
        gameObject.SetActive(true);

        gameObject.name = "charm " + deck.displayName + " " + type;

        gameObject.SetActive(true);

        mouseIsOver = false;
    }
コード例 #5
0
    public void activate(DBDeck _deck)
    {
        isActive = true;
        deck     = _deck;
        gameObject.SetActive(true);

        gameObject.name = "DBButton_" + deck.displayName;

        if (needsPosInfo)
        {
            needsPosInfo   = false;
            topLeftPoint   = GameObject.Find("deckButtonTopLeft").transform.position;
            topCenterPoint = GameObject.Find("deckButtonTopCenter").transform.position;
        }

        homePos = topLeftPoint + spacing * deck.order;

        iconSpriteRend.sprite = deck.sprite;
        nameText.text         = deck.displayName;

        //DBManagerInterface.instance.getCharmGO ().activate (deck, this, Charm.CharmType.Weapon);
    }
コード例 #6
0
    public DBManager()
    {
        activeDeck = null;

        unusedCardsOpen   = false;
        unusedWeaponsOpen = false;

        //grabbing the info for the player
        xmlPath = Application.dataPath + "/external_data/player/player_info.xml";
        xmlDoc  = new XmlDocument();
        xmlDoc.Load(xmlPath);

        //get the info node
        XmlNode infoNode = xmlDoc.GetElementsByTagName("info")[0];

        money = int.Parse(infoNode["money"].InnerXml);

        curLevel = int.Parse(infoNode ["cur_level"].InnerXml);

        //get the store node
        XmlNode storeNode = xmlDoc.GetElementsByTagName("store")[0];

        storeIsAvailable = bool.Parse(storeNode ["unlocked"].InnerXml);

        //go through each unit and make a deck if it is player controlled
        XmlNodeList unitNodes = xmlDoc.GetElementsByTagName("unit");

        foreach (XmlNode node in unitNodes)
        {
            if (bool.Parse(node ["currently_active"].InnerXml))
            {
                DBDeck deck = new DBDeck(node, decks.Count);
                decks.Add(deck);

                //and make a button for it
                DBManagerInterface.instance.getDeckButtonGO().activate(deck);
            }
        }

        //make a special deck of unused cards
        unusedCardsDeck = new DBDeck(Application.dataPath + "/external_data/player/unused_cards.txt", decks.Count);
        decks.Add(unusedCardsDeck);
        DBManagerInterface.instance.getDeckButtonGO().activate(unusedCardsDeck);

        //gather up all of the unused charms
        unusedWeaponsListPath = Application.dataPath + "/external_data/player/unused_weapons.txt";
        string charmText = File.ReadAllText(unusedWeaponsListPath);

        string[] charmLines = charmText.Split('\n');

        for (int i = 0; i < charmLines.Length; i++)
        {
            if (charmLines [i].Length > 2)
            {
                Debug.Log("load " + charmLines [i]);
                Charm thisCharm = CharmManager.instance.getCharmFromIdName(charmLines [i]);
                thisCharm.setup(null, false, charmLines [i]);
                unusedCharms.Add(thisCharm);
            }
        }
    }
コード例 #7
0
    //saves changes to active deck and goes back
    public void saveChanges()
    {
        unusedCardsOpen   = false;
        unusedWeaponsOpen = false;

        money -= activeDeck.getCurrentSaveCost();

        unusedCardsDeck.removeCards(activeDeck.cardsToAdd);

        if (activeDeck.weaponToAdd != null)
        {
            unusedCharms.Remove(activeDeck.weaponToAdd);
        }
        if (activeDeck.charmToAdd != null)
        {
            unusedCharms.Remove(activeDeck.charmToAdd);
        }

        activeDeck.saveChanges();
        activeDeck.setAsInactive();
        activeDeck = null;

        //set the money
        XmlNode infoNode = xmlDoc.GetElementsByTagName("info")[0];

        infoNode ["money"].InnerXml = money.ToString();

        //remove the unit nodes
        XmlNodeList unitNodes = xmlDoc.GetElementsByTagName("unit");

        foreach (XmlNode node in unitNodes)
        {
            //xmlDoc.RemoveChild(node);
            node.ParentNode.RemoveChild(node);
        }

        //replace the unit nodes with the current info
        //shoving it at the end
        XmlNode mainNode = xmlDoc.GetElementsByTagName("player")[0];
        //Debug.Log (mainNode.InnerXml);

        string xmlText = "";

        for (int i = 0; i < decks.Count; i++)
        {
            if (decks [i] != unusedCardsDeck)
            {
                xmlText += decks [i].getXML();
            }
        }

        mainNode.InnerXml += xmlText;

        xmlDoc.Save(xmlPath);

        //and have each deck update their text file
        for (int i = 0; i < decks.Count; i++)
        {
            decks [i].saveDeckFile();
        }

        //and update the unsued charm file
        string[] charmLines = new string[unusedCharms.Count];
        for (int i = 0; i < unusedCharms.Count; i++)
        {
            charmLines [i] = unusedCharms [i].idName;
        }

        /*
         *
         *      //go ahead and create the xml for all of the player's info
         *      string xmlText = "";
         *      xmlText += "<player>\n";
         *
         *      xmlText += "<info>\n";
         *      xmlText += "<money>" + money + "</money>\n";
         *      xmlText += "<cur_level>" + curLevel + "</cur_level>\n";
         *      xmlText += "<cur_level>" + curLevel + "</cur_level>\n";
         *      xmlText += "<cur_level>" + curLevel + "</cur_level>\n";
         *      xmlText += "</info>\n";
         *
         *      for (int i = 0; i < decks.Count; i++) {
         * if (decks [i] != unusedCardsDeck) {
         * xmlText += decks [i].getXML ();
         * }
         *      }
         *
         *      xmlText += "</player>";
         *
         *      XmlDocument saveDoc = new XmlDocument ();
         *      saveDoc.InnerXml = xmlText;
         *      saveDoc.Save(xmlPath);
         *
         *      //and have each deck update their text file
         *      for (int i = 0; i < decks.Count; i++) {
         * decks [i].saveDeckFile ();
         *      }
         *
         *      //and update the unsued charm file
         *      string[] charmLines = new string[unusedCharms.Count];
         *      for (int i = 0; i < unusedCharms.Count; i++) {
         * charmLines [i] = unusedCharms [i].idName;
         *      }
         *
         *      File.WriteAllLines(unusedWeaponsListPath, charmLines);
         */
    }
コード例 #8
0
    //selects a deck for viewing/editting
    public void setDeckActive(DBDeck deck)
    {
        activeDeck = deck;

        activeDeck.setAsActive();
    }
コード例 #9
0
 public void clickDeck(DBDeck deck)
 {
     manager.setDeckActive(deck);
 }