Mercurial > hg > Database > jungle-sharp
view Main/jungle-network/core/NetworkDefaultJungle.cs @ 20:1f99e150f336
fix folder and add Object Mapper.
author | Kazuma Takeda |
---|---|
date | Thu, 15 Dec 2016 22:52:48 +0900 |
parents | |
children | f2ea780b3e80 |
line wrap: on
line source
using UnityEngine; using System.Collections; using System.Collections.Generic; namespace JungleDB { public class NetworkDefaultJungle : Jungle { private Journal Journal; private TreeMap<string, JungleTree> Trees; private string Uuid; private TreeEditor Editor; public NetworkDefaultJungle(Journal jou, string uid, TreeEditor edit) { this.Journal = jou; this.Trees = new TreeMap<string, JungleTree>(); this.Uuid = uid; this.Editor = edit; } public JungleTree getTreeByName (string name) { return Trees.get(name); } public JungleTree createNewTree(string name) { ChangeList list = new InnerChangeList(this.Uuid, name); TreeNode root = new DefaultTreeNode(); InterfaceTraverser traverser = new InterfaceTraverser(root, true); TreeContext tc = new DefaultTreeContext(root, null, list, this.Uuid, name, 0, traverser); JungleTree newTree = new NetworkDefaultJungleTree(name, tc, this.Uuid, Journal.getWriter(), this.Editor); if (Trees.put(name, newTree) != null) { return null; } return newTree; } public class InnerChangeList : ChangeList { string uuid; string name; IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } public IEnumerator<TreeOperation> GetEnumerator() { return iterator (); } // construct public InnerChangeList(string _uuid, string _name) { this.uuid = _uuid; this.name = _name; } public IEnumerator<TreeOperation> iterator() { List<TreeOperation> nil = new List<TreeOperation>(); return nil.iterator(); } public string uuids() { return uuid; } public string getTreeName() { return name; } public TreeOperationLog getLog() { return new DefaultTreeOperationLog(); } } } }