diff Assets/Application/Scripts/StageManager.cs @ 12:b55d586dd4eb

change bind from fmap.
author Kazuma Takeda
date Tue, 07 Feb 2017 20:48:57 +0900
parents cf20add31466
children
line wrap: on
line diff
--- a/Assets/Application/Scripts/StageManager.cs	Sat Jan 28 19:15:44 2017 +0900
+++ b/Assets/Application/Scripts/StageManager.cs	Tue Feb 07 20:48:57 2017 +0900
@@ -51,7 +51,7 @@
 		baseStage.transform.position = Vector3.zero;
 		GameObject.FindGameObjectWithTag ("Player").transform.SetParent (baseStage.transform);
 
-		jungle = SaveDataTest.jungle;
+		jungle = SaveData.jungle;
 		CreateStage (15);
 	}
 
@@ -85,14 +85,34 @@
 		TreeNode item_node = getItem (box_node, ItemID);
 
 		attr = item_node.getAttributes ();
-		ItemInfo iteminfo = attr.get<ItemInfo> ("ItemInfo");
+		BoxItemInfo iteminfo = attr.get<BoxItemInfo> ("BoxItemInfo");
 
 		GameObject item = Resources.Load<GameObject> ("Prefabs/" + type + "/Box");
 		GameObject obj = Instantiate (item);
-		obj.GetComponent<Item> ().SetItem (iteminfo ,TotalIndex);
+		obj.GetComponent<BoxItem> ().SetItem (iteminfo ,TotalIndex);
 		obj.transform.position = new Vector3 (v.x, v.y, v.z);
 		obj.transform.SetParent (baseStage.transform);
-		obj.GetComponent<Item> ().SetCreateTreeNode ();
+		obj.GetComponent<BoxItem> ().SetCreateTreeNode ();
+
+		AddTotalIndex ();
+	}
+
+	public void CreateFood (GameObject target, int ItemID) {
+		TreeNode food_node = getTypeItem (1);
+		Attributes attr = food_node.getAttributes ();
+		string type = attr.getString ("Category");
+
+		TreeNode item_node = getItem (food_node, ItemID);
+
+		attr = item_node.getAttributes ();
+		FoodItemInfo iteminfo = attr.get<FoodItemInfo> ("FoodItemInfo");
+
+		GameObject item = Resources.Load<GameObject> ("Prefabs/" + type + "/" + iteminfo.Type);
+		GameObject obj = Instantiate (item);
+		obj.GetComponent<FoodItem> ().SetItem (iteminfo , TotalIndex);
+		obj.transform.position = target.transform.position + Vector3.up;
+		obj.transform.SetParent (baseStage.transform);
+		obj.GetComponent<FoodItem> ().SetCreateTreeNode ();
 
 		AddTotalIndex ();
 	}
@@ -105,13 +125,14 @@
 		GameObject obj = Instantiate (Resources.Load<GameObject> ("Prefabs/" + type + "/Box"));
 		obj.transform.position = new Vector3 (v.x, v.y, v.z);
 		obj.transform.SetParent (baseStage.transform);
-		obj.GetComponent<Item> ().SetCreateTreeNode ();
+		obj.GetComponent<BoxItem> ().SetCreateTreeNode ();
 		SetY(obj, box_node);
 		AddTotalIndex ();
 	}
 
+	// Box is 0, Food is 1.
 	public TreeNode getTypeItem (int typeID) {
-		jungle = SaveDataTest.jungle;
+		jungle = SaveData.jungle;
 		JungleTree tree = jungle.getTreeByName ("ItemTree");
 		TreeNode node = tree.getRootNode ();
 		Children child = node.getChildren ();
@@ -119,8 +140,8 @@
 	}
 
 	public TreeNode getItem (TreeNode node, int itemID) {
-		Children box_child = node.getChildren ();
-		TreeNode item_node = box_child.at (itemID).b ();
+		Children child = node.getChildren ();
+		TreeNode item_node = child.at (itemID).b ();
 		return item_node;
 	}
 
@@ -159,6 +180,8 @@
 
 		if(y > _maxHeight * 0.3f){ // grass
 			item_id = 0;
+			// Randomで回復をつくる
+			CreateRandomFood(cube);
 		}
 		else if(y > _maxHeight * 0.2f){ // maguma
 			item_id = 1;
@@ -170,12 +193,16 @@
 		TreeNode item_node = getItem (node, item_id);
 		Attributes attr = item_node.getAttributes ();
 
-//		string subType = attr.getString ("Type");
-//		string broken = attr.getString ("Broken");
-//		string color_code = attr.getString ("Color");
+		BoxItemInfo item = attr.get<BoxItemInfo>("BoxItemInfo");
+
+		cube.GetComponent<BoxItem> ().SetItem (item, TotalIndex);
+	}
 
-		ItemInfo item = attr.get<ItemInfo>("ItemInfo");
+	public void CreateRandomFood(GameObject obj) {
+		int ran = UnityEngine.Random.Range (1, 11);
 
-		cube.GetComponent<Item> ().SetItem (item, TotalIndex);
+		if (ran == 10) {
+			CreateFood (obj, 0);
+		}
 	}
 }