Exemple #1
0
            PartOfWorldView CreatePooledObject(Controllers.PlayerLeavePartOfWorldSignal playerLeavePartOfWorldSignal)
            {
                PartOfWorldView newPart = Instantiate(GameWorldModel.Instance.PartOfWorldPrefab);

                pooledObjects.Add(newPart);
                newPart.gameObject.SetActive(false);
                newPart.InitSignal(playerLeavePartOfWorldSignal);
                return(newPart);
            }
Exemple #2
0
            public PartOfWorldView CreateNewPart(Controllers.PlayerLeavePartOfWorldSignal playerLeavePartOfWorldSignal)
            {
                InitializePool(playerLeavePartOfWorldSignal);

                PartOfWorldView newPart = pooledObjects.Find(nowPart => !nowPart.gameObject.activeInHierarchy);

                if (newPart == null)
                {
                    newPart = CreatePooledObject(playerLeavePartOfWorldSignal);
                }

                newPart.gameObject.SetActive(true);
                return(newPart);
            }
Exemple #3
0
            private void InitializePool(Controllers.PlayerLeavePartOfWorldSignal playerLeavePartOfWorldSignal)
            {
                if (pooledObjects != null)
                {
                    return;
                }

                pooledObjects = new List <PartOfWorldView>();

                for (int nowObjectIndex = 0; nowObjectIndex < startPoolSize; nowObjectIndex++)
                {
                    CreatePooledObject(playerLeavePartOfWorldSignal);
                }
            }