annotate Assets/Application/Scripts/Item.cs @ 11:cf20add31466

change putAttribute -> use fmap.
author Kazuma Takeda
date Sat, 28 Jan 2017 19:15:44 +0900
parents 3fefb9f9025d
children b55d586dd4eb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
2878be4487ec add Maping Code.
Kazuma
parents:
diff changeset
1 using UnityEngine;
2878be4487ec add Maping Code.
Kazuma
parents:
diff changeset
2 using System.Collections;
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
3 using JungleDB;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
4 using System.Text;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
5 using System;
4
2878be4487ec add Maping Code.
Kazuma
parents:
diff changeset
6 public class Item : MonoBehaviour {
2878be4487ec add Maping Code.
Kazuma
parents:
diff changeset
7
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
8 public string Type;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
9 public GameObject ItemImage;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
10 public int Broken = 2;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
11 private int nowBroken = 2;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
12 public int indexID = 0;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
13 public int itemID = 1;
10
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
14 public string ColorCode = "";
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
15
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
16 private Jungle jungle;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
17
10
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
18 public void SetItem (ItemInfo item, int index) {
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
19 this.Broken = item.Broken;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
20 nowBroken = Broken;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
21 Type = item.Type;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
22 itemID = item.itemID;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
23 indexID = index;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
24 ColorCode = item.ColorCode;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
25 SetColor (this.ColorCode);
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
26 }
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
27
10
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
28 public void SetItem (int broken, string type, string item_id, int index, string code) {
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
29 this.Broken = broken;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
30 nowBroken = Broken;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
31 Type = type;
10
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
32 itemID = Convert.ToInt32(item_id);
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
33 indexID = index;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
34 SetColor (code);
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
35 }
4
2878be4487ec add Maping Code.
Kazuma
parents:
diff changeset
36
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
37 public void SetPosition (Vector3 pos) {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
38 this.transform.position = pos;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
39 // print ("Set (" + pos.x + ", " + pos.y + ", " + pos.z + ")");
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
40 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
41
10
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
42 public void SetColor (string code) {
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
43 Color color;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
44 ColorUtility.TryParseHtmlString(code, out color);
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
45 this.GetComponent<MeshRenderer> ().material.color = color;
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
46 }
3fefb9f9025d put Attribute class.
Kazuma Takeda
parents: 8
diff changeset
47
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
48 public void Delete() {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
49 if (nowBroken == 0) {
11
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
50 DeleteTreeNode ();
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
51 Destroy (this.gameObject);
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
52 return;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
53 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
54
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
55 nowBroken -= 1;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
56 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
57
11
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
58 public void DeleteTreeNode () {
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
59 jungle = SaveDataTest.jungle;
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
60 JungleTree tree = jungle.getTreeByName ("SceneTree");
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
61 JungleTreeEditor edt = tree.getTreeEditor ();
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
62
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
63 NodePath root = new DefaultNodePath ();
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
64 NodePath stagePath = root.add (1);
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
65
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
66 Either<Error, JungleTreeEditor> e = edt.deleteChildAt (stagePath, indexID);
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
67 if (e.isA ()) {
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
68 print ("[Error] Try again!");
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
69 SetCreateTreeNode ();
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
70 }
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
71 edt = e.b ();
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
72 edt.commit ();
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
73 }
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
74
cf20add31466 change putAttribute -> use fmap.
Kazuma Takeda
parents: 10
diff changeset
75
8
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
76 public void SetCreateTreeNode () {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
77 jungle = SaveDataTest.jungle;
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
78 JungleTree tree = jungle.getTreeByName ("SceneTree");
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
79 JungleTreeEditor edt = tree.getTreeEditor ();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
80
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
81 NodePath root = new DefaultNodePath ();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
82 NodePath stagePath = root.add (1);
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
83 edt = edt.addNewChildAt(stagePath, indexID).b();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
84
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
85 Either<Error, JungleTreeEditor> e = edt.putAttribute (stagePath.add (indexID), "Item_ID", Encoding.UTF8.GetBytes(itemID.ToString()));
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
86 if (e.isA ()) {
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
87 print ("[Error] Try again!");
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
88 SetCreateTreeNode ();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
89 }
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
90 edt = e.b ();
599bd8ddb72b Create Item Tree and Create Stage.
Kazuma Takeda
parents: 4
diff changeset
91 edt.commit ();
4
2878be4487ec add Maping Code.
Kazuma
parents:
diff changeset
92 }
2878be4487ec add Maping Code.
Kazuma
parents:
diff changeset
93 }