Mercurial > hg > Database > jungle-sharp
comparison Main/ObjectMapper/SceneNode.cs @ 20:1f99e150f336
fix folder and add Object Mapper.
author | Kazuma Takeda |
---|---|
date | Thu, 15 Dec 2016 22:52:48 +0900 |
parents | |
children | e954d456665c |
comparison
equal
deleted
inserted
replaced
19:0865819106cf | 20:1f99e150f336 |
---|---|
1 using System.Collections; | |
2 using System.Collections.Generic; | |
3 using UnityEngine; | |
4 using System; | |
5 namespace JungleDB { | |
6 [Serializable] | |
7 public class SceneNode { | |
8 | |
9 public GameObject obj; | |
10 public string Name; | |
11 | |
12 public SceneNode m_parent; | |
13 | |
14 [SerializeField] | |
15 public System.Collections.Generic.List<SceneNode> m_childs; | |
16 | |
17 public SceneNode(GameObject obj, SceneNode parent=null){ | |
18 this.obj = obj; | |
19 this.Name = obj.name; | |
20 m_parent = parent; | |
21 m_childs = new System.Collections.Generic.List<SceneNode>(); | |
22 } | |
23 | |
24 public void OnAdded () {} | |
25 | |
26 public void OnRemoved () {} | |
27 | |
28 public bool AddChild (SceneNode toAdd){ | |
29 toAdd.m_parent = this; | |
30 m_childs.Add(toAdd); | |
31 toAdd.OnAdded(); | |
32 return true; | |
33 } | |
34 | |
35 public bool RemoveChild (SceneNode toRemove) { | |
36 toRemove.OnRemoved(); | |
37 return m_childs.Remove(toRemove); | |
38 } | |
39 | |
40 public void RemoveAllChildren () { | |
41 int childcount = m_childs.Count; | |
42 for(int i = 0; i < childcount ;++i){ | |
43 m_childs[i].RemoveAllChildren(); | |
44 } | |
45 | |
46 for(int i = 0; i < childcount ;++i){ | |
47 m_childs[i].OnRemoved(); | |
48 } | |
49 m_childs.Clear(); | |
50 } | |
51 } | |
52 } |