void Start() { { TestSingletonTree <TestTreeA> tree = new TestSingletonTree <TestTreeA>(); { TempDataA tempDataA = tree.Get <TempDataA>(); Debug.Log(tempDataA.A); } { TempDataA1 tempDataA1 = tree.Get <TempDataA1>(); Debug.Log(tempDataA1.A1); } } { TestSingletonTree <TestTreeAA> tree = new TestSingletonTree <TestTreeAA>(); { TempDataA tempDataA = tree.Get <TempDataA>(); Debug.Log(tempDataA.A); } { TempDataA1 tempDataA1 = tree.Get <TempDataA1>(); Debug.Log(tempDataA1.A1); } } { TestSingletonTree <TestTreeB> tree = new TestSingletonTree <TestTreeB>(); { TempDataA tempDataA = tree.Get <TempDataA>(); Debug.Log(tempDataA.A); } { TempDataA1 tempDataA1 = tree.Get <TempDataA1>(); Debug.Log(tempDataA1.A1); } } }
protected override void InitNode() { TempDataA tempDataA = new TempDataA(); TempDataA1 tempDataA1 = new TempDataA1(); TempDataB tempDataB = new TempDataB(); SingletonNode a = new SingletonNode(); a.AddInstance(tempDataA); a.AddInstance(tempDataA1); SingletonNode b = new SingletonNode(); b.AddInstance(tempDataB); SingletonNode aa = new SingletonNode(); AddNode(_root, typeof(TestTreeA), a); AddNode(_root, typeof(TestTreeB), b); AddNode(a, typeof(TestTreeAA), aa); }