Exemplo n.º 1
0
    //初期ロード
    public void DataAllLoad()
    {
        //ボックス
        string PrefsBox = SaveData.GetString("Box", "");

        if (PrefsBox != "")
        {
            List <List <int> > boxList = JsonMapper.ToObject <List <List <int> > > (PrefsBox);
            box = new List <CardData> ();
            for (int i = 0; i < boxList.Count; i++)
            {
                List <int> l  = boxList [i];
                CardData   cd = new CardData().FromList(l);
//				CardData cd = new CardData ().Set (l[0],l[1],l[2],l[3],l[4]);
                box.Add(cd);
            }
        }
        else
        {
            Debug.LogError("Box is Null");
        }
        //デッキ
        string PrefsDeck = SaveData.GetString("Deck", "");

        if (PrefsBox != "")
        {
            decks = new List <List <CardData> > ();
            List <List <List <int> > > decksList = JsonMapper.ToObject <List <List <List <int> > > >(PrefsDeck);

            for (int i = 0; i < decksList.Count; i++)
            {
                List <List <int> > deckList = decksList [i];
                List <CardData>    deck     = new List <CardData> ();
                for (int i2 = 0; i2 < deckList.Count; i2++)
                {
                    List <int> cardList = deckList [i2];
                    CardData   cd       = new CardData().FromList(cardList);
                    deck.Add(cd);
                }
                decks.Add(deck);
            }

//			decks = JsonMapper.ToObject<List<List<CardData>>>(PrefsDeck);
        }
        else
        {
            Debug.LogError("Deck is Null");
        }
        //ユーザー名
        PlayerName  = SaveData.GetString("Name", "");
        Password    = SaveData.GetString("Password", "no");
        uid         = SaveData.GetInt("uid", 0);
        Coin        = SaveData.GetInt("Coin", 0);
        Gold        = SaveData.GetInt("Gold", 0);
        UseDeck     = SaveData.GetInt("UseDeck", 0);
        BattleSpeed = SaveData.GetInt("BattleSpeed", 1);
    }
Exemplo n.º 2
0
//
//		public static void LevelUpByCard(CardData _Base,CardData _Material) { //カードによる強化
//			var boxDat = DataManager.Instance.box;
//			//先に削除
//			for (int i = 0; i < boxDat.Count; i++ ){
//				if (boxDat [i].uid == _Material.uid) {
//					boxDat.RemoveAt (i);
//					break;
//				}
//				if (i == boxDat.Count - 1)
//					Debug.LogError ("Not Found Card : "+_Material.uid);
//			}
//			LevelUp (_Base);
//		}
//		public static void LevelUp(CardData _Base) { //ポイントによる強化
//			var boxDat = DataManager.Instance.box;
//			//レベルアップ
//			for (int i = 0; i < boxDat.Count; i++ ){
//				if (boxDat [i].uid == _Base.uid) {
//					CardData cd = boxDat [i];
//					cd.LV++;
//					boxDat [i] = cd;
//					break;
//				}
//				if (i == boxDat.Count - 1)
//					Debug.LogError ("Not Found Card : "+_Base.uid);
//			}
//			DataManager.Instance.Save ();
//		}
        public static CardData GetCardData(int _uid)
        {
            for (int i = 0; i < DataManager.Instance.box.Count; i++)
            {
                CardData cd = DataManager.Instance.box [i];
                if (cd.uid == _uid)
                {
                    return(cd);
                }
            }
            Debug.LogError("Not Found Card : " + _uid);
            return(new CardData());
        }
Exemplo n.º 3
0
        public static void LevelUp(int id)
        {
            var      boxDat = DataManager.Instance.box;
            int      cdnum  = boxDat.FindIndex(x => x.ID == id);
            CardData cd     = boxDat [cdnum];

            int useCount = SystemScript.needPoint(new CardParam().Set(cd));

            if (useCount <= cd.Count)
            {
                cd.Count -= useCount;
                cd.LV++;
            }
            DataManager.Instance.box [cdnum] = cd;
        }
Exemplo n.º 4
0
        /// <summary>
        /// セーブ必要
        /// </summary>
        public static bool LevelUp(int _atr, int _id, int _usecounts)
        {
            var      boxDat = DataManager.Instance.box;
            int      cdnum  = boxDat.FindIndex(x => x.Atr == _atr && x.ID == _id);
            CardData cd     = boxDat [cdnum];

            if (_usecounts <= cd.Count)
            {
                cd.Count -= _usecounts;
                cd.LV++;
            }
            else
            {
                return(false);
            }
            DataManager.Instance.box [cdnum] = cd;
            return(true);
        }
Exemplo n.º 5
0
    void Show()
    {
        cardPacks = new List <CardPackStruct> ();
        List <XLS_CardPack.Sheet> sheets = DataManager.Instance.xls_CardPack.sheets;

        for (int i = 0; i < sheets.Count; i++)
        {
            XLS_CardPack.Sheet sheet   = sheets [i];
            CardPackStruct     cardStr = new CardPackStruct();
            cardStr.BronzeCards = new List <CardData> ();
            cardStr.SilverCards = new List <CardData> ();
            cardStr.GoldCards   = new List <CardData> ();
            cardStr.LegendCards = new List <CardData> ();
            cardStr.PackName    = sheet.name;

            for (int i2 = 0; i2 < sheet.list.Count; i2++)
            {
                XLS_CardPack.Param param = sheet.list [i2];
                CardData           cd    = new CardData().Set(param.cardAtr, param.cardID, param.cardLV, 1);
                CardParam          cp    = new CardParam().Set(cd);
                switch (cp.Rea)
                {
                case 0:
                    cardStr.BronzeCards.Add(cd);
                    break;

                case 1:
                    cardStr.SilverCards.Add(cd);
                    break;

                case 2:
                    cardStr.GoldCards.Add(cd);
                    break;

                case 3:
                    cardStr.LegendCards.Add(cd);
                    break;
                }
            }

            cardPacks.Add(cardStr);
        }
    }
Exemplo n.º 6
0
    void SetLoginData(Dictionary <string, object> main)
    {
        var data = GetDic((string)main["data"]);

        //それぞれのjsonを取得
        var pjson = ((Dictionary <string, object>)data ["pjson"])["data"];
        var cjson = ((Dictionary <string, object>)data ["cjson"])["data"];

        //プレイヤーjson¥
        playerJson = JsonMapper.ToObject <PlayerJson> ((string)pjson);

        //dictionary変換 -> 配列変換
        List <object> x = (List <object>)GetDic((string)cjson)["cd"];

        cardsJson = new List <Carddata> ();
        for (int i = 0; i < x.Count; i++)
        {
            List <object> y  = (List <object>)x [i];
            Carddata      cd = new Carddata().Set(0, toInt(y[0]), toInt(y[1]), toInt(y[2]));
            cardsJson.Add(cd);
        }


//		Debug.Log( GetDic((string)cjson)["cd"]);
        //それぞれのdataをDictionaryで取得
//		var pdata = GetDic ((string)pjson ["data"]);
//		var cdata = GetDic ((string)cjson ["data"]);

        //jsonからclassをつくる
//		cardsJson = JsonMapper.ToObject<List<CardsJson>> ((string) GetDic((string)cjson)["cd"]);
        //pjsonから
//
//
//		var logind = GetDic ((string)data);
//
//		UserName = (string)logind ["name"];
//		playerJson.coin = Convert.ToInt32( logind ["coin"]);
//		playerJson.uid= Convert.ToInt32( logind ["uid"]);
//		playerJson.dia = Convert.ToInt32 (logind ["dia"]);
//		playerJson.loginDays = Convert.ToInt32 (logind ["loginDays"]);
//		playerJson.rate = Convert.ToInt32 (logind ["rate"]);
    }
Exemplo n.º 7
0
    public void Save()
    {
        //ボックス
        List <List <int> > boxList = new List <List <int> >();

        for (int i = 0; i < box.Count; i++)
        {
            CardData   cd   = box [i];
            List <int> item = cd.ToList();
//			List<int> item = new List<int> (){cd.Atr,cd.ID,cd.LV,cd.Count,cd.uid};
            boxList.Add(item);
        }
        SaveData.SetString("Box", JsonMapper.ToJson(boxList));

        //デッキ
        List <List <List <int> > > deckList = new List <List <List <int> > >();

        for (int i = 0; i < decks.Count; i++)
        {
            List <List <int> > deckL = new List <List <int> > ();
            var deckData             = decks [i];
            for (int i2 = 0; i2 < deckData.Count; i2++)
            {
                CardData   cd   = deckData [i2];
                List <int> list = cd.ToList();
                deckL.Add(list);
            }
            deckList.Add(deckL);
        }
        SaveData.SetString("Deck", JsonMapper.ToJson(deckList));

        //そのた
        SaveData.SetString("Name", PlayerName);
        SaveData.SetString("Password", Password);
        SaveData.SetInt("uid", uid);
        SaveData.SetInt("Coin", Coin);
        SaveData.SetInt("Gold", Gold);
        SaveData.SetInt("UseDeck", UseDeck);
        SaveData.SetInt("BattleSpeed", BattleSpeed);
        SaveData.Save();
    }
Exemplo n.º 8
0
    //購入後処理
    public void OnBuy(List <object> cid, string errmsg)
    {
        //アラートを消す
        alert.OpenClose(false);

        if (cid == null || cid.Count == 0)
        {
            //エラー

            alert = AlertView.Make(-1, "エラー", errmsg, new string[] { "確認" }, gameObject, 1);
        }
        else
        {
            //成功

            //カード追加
            lcd = new List <CardData>();
            for (int i = 0; i < cid.Count; i++)
            {
                int id = toInt(cid [i]);
                DataManager.Box.AddCard(0, id, 1);
                lcd.Add(new CardData().Set(0, id, 1, 1));
            }
            //ポイント消費
            DataManager.ChangePoint(useType, -usePoint);
            DataManager.Instance.RefreshData();
            DataManager.Instance.Save();


            var           paramDatas = DataManager.Instance.xls_CardParam;
            List <string> datas      = new List <string>();
            for (int i = 0; i < lcd.Count; i++)
            {
                CardData cd    = lcd [i];
                var      param = DataManager.Instance.xls_CardParam.sheets [cd.Atr].list [cd.ID];
                datas.Add(SystemScript.GetReality(param.reality, true) + " " + param.name);
            }
            AlertView.Make(-1, "入手カード", "パックを購入しました", datas.ToArray(), gameObject, 1);
        }
    }
Exemplo n.º 9
0
        /// <summary>
        /// ローカル保存にはsave()必要
        /// </summary>
        public static void AddCard(int _atr, int _id, int _count)
        {
            var boxDat = DataManager.Instance.box;

            int cdnum = boxDat.FindIndex(x => x.Atr == _atr && x.ID == _id);


            //存在していなければ新規
            if (cdnum == -1)
            {
                CardData cd = new CardData().Set(_atr, _id, 1, _count);
                DataManager.Instance.box.Add(cd);
            }
            else
            {
                //存在していれば追加
                CardData cd = DataManager.Instance.box[cdnum];
                cd.Count += _count;
                DataManager.Instance.box [cdnum] = cd;
            }


//			//ユニークなidをつける
//			int uid = 0;
//			bool unique = true;
//			do {
//				uid = Random.Range (0, 999999);
//				for (int i = 0; i < boxDat.Count; i++) {
//					if (boxDat [i].uid == uid) {
//						unique = false;
//						break;
//					}
//				}
//			} while(unique == false);
            //カードを追加
//			var cd = new CardData ().Set (_atr, _id, _lv, 1, uid);
//			DataManager.Instance.box.Add (cd);

//			DataManager.Instance.Save ();
        }
Exemplo n.º 10
0
    public void Refresh(CardData _cd, bool _DeckMode)
    {
        //テキスト

        //タイトル
        XLS_CardParam.Param param = DataManager.Instance.GetCardParam(_cd);


        string Title = System.String.Format
                           ("{0} LV.{1} ", new string[] { param.name, _cd.LV.ToString() });

        //調整
        CardDataText.fontSize = SkillTextSize;
        CardDataText.text     = Title;
        //文字色
//		if (!_DeckMode) {
//			if (DataManager.Deck.ContainCard (DataManager.Instance.UseDeck, _cd.uid)) {
//				CardDataText.color = new Color(0f,1f,1f);
//			} else {
//				CardDataText.color = Color.white;
//			}
//		}

//		if (_inDeck)
//			CardDataText.color = new Color(0f,1f,1f);
//		else
//			CardDataText.color = Color.white;
        //カードイメージ
        CardImage.Set(new SystemScript.CardParam().Set(_cd));
        //ノードタップ時
        GetComponent <Button> ().onClick.RemoveAllListeners();
        GetComponent <Button> ().onClick.AddListener(() => AleartNotify(nowIndex, 0));
        //詳細ボタンタップ時
        InfoButton.onClick.RemoveAllListeners();
        InfoButton.onClick.AddListener(() => AleartNotify(nowIndex, -1));
    }
Exemplo n.º 11
0
 public XLS_CardParam.Param GetCardParam(CardData _cd)
 {
     return(xls_CardParam.sheets [_cd.Atr].list [_cd.ID]);
 }
Exemplo n.º 12
0
//		public static CardData GetCard (int _deckNum,int _atr,int _ID) {
//			//デッキに入っていなければ、Boxから取ってきて個数だけ変えて返す。
//
//			string key = SystemScript.GetKey (_atr, _ID);
//			if (DataManager.Instance.decks [_deckNum].ContainsKey (key)) {
//				return DataManager.Instance.decks [_deckNum] [key];
//			} else {
//				CardData cd = DataManager.Box.GetCard (_atr, _ID);
//				cd.Count = 0;
//				return cd;
//			}
//		}
        /// <summary>
        /// デッキに入れる枚数をCountに設定した数にする
        /// </summary>

        public static void SetCard(int _deckNum, int _atr, int _id, bool _Set)
        {
            int maxSameName = 3;

            var decks = DataManager.Instance.decks;

            while (decks.Count <= _deckNum || decks.Count < 30)             //デッキ枠が足りてなければ作る。
            {
                decks.Add(new List <CardData>());
            }

            List <CardData> deck = DataManager.Instance.decks[_deckNum];

            int cardIndex = deck.FindIndex(x => x.Atr == _atr && x.ID == _id);

//			int cardIndex = GetCardIndex (deck, _atr, _id);

            if (cardIndex == -1)
            {
                //追加
                if (_Set)
                {
                    deck.Add(new CardData().Set(_atr, _id, -1, 1, 0));
                }
            }
            else
            {
                //枚数修正
                CardData cd = deck [cardIndex];
                if (_Set && cd.Count < maxSameName)                  //追加
                {
                    cd.Count++;
                    deck [cardIndex] = cd;
                }
                if (!_Set && 0 < cd.Count)                  //外す
                {
                    if (cd.Count == 1)                      //0枚になるときは削除
                    {
                        deck.RemoveAt(cardIndex);
                    }
                    else
                    {
                        cd.Count--;
                        deck [cardIndex] = cd;
                    }
                }
            }

//			decks [_deckNum] = deck;
//
//
//			for (int i = 0; i < deck.Count; i++ ){
//				if (deck [i] == _unique_id) {
//					if (!_Set) {
//						deck.RemoveAt (i);
//						//						DataManager.Instance.Save ();
//						return;
//					} else {
//						Debug.LogError ("すでに入っているカード"+_unique_id);
//						return;
//					}
//				}
//			}
//			deck.Add (_unique_id);
            //			DataManager.Instance.Save ();
        }