Mercurial > hg > Database > jungle-sharp
comparison src/main/csharp/jp.ac.u-ryukyu.ie.cr/ObjectMapper/SceneNode.cs @ 19:0865819106cf
add mapping code.
author | Kazuma |
---|---|
date | Mon, 05 Dec 2016 05:28:53 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
18:faa8a0c1492e | 19:0865819106cf |
---|---|
1 using System.Collections; | |
2 using System.Collections.Generic; | |
3 using UnityEngine; | |
4 | |
5 public class SceneNode : MonoBehaviour { | |
6 | |
7 public GameObject obj; | |
8 | |
9 public SceneNode m_parent; | |
10 public System.Collections.Generic.List<SceneNode> m_childs; | |
11 | |
12 public SceneNode(GameObject obj, SceneNode parent=null){ | |
13 this.obj = obj; | |
14 m_parent = parent; | |
15 m_childs = new System.Collections.Generic.List<SceneNode>(); | |
16 } | |
17 | |
18 public void OnAdded () {} | |
19 | |
20 public void OnRemoved () {} | |
21 | |
22 public bool AddChild (SceneNode toAdd){ | |
23 toAdd.m_parent = this; | |
24 m_childs.Add(toAdd); | |
25 toAdd.OnAdded(); | |
26 return true; | |
27 } | |
28 | |
29 public bool RemoveChild (SceneNode toRemove) { | |
30 toRemove.OnRemoved(); | |
31 return m_childs.Remove(toRemove); | |
32 } | |
33 | |
34 public void RemoveAllChildren () { | |
35 int childcount = m_childs.Count; | |
36 for(int i = 0; i < childcount ;++i){ | |
37 m_childs[i].RemoveAllChildren(); | |
38 } | |
39 | |
40 for(int i = 0; i < childcount ;++i){ | |
41 m_childs[i].OnRemoved(); | |
42 } | |
43 m_childs.Clear(); | |
44 } | |
45 } |