// Start is called before the first frame update void Start() { _pool = new Pool <GameObject>(); var allocator = new GameObjectAllocator(); _pool.SetTemplate(Instantiate(Template), allocator); }
public IEnumerator Test() { var pool = new Pool <GameObject>(); var tmp = GameObject.CreatePrimitive(PrimitiveType.Cube); var allc = new GameObjectAllocator(); allc.SetTemplate(tmp); pool.SetAllocator(allc); yield return(new WaitForSeconds(1)); // var o1 = pool.Spawn(); Assert.IsNotNull(o1); yield return(new WaitForSeconds(1)); pool.Recycle(o1); yield return(new WaitForSeconds(1)); pool.Reserve(10); Assert.AreEqual(10, pool.Count); yield return(new WaitForSeconds(3)); o1 = pool.Spawn(); Assert.IsNotNull(o1); Assert.AreEqual(9, pool.Count); yield return(new WaitForSeconds(1)); pool.Clear(); Assert.AreEqual(0, pool.Count); yield return(new WaitForSeconds(3)); pool.Dispose(); yield return(new WaitForSeconds(3)); }
public void Setup() { new YX.EventManager(); DB = new MockDB(); CardPool = new Pool <GameObject>(); var tmp = Instantiate(Resources.Load <GameObject>("view/card/TCard")); var allocator = new GameObjectAllocator(); CardPool.SetTemplate(tmp, allocator); DontDestroyOnLoad(allocator.CacheRoot); LevelLoader = gameObject.AddComponent <LevelLoader>(); ProcessMgr = new ProcessManager(); // _stateDict.Add(StateType.MainMenu, new MainMenuState()); _stateDict.Add(StateType.WorldMap, new WorldMapState()); _stateDict.Add(StateType.Battle, new BattleState()); }