annotate Assets/Application/Scripts/SaveData.cs @ 4:2878be4487ec

add Maping Code.
author Kazuma
date Tue, 08 Nov 2016 17:07:48 +0900
parents e5ef0342d00b
children 12f4f937da7f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
1 using UnityEngine;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
2 using System.Collections;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
3
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
4 public class SaveData : MonoBehaviour {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
5
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
6 public static SaveData Instance;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
7
4
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
8 private Jungle mainScene ;
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
9 private JungleTree mainTree;
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
10 private JungleTreeEditor TreeEditor;
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
11 private TreeNode node;
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
12 // Use this for initialization
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
13 void Awake () {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
14 if (Instance == null) {
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
15 Instance = this;
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
16 }
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
17 }
4
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
18
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
19 private void Start () {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
20 JungleStart ();
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
21 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
22
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
23 private void JungleStart () {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
24 Debug.Log ("[Jungle] Start ...");
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
25 mainScene = new DefaultJungle(null, "Main", new DefaultTreeEditor(new DefaultTraverser()));
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
26 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
27
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
28 public void CreateTree (string name) {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
29 mainTree = mainScene.createNewTree (name);
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
30 Debug.Log ("[Jungle] Create " + name + " Tree");
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
31 EditorMode ();
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
32 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
33
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
34 public void EditorMode () {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
35 TreeEditor = mainTree.getTreeEditor ();
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
36 Debug.Log ("[Jungle] Editor Mode" + TreeEditor.ToString());
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
37 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
38
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
39 public void PutAttribute (NodePath path, string key, byte[] value) {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
40 Either<Error, JungleTreeEditor> either = TreeEditor.putAttribute (path, key, value);
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
41 if (either.isA ()) {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
42 Debug.LogError ("[Error]" + either.a());
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
43 } else {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
44 Debug.Log ("[Success]");
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
45 either.b ();
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
46 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
47 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
48
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
49 public void GetAttribute (NodePath path, string key) {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
50 node = mainTree.getNodeOfPath (path).b ();
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
51 byte[] target = node.getAttributes ().get (key);
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
52 var obj = ConvertObject.UnConvert (target);
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
53 print (obj);
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
54 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
55
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
56 public void Push() {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
57 Either<Error, JungleTreeEditor> r = TreeEditor.success();
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
58 if (!r.isA ()) {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
59 Debug.LogError ("[Error]");
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
60 } else {
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
61 Debug.Log ("[Success]");
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
62 TreeEditor = r.b ();
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
63 }
2878be4487ec add Maping Code.
Kazuma
parents: 0
diff changeset
64 }
0
e5ef0342d00b First commit
Kazuma
parents:
diff changeset
65 }