Example #1
0
	public void attack(){

		//Same Daimyo Check
		int latestDaimyoId = kuniIconView.transform.FindChild (dstKuni.ToString ()).GetComponent<SendParam> ().daimyoId;
		GameObject MsgBack = this.transform.FindChild ("MsgBack").gameObject;
		GameObject MsgText = MsgBack.transform.FindChild ("MsgText").gameObject;

		if (dstDaimyoId == latestDaimyoId) {
		
			if (dstDaimyoId != myDaimyoId) {
				int enemyHei = heiryokuCalc (dstKuni);

				//Engun
				int engunTotalHei = 0;
				if(dstEngunFlg){
					char[] delimiterChars2 = {':'};
					List<string> engunHeiList = new List<string>();
					engunHeiList = new List<string> (dstEngunHei.Split (delimiterChars2));

					for(int k=0; k<engunHeiList.Count; k++){
						engunTotalHei = engunTotalHei + int.Parse(engunHeiList[k]);
					}
				}

				enemyHei = enemyHei + engunTotalHei;

				int ratio = 0;
				if ((myHei + enemyHei) != 0) {
					ratio = 100 * myHei / (myHei + enemyHei);
					if (ratio < 1) {
						ratio = 1;
					}	
				}

				MainEventHandler kassenEvent = new MainEventHandler ();
				bool winFlg = kassenEvent.CheckByProbability (ratio);

				Entity_kuni_mst kuniMst = Resources.Load ("Data/kuni_mst") as Entity_kuni_mst;
				string dstKuniName = kuniMst.param [dstKuni - 1].kuniName;

				//Gaikou
				Gaikou gaikou = new Gaikou();
				gaikou.downGaikouByAttack(srcDaimyoId,dstDaimyoId);

				if (winFlg) {
					bool noGunzeiFlg = false;
					string syouhai = srcDaimyoName + "\t" + dstKuniName + "を攻略";
					MsgBack.GetComponent<Image> ().enabled = true;
					MsgText.GetComponent<Text> ().enabled = true;
					MsgText.GetComponent<Text> ().text = syouhai;
					if (leftFlg == true) {
						MsgText.transform.localScale = new Vector2 (-0.12f, 0.17f);
					}

					win (key, srcDaimyoId, dstDaimyoId, noGunzeiFlg);

				} else {
					string syouhai = dstDaimyoName + "\t" + dstKuniName + "を防衛";
					MsgBack.GetComponent<Image> ().enabled = true;
					MsgText.GetComponent<Text> ().enabled = true;
					MsgText.GetComponent<Text> ().text = syouhai;
					if (leftFlg == true) {
						MsgText.transform.localScale = new Vector2 (-0.12f, 0.17f);
					}
					gameObject.GetComponent<GunzeiFadeOut> ().enabled = true;

					MainStageController main = new MainStageController ();
					main.deleteKeyHistory (key);
				}
			
			} else {
				MyDaimyoWasAttacked atked = new MyDaimyoWasAttacked ();
				atked.wasAttacked (key, srcKuni, dstKuni, srcDaimyoId, dstDaimyoId, dstEngunFlg, dstEngunDaimyoId, dstEngunSts);
			}
		} else {

			string syouhai = srcDaimyoName + "撤退";
			MsgBack.GetComponent<Image> ().enabled = true;
			MsgText.GetComponent<Text> ().enabled = true;
			MsgText.GetComponent<Text> ().text = syouhai;
			if (leftFlg == true) {
				MsgText.transform.localScale = new Vector2 (-0.12f, 0.17f);
			}
			gameObject.GetComponent<GunzeiFadeOut> ().enabled = true;
			
			MainStageController main = new MainStageController ();
			main.deleteKeyHistory (key);
		}
	}
Example #2
0
    public void attack()
    {
        audioSources = GameObject.Find("SEController").GetComponents <AudioSource> ();

        //Same Daimyo Check
        int        latestDaimyoId = kuniIconView.transform.FindChild(dstKuni.ToString()).GetComponent <SendParam> ().daimyoId;
        GameObject MsgBack        = this.transform.FindChild("MsgBack").gameObject;
        GameObject MsgText        = MsgBack.transform.FindChild("MsgText").gameObject;

        if (dstDaimyoId == latestDaimyoId)
        {
            if (dstDaimyoId != myDaimyoId)
            {
                audioSources [7].Play();

                int enemyHei = heiryokuCalc(dstKuni);

                //Engun
                int engunTotalHei = 0;
                if (dstEngunFlg)
                {
                    char[]        delimiterChars2 = { ':' };
                    List <string> engunHeiList    = new List <string>();
                    engunHeiList = new List <string> (dstEngunHei.Split(delimiterChars2));

                    for (int k = 0; k < engunHeiList.Count; k++)
                    {
                        engunTotalHei = engunTotalHei + int.Parse(engunHeiList[k]);
                    }
                }

                enemyHei = enemyHei + engunTotalHei;

                int ratio = 0;
                if ((myHei + enemyHei) != 0)
                {
                    ratio = 100 * myHei / (myHei + enemyHei);
                    if (ratio < 1)
                    {
                        ratio = 1;
                    }
                }

                MainEventHandler kassenEvent = new MainEventHandler();
                bool             winFlg      = kassenEvent.CheckByProbability(ratio);

                //Entity_kuni_mst kuniMst = Resources.Load ("Data/kuni_mst") as Entity_kuni_mst;
                KuniInfo kuniScript  = new KuniInfo();
                string   dstKuniName = kuniScript.getKuniName(dstKuni);

                //Gaikou
                Gaikou gaikou = new Gaikou();
                gaikou.downGaikouByAttack(srcDaimyoId, dstDaimyoId);

                if (winFlg)
                {
                    bool   noGunzeiFlg = false;
                    string syouhai     = "";
                    if (Application.systemLanguage != SystemLanguage.Japanese)
                    {
                        syouhai = srcDaimyoName + "\n" + "Conquered " + dstKuniName;
                    }
                    else
                    {
                        syouhai = srcDaimyoName + "\n" + dstKuniName + "を攻略";
                    }
                    MsgBack.GetComponent <Image> ().enabled = true;
                    MsgText.GetComponent <Text> ().enabled  = true;
                    MsgText.GetComponent <Text> ().text     = syouhai;

                    win(key, srcDaimyoId, dstDaimyoId, noGunzeiFlg, dstKuni);

                    fire(dstKuni);
                }
                else
                {
                    string syouhai = "";
                    if (Application.systemLanguage != SystemLanguage.Japanese)
                    {
                        syouhai = dstDaimyoName + "\n" + "Defended " + dstKuniName;
                    }
                    else
                    {
                        syouhai = dstDaimyoName + "\n" + dstKuniName + "を防衛";
                    }
                    MsgBack.GetComponent <Image> ().enabled = true;
                    MsgText.GetComponent <Text> ().enabled  = true;
                    MsgText.GetComponent <Text> ().text     = syouhai;

                    gameObject.GetComponent <GunzeiFadeOut> ().enabled = true;

                    MainStageController main = new MainStageController();
                    main.deleteKeyHistory(key);
                }
            }
            else
            {
                MyDaimyoWasAttacked atked = new MyDaimyoWasAttacked();
                atked.wasAttacked(key, srcKuni, dstKuni, srcDaimyoId, dstDaimyoId, dstEngunFlg, dstEngunDaimyoId, dstEngunSts);
            }
        }
        else
        {
            audioSources [1].Play();
            string syouhai = "";
            if (Application.systemLanguage != SystemLanguage.Japanese)
            {
                syouhai = srcDaimyoName + " withdrawed";
            }
            else
            {
                syouhai = srcDaimyoName + "撤退";
            }
            MsgBack.GetComponent <Image> ().enabled = true;
            MsgText.GetComponent <Text> ().enabled  = true;
            MsgText.GetComponent <Text> ().text     = syouhai;

            gameObject.GetComponent <GunzeiFadeOut> ().enabled = true;

            MainStageController main = new MainStageController();
            main.deleteKeyHistory(key);
        }
    }
	// Use this for initialization
	public void Start () {


		Resources.UnloadUnusedAssets ();

		//Data Initialization
		//DataMaker data = new DataMaker ();
		//data.Start ();

		/*Initial Data*/
		bool initDataFlg = PlayerPrefs.GetBool ("initDataFlg");
		if (initDataFlg == false) {
			//my daimyo
			InitDataMaker initData = new InitDataMaker ();
			initData.makeInitData ();
		}

		Entity_kuni_mst kuniMst = Resources.Load ("Data/kuni_mst") as Entity_kuni_mst;
		Entity_kuni_mapping_mst kuniMappingMst = Resources.Load ("Data/kuni_mapping_mst") as Entity_kuni_mapping_mst;
		Entity_daimyo_mst daimyoMst = Resources.Load ("Data/daimyo_mst") as Entity_daimyo_mst;

		//Base Info.
		int kuniLv = PlayerPrefs.GetInt ("kuniLv");
		int money = PlayerPrefs.GetInt ("money");
		int busyoDama = PlayerPrefs.GetInt ("busyoDama");
		GameObject.Find ("KuniLvValue").GetComponent<Text> ().text = kuniLv.ToString ();
		GameObject.Find ("MoneyValue").GetComponent<Text> ().text = money.ToString ();
		GameObject.Find ("BusyoDamaValue").GetComponent<Text> ().text = busyoDama.ToString ();

		myDaimyo = PlayerPrefs.GetInt ("myDaimyo");
		string myDaimyoName = daimyoMst.param [myDaimyo - 1].daimyoName;

		GameObject.Find ("DaimyoValue").GetComponent<Text> ().text = myDaimyoName;


		//Kuni List
		string openKuni = PlayerPrefs.GetString ("openKuni");
		List<string> openKuniList = new List<string> ();
		char[] delimiterChars = {','};
		if (openKuni != null && openKuni != "") {
			if (openKuni.Contains (",")) {
				openKuniList = new List<string> (openKuni.Split (delimiterChars));
			} else {
				openKuniList.Add (openKuni);
			}
		}

		GameObject kuniIconView = GameObject.Find ("KuniIconView");

		string clearedKuni = PlayerPrefs.GetString ("clearedKuni");
		List<string> clearedKuniList = new List<string> ();
		if (clearedKuni != null && clearedKuni != "") {
			if (clearedKuni.Contains (",")) {
				clearedKuniList = new List<string> (clearedKuni.Split (delimiterChars));
			} else {
				clearedKuniList.Add (clearedKuni);
			}
		}

		/*View Every Kuni by Master*/
		GameObject KuniMap = GameObject.Find ("KuniMap");

		//Seiryoku Default Setting
		string seiryoku = PlayerPrefs.GetString ("seiryoku");
		List<string> seiryokuList = new List<string> ();
		seiryokuList = new List<string> (seiryoku.Split (delimiterChars));

		//Count my Kuni QTY
		for (int m=0; m<seiryokuList.Count; m++) {
			int seiryokuId = int.Parse (seiryokuList [m]);
			if (seiryokuId == myDaimyo) {
				myKuniQty = myKuniQty + 1;
			}
		}

		//My Doumei
		Color doumeiColor = new Color (100f / 255f, 130f / 255f, 255f / 255f, 255f / 255f); //Blue
		string myDoumei = PlayerPrefs.GetString ("doumei");
		List<string> myDoumeiList = new List<string> ();
		if (myDoumei != null && myDoumei != "") {
			if(myDoumei.Contains(",")){
				myDoumeiList = new List<string> (myDoumei.Split (delimiterChars));
			}else{
				myDoumeiList.Add(myDoumei);
			}
		}

		string kuniPath = "Prefabs/Map/Kuni/";
		for (int i=0; i<kuniMst.param.Count; i++) {
			int kuniId = kuniMst.param [i].kunId;

			string newKuniPath = kuniPath + kuniId.ToString ();
			int locationX = kuniMst.param [i].locationX;
			int locationY = kuniMst.param [i].locationY;

			GameObject kuni = Instantiate (Resources.Load (newKuniPath)) as GameObject;

			kuni.transform.SetParent (kuniIconView.transform);
			kuni.name = kuniId.ToString ();
			kuni.GetComponent<SendParam> ().kuniId = kuniId;
			kuni.GetComponent<SendParam> ().kuniName = kuniMst.param [i].kuniName;
			kuni.transform.localScale = new Vector2 (1, 1);

			//Seiryoku Handling
			int daimyoId = int.Parse (seiryokuList [kuniId - 1]);

			string daimyoName = daimyoMst.param [daimyoId - 1].daimyoName;

			kuni.GetComponent<SendParam> ().daimyoId = daimyoId;
			kuni.GetComponent<SendParam> ().daimyoName = daimyoName;
			int daimyoBusyoIdTemp = daimyoMst.param [daimyoId - 1].busyoId;

			kuni.GetComponent<SendParam> ().daimyoBusyoId = daimyoBusyoIdTemp;

			//Senryoku
			//Count QTY of Enemy Kuni
			int enemyKuniQty = 0;
			for (int l=0; l<seiryokuList.Count; l++) {
				int seiryokuId = int.Parse (seiryokuList [l]);

				if (seiryokuId == daimyoId) {
					enemyKuniQty = enemyKuniQty + 1;
				}
			}

			EnemySenryokuCalc calc = new EnemySenryokuCalc ();
			int busyoQty = 0;
			int busyoLv = 0;
			int butaiQty = 0;
			int butaiLv = 0;

			busyoQty = calc.EnemyBusyoQtyCalc (myKuniQty, enemyKuniQty);
			int senryokuRatio = daimyoMst.param [daimyoId - 1].senryoku;
			busyoLv = calc.EnemyBusyoLvCalc (senryokuRatio);
			butaiQty = calc.EnemyButaiQtyCalc (enemyKuniQty);
			butaiLv = calc.EnemyButaiLvCalc (senryokuRatio);
			
			kuni.GetComponent<SendParam> ().busyoQty = busyoQty;
			kuni.GetComponent<SendParam> ().busyoLv = busyoLv;
			kuni.GetComponent<SendParam> ().butaiQty = butaiQty;
			kuni.GetComponent<SendParam> ().butaiLv = butaiLv;
			kuni.GetComponent<SendParam>().kuniQty = enemyKuniQty;

			//Color Handling
			float colorR = (float)daimyoMst.param [daimyoId - 1].colorR;
			float colorG = (float)daimyoMst.param [daimyoId - 1].colorG;
			float colorB = (float)daimyoMst.param [daimyoId - 1].colorB;
			Color kuniColor = new Color (colorR / 255f, colorG / 255f, colorB / 255f, 255f / 255f);
		
			KuniMap.transform.FindChild (kuni.name).GetComponent<Image> ().color = kuniColor;

			//Daimyo Kamon Image
			string imagePath = "Prefabs/Kamon/" + daimyoId.ToString ();
			kuni.GetComponent<Image> ().sprite = 
				Resources.Load (imagePath, typeof(Sprite)) as Sprite;



			RectTransform kuniTransform = kuni.GetComponent<RectTransform> ();
			kuniTransform.anchoredPosition = new Vector3 (locationX, locationY, 0);

			//My Doumei Check
			if (myDoumei != null && myDoumei != "") {
				if(myDoumeiList.Contains(daimyoId.ToString())){
					kuni.GetComponent<SendParam> ().doumeiFlg = true;
					kuni.GetComponent<Image>().color = doumeiColor;
				}
			}

			//My daimyo Check
			if(daimyoId==myDaimyo){
				string myDaimyoPath = "Prefabs/Kamon/MyDaimyoKamon/" + myDaimyo.ToString ();
				kuni.GetComponent<Image> ().sprite = 
				Resources.Load (myDaimyoPath, typeof(Sprite)) as Sprite;
				kuni.GetComponent<SendParam> ().clearFlg = true;
			}
		}

		//Color Change for kuni icon "Open but never cleared"
		Color openKuniColor = new Color (255f / 255f, 255f / 255f, 0f / 255f, 255f / 255f); //Yellow

		for (int i=0; i<openKuniList.Count; i++) {
			string openKuniId = openKuniList [i];

			//Flg Change
			GameObject targetOpenKuni = GameObject.Find ("KuniIconView").transform.FindChild (openKuniId).gameObject;
			targetOpenKuni.GetComponent<SendParam> ().openFlg = true;
			bool doumeiFlg = targetOpenKuni.GetComponent<SendParam>().doumeiFlg;

			//Color Change
			if (!clearedKuniList.Contains (openKuniId)) {
				if(!doumeiFlg){
					targetOpenKuni.GetComponent<Image> ().color = openKuniColor;
				}
			}
		}



		//Clear Kuni Check
		bool kuniClearedFlg = PlayerPrefs.GetBool ("kuniClearedFlg");
		if (kuniClearedFlg == true) {
			Message msg = new Message (); 
			string Text = "国盗り、祝着至極に御座りますな。\n民から武将珠100個届いておりますぞ。";
			msg.makeMessage (Text);

			//Add Busyo Dama
			busyoDama = busyoDama + 100;
			GameObject.Find ("BusyoDamaValue").GetComponent<Text> ().text = busyoDama.ToString ();

			PlayerPrefs.SetInt ("busyoDama", busyoDama);
			PlayerPrefs.SetBool ("kuniClearedFlg", false);
			PlayerPrefs.Flush ();
		}

		//From Naisei Check
		bool fromNaiseiFlg = PlayerPrefs.GetBool ("fromNaiseiFlg");
		if (fromNaiseiFlg == true) {
			int activeKuniId = PlayerPrefs.GetInt ("activeKuniId");
			GameObject.Find ("KuniIconView").transform.FindChild (activeKuniId.ToString ()).GetComponent<SendParam> ().OnClick ();			
			PlayerPrefs.SetBool ("fromNaiseiFlg", false);
			PlayerPrefs.Flush ();
		}

		/*Timer Handling*/
		//Last Log-In Time
		string timestring = PlayerPrefs.GetString ("lasttime");
		if (timestring == null || timestring == "")
			timestring = System.DateTime.Now.ToString ();
		System.DateTime datetime = System.DateTime.Parse (timestring);
		System.TimeSpan span = System.DateTime.Now - datetime;
		//Last Get Time
		string lastGetTime = PlayerPrefs.GetString ("lastGetTime");
		if (lastGetTime == null || lastGetTime == "") {
			lastGetTime = System.DateTime.Now.ToString ();
			PlayerPrefs.SetString ("lastGetTime", lastGetTime);
			PlayerPrefs.Flush ();
		}
		System.DateTime getdatetime = System.DateTime.Parse (lastGetTime);
		System.TimeSpan getspan = System.DateTime.Now - getdatetime;

		//経過時間を秒,時間で取得
		double spantime = span.TotalSeconds;
		double spanhour = getspan.TotalHours;



		//spantimeでスタミナの回復分を求める
		double staminaDouble = spantime / 300;
		int addHyourou = (int)staminaDouble;
		int amariSec = (int)spantime - (addHyourou * 300);
		amariSec = 300 - amariSec;

		//HyourouMax
		hyourouMax = PlayerPrefs.GetInt ("hyourouMax");
		GameObject.Find ("HyourouMaxValue").GetComponent<Text> ().text = hyourouMax.ToString ();

		//Now Hyourou
		int nowHyourou = PlayerPrefs.GetInt ("hyourou");
		currentHyourou = GameObject.Find ("HyourouCurrentValue").gameObject;
		currentHyourou.GetComponent<Text> ().text = nowHyourou.ToString ();


		//Hyourou Full Check
		if (hyourouMax <= nowHyourou) {
			hyourouFull = true;
			GameObject.Find ("HyourouCurrentValue").GetComponent<Text> ().text = hyourouMax.ToString ();
			PlayerPrefs.SetInt ("hyourou", hyourouMax);
			PlayerPrefs.Flush ();

		} else {

			if (addHyourou > 0) {
				int newHyourou = nowHyourou + addHyourou;

				if (hyourouMax <= newHyourou) {
					hyourouFull = true;
					PlayerPrefs.SetInt ("hyourou", hyourouMax);
					PlayerPrefs.Flush ();
					GameObject.Find ("HyourouCurrentValue").GetComponent<Text> ().text = hyourouMax.ToString ();

				} else {
					hyourouFull = false;
					PlayerPrefs.SetInt ("hyourou", newHyourou);
					PlayerPrefs.Flush ();
					GameObject.Find ("HyourouCurrentValue").GetComponent<Text> ().text = newHyourou.ToString ();

					//Timer
					GameObject.Find ("TimerValue").GetComponent<Text> ().text = amariSec.ToString ();
					timer = (float)amariSec;
				}

				//終了時の処理
				// 現在の時刻を取得
				System.DateTime now = System.DateTime.Now;
				// 文字列に変換して保存
				PlayerPrefs.SetString ("lasttime", now.ToString ());
				PlayerPrefs.Flush ();

			} else {
				hyourouFull = false;
				PlayerPrefs.SetInt ("hyourou", nowHyourou);
				PlayerPrefs.Flush ();
				GameObject.Find ("HyourouCurrentValue").GetComponent<Text> ().text = nowHyourou.ToString ();

				//Timer
				GameObject.Find ("TimerValue").GetComponent<Text> ().text = amariSec.ToString ();
				timer = (float)amariSec;
			}
		}

		//Year Handling
		string yearSeason = PlayerPrefs.GetString ("yearSeason");

		string[] yearSeasonList = yearSeason.Split (delimiterChars);

		GameObject.Find ("YearValue").GetComponent<Text> ().text = yearSeasonList [0];

		int seasonId = int.Parse (yearSeasonList [1]);
		if (seasonId == 1) {
			GameObject.Find ("SeasonValue").GetComponent<Text> ().text = "春";
		} else if (seasonId == 2) {
			GameObject.Find ("SeasonValue").GetComponent<Text> ().text = "夏";
		} else if (seasonId == 3) {
			GameObject.Find ("SeasonValue").GetComponent<Text> ().text = "秋";
		} else if (seasonId == 4) {
			GameObject.Find ("SeasonValue").GetComponent<Text> ().text = "冬";
		}

		//Cyosyu Flg
		cyosyuFlg = PlayerPrefs.GetBool ("cyosyuFlg");

		double spansec = getspan.TotalSeconds;
		cyosyuTimer = cyosyuMstTime - spansec;

		if (cyosyuTimer <= 0.0f) {
			cyosyuFlg = true;
		} else {
			cyosyuFlg = false;
		}

		if (cyosyuFlg == true) {
			GameObject.Find ("SeiryokuInfo").transform.FindChild ("Ex").GetComponent<Image> ().enabled = true;
		} else {
			GameObject.Find ("SeiryokuInfo").transform.FindChild ("Ex").GetComponent<Image> ().enabled = false;
		}


		/*--------------------*/
		/*Gunzei*/
		/*--------------------*/
		string keyHistory = PlayerPrefs.GetString ("keyHistory");
		List<string> keyHistoryList = new List<string> ();
		if (keyHistory != null && keyHistory != "") {
			if(keyHistory.Contains(",")){
				keyHistoryList = new List<string> (keyHistory.Split (delimiterChars));
			}else{
				keyHistoryList.Add(keyHistory);
			}
		}

		for(int n=0; n<keyHistoryList.Count; n++){
			string keyTemp = keyHistoryList[n];
			string keyValue = PlayerPrefs.GetString (keyTemp);

			if(keyValue != null){
				List<string> keyValueList = new List<string> ();
				keyValueList = new List<string> (keyValue.Split (delimiterChars));

				string gunzeiTime = keyValueList[0];
				System.DateTime gunzeiDatetime = System.DateTime.Parse (gunzeiTime);
				System.TimeSpan gunzeiSpan = System.DateTime.Now - gunzeiDatetime;
				double gunzeiSpantime = gunzeiSpan.TotalSeconds;

				double remainTime = 0;
				List<string> srcDstKuniList = new List<string> ();
				char[] keyDelimiterChars = {'-'};
				srcDstKuniList = new List<string> (keyTemp.Split (keyDelimiterChars));
				int srcDaimyoId = int.Parse(keyValueList[1]);
				int dstDaimyoId = int.Parse(keyValueList[2]);
				int srcKuni = int.Parse(srcDstKuniList[0]);
				int dstKuni = int.Parse(srcDstKuniList[1]);
				bool dstEngunFlg = bool.Parse(keyValueList[9]);
				string dstEngunDaimyoId = keyValueList[10];
				string dstEngunHei = keyValueList[11];
				string dstEngunSts = keyValueList[12];

				if(gunzeiSpantime >= 300){
					//Has past
					//Simulation
					Gunzei gunzei = new Gunzei();

					if (dstDaimyoId != myDaimyo) {
						int enemyHei = gunzei.heiryokuCalc (int.Parse(srcDstKuniList[1]));

						int engunTotalHei = 0;
						if(dstEngunFlg){
							char[] delimiterChars2 = {':'};
							List<string> engunHeiList = new List<string>();
							engunHeiList = new List<string> (dstEngunHei.Split (delimiterChars2));
							
							for(int k=0; k<engunHeiList.Count; k++){
								engunTotalHei = engunTotalHei + int.Parse(engunHeiList[k]);
							}
						}
						
						enemyHei = enemyHei + engunTotalHei;

						int ratio = 0;
						int myHei = int.Parse(keyValueList[5]);
						if((myHei + enemyHei)>0){
							ratio = 100 * myHei / (myHei + enemyHei);
							if (ratio < 1) {
								ratio = 1;
							}
						}

						MainEventHandler kassenEvent = new MainEventHandler ();
						bool winFlg = kassenEvent.CheckByProbability (ratio);

						if (winFlg) {
							bool noGunzeiFlg = true;
							gunzei.win (keyTemp, int.Parse(keyValueList[1]), int.Parse(keyValueList[2]),noGunzeiFlg);
							
						} else {
							deleteKeyHistory(keyTemp);
						}
					}else{
						MyDaimyoWasAttacked atked = new MyDaimyoWasAttacked();
						atked.wasAttacked(keyTemp, srcKuni, dstKuni, srcDaimyoId, dstDaimyoId, dstEngunFlg, dstEngunDaimyoId,dstEngunSts);

					}

				}else{

					//View Previous
					string path = "Prefabs/Map/Gunzei";
					GameObject Gunzei = Instantiate (Resources.Load (path)) as GameObject;			
					Gunzei.transform.SetParent (GameObject.Find ("Panel").transform);

					Gunzei.GetComponent<Gunzei>().key = keyTemp;

					Gunzei.GetComponent<Gunzei>().srcKuni = int.Parse(srcDstKuniList[0]);
					Gunzei.GetComponent<Gunzei>().dstKuni = int.Parse(srcDstKuniList[1]);
					Gunzei.GetComponent<Gunzei>().spantime = gunzeiSpantime;
					Gunzei.GetComponent<Gunzei>().srcDaimyoId = srcDaimyoId;
					Gunzei.GetComponent<Gunzei>().dstDaimyoId = dstDaimyoId;
					Gunzei.GetComponent<Gunzei>().srcDaimyoName = keyValueList[3];
					Gunzei.GetComponent<Gunzei>().dstDaimyoName = keyValueList[4];
					Gunzei.GetComponent<Gunzei>().myHei = int.Parse(keyValueList[5]);
					Gunzei.GetComponent<Gunzei>().dstEngunFlg = bool.Parse(keyValueList[9]);
					Gunzei.GetComponent<Gunzei>().dstEngunDaimyoId = keyValueList[10];
					Gunzei.GetComponent<Gunzei>().dstEngunHei = keyValueList[11];
					Gunzei.GetComponent<Gunzei>().dstEngunSts = keyValueList[12];
					Gunzei.name = keyTemp;

					RectTransform GunzeiTransform = Gunzei.GetComponent<RectTransform> ();
					GunzeiTransform.anchoredPosition = new Vector3 (int.Parse(keyValueList[6]), int.Parse(keyValueList[7]), 0);

					if(keyValueList[8] == "right"){
						Gunzei.transform.localScale = new Vector2 (1, 1);
					}else{
						Gunzei.transform.localScale = new Vector2 (-1, 1);
						Gunzei.GetComponent<Gunzei>().leftFlg = true;
					}
				}
			}else{
				PlayerPrefs.DeleteKey(keyTemp);
				PlayerPrefs.Flush();
			
			}
		}

		//Metsubou Flg Check
		if (PlayerPrefs.HasKey ("metsubou")) {
			string metsubou = PlayerPrefs.GetString ("metsubou");
			List<string> metsubouList = new List<string> ();
			if (metsubou.Contains (",")) {
				metsubouList = new List<string> (metsubou.Split (delimiterChars));
			} else {
				metsubouList.Add (metsubou);
			}
			
			//Metsubou Message
			string pathOfBack = "Prefabs/Common/TouchBack";
			GameObject back = Instantiate (Resources.Load (pathOfBack)) as GameObject;
			back.transform.SetParent (GameObject.Find ("Panel").transform);
			back.transform.localScale = new Vector2 (1, 1);
			back.transform.localPosition = new Vector2 (0, 0);
			
			//make board
			string pathOfBoard = "Prefabs/Event/EventBoard";
			GameObject board = Instantiate (Resources.Load (pathOfBoard)) as GameObject;
			board.transform.SetParent (GameObject.Find ("Panel").transform);
			board.transform.localScale = new Vector2 (1, 1);
			
			string pathOfScroll = "Prefabs/Event/Metsubou";
			GameObject scroll = Instantiate (Resources.Load (pathOfScroll)) as GameObject;
			scroll.transform.SetParent (board.transform);
			scroll.transform.localScale = new Vector2 (1, 1);

			string pathOfSlot = "Prefabs/Event/MetsubouSlot";
			GameObject contents = scroll.transform.FindChild ("MetsubouScrollView/MetsubouContent").gameObject;
			char[] delimiterChars2 = {':'};
			foreach (string text in metsubouList) {
				GameObject slot = Instantiate (Resources.Load (pathOfSlot)) as GameObject;
				slot.transform.SetParent (contents.transform);
				List<string> metsubouTextList = new List<string> ();
				metsubouTextList = new List<string> (text.Split (delimiterChars2));
				string srcDaimyoName = daimyoMst.param [int.Parse (metsubouTextList [0]) - 1].daimyoName;
				string dstDaimyoName = daimyoMst.param [int.Parse (metsubouTextList [1]) - 1].daimyoName;
				string metsubouText = dstDaimyoName + "は" + srcDaimyoName + "に滅ぼされました";
				slot.transform.FindChild ("MetsubouText").GetComponent<Text> ().text = metsubouText;
				slot.transform.localScale = new Vector2 (1, 1);
			}
			
			PlayerPrefs.DeleteKey ("metsubou");
			PlayerPrefs.Flush ();
		}





		/*--------------------*/
		/*Enemy Action*/
		/*--------------------*/
		MainEventHandler gameEvent = new MainEventHandler ();
		gameEvent.mainHandler ();


		/*--------------------*/
		/*Game Over*/
		/*--------------------*/
		bool gameOverFlg = PlayerPrefs.GetBool("gameOverFlg");
		if (gameOverFlg) {
			Debug.Log ("gameOver");



		}
	
	}