示例#1
0
 Controller(UnityPool pool, IPlayerInfoHolder playerInfoHolder, IGameInfoHolder gameInfoHolder)
 {
     _pool             = pool;
     _playerInfoHolder = playerInfoHolder;
     _gameInfoHolder   = gameInfoHolder;
     _playerInfoHolder.MaxCourseChanged += OpenCourseByNumber;
 }
示例#2
0
        void ClickCB(UnityPool pool)
        {
            GameObject go  = pool.Get();
            var        pos = Mouse.current.position.ReadValue();

            go.transform.SetParent(TopLayer.Node, false);
            RectTransformUtility.ScreenPointToLocalPointInRectangle(TopLayer.Node, pos, UIMgr.Instance.UICamera, out Vector2 relatePos);
            go.transform.GetComponent <RectTransform>().anchoredPosition = relatePos;
        }
示例#3
0
 public Controller(UnityPool pool,
                   IReasonHandler reasonHandler, IPlayerInfoHolder playerInfoHolder, IGameInfoHolder gameInfoHolder)
 {
     _pool                        = pool;
     _playerInfoHolder            = playerInfoHolder;
     _gameInfoHolder              = gameInfoHolder;
     _reasonHandler               = reasonHandler;
     _reasonHandler.ReasonOpened += OpenReason;
 }
示例#4
0
 Controller(IPlayerInfoHolder playerInfoHolder, UnityPool pool, ITasksHandler tasksHandler, ITaskMessagesHandler taskMessagesHandler, IPersonalLifeHandler personalLifeHandler)
 {
     _pool                            = pool;
     _taskMessages                    = new TaskMessage[3];
     _taskMessagesHandler             = taskMessagesHandler;
     _personalLifeHandler             = personalLifeHandler;
     _tasksHandler                    = tasksHandler;
     _playerInfoHolder                = playerInfoHolder;
     _taskMessagesHandler.AddMessage += ShowTaskMessage;
     _tasksHandler.CompleteTask      += HideTask;
 }
        private void Awake()
        {
            var v_transform = transform;

            _pool             = new UnityPool(_bodyPrefab, GlobalConstants.PlayerBodyMaxCapacity, v_transform);
            _playerController = ManagerFactory.Get <PlayerController>();
            _bodyList         = new List <Transform>(GlobalConstants.PlayerBodyMaxCapacity)
            {
                _playerController.transform
            };
            _meshRenderers = new List <MeshRenderer>(GlobalConstants.PlayerBodyMaxCapacity);
        }
示例#6
0
        private void ConstructPools()
        {
            SortSteeringPoolEntries();

            for (int i = 0; i < SteeringPoolEntries.Count; i++)
            {
                UnityPool newPool = UnityPoolTable.instance.AddPool(SteeringPoolEntries[i]);
                newPool.transform.parent = transform;

                _pools.Add(newPool);
            }
        }
示例#7
0
    private void Awake()
    {
        _Instance = this;
        _Pool     = new Queue <GameObject>();

        if (_DoPrewarm)
        {
            Add(_PrewarmCount);
        }

        Debug.Log("Pool for type " + typeof(T).Name + " Objects : " + _Pool.Count);
    }
示例#8
0
    void ConstructPools()
    {
        _infos.Sort((a, b) => a.model.type.CompareTo(b.model.type));

        for (int i = 0; i < _infos.Count; i++)
        {
            GameObject go = new GameObject();
            go.transform.parent = transform;

            UnityPool pool = go.AddComponent <UnityPool>();
            pool.Construct(_infos[i].model, _expand);
            pool.SetSize(_poolCapacity);

            _poolByType.Add(pool);
        }
    }
    private IEnumerator TPObjectPoolSpawnObjects(UnityPool <GameObject> pool)
    {
        isRunning = true;
        GameObject prevObj = pool.Get();

        prevObj.transform.position = RandomSystem.InsideUnitSquare() * 5;
        while (run)
        {
            yield return(ExampleHelper.WaitSecond);

            pool.Push(prevObj);

            prevObj = pool.Get();
            prevObj.transform.position = RandomSystem.InsideUnitSquare() * 5;
            prevObj.SetActive(true);
        }
        isRunning = false;
    }
 protected override void Awake()
 {
     base.Awake();
     _pool = new UnityPool(_prefab.gameObject, GlobalConstants.RockMaxCapacity, _parent);
 }
示例#11
0
 public ResourceProvider(UnityPool viewEnumPool)
 {
     _viewEnumPool = viewEnumPool;
 }
示例#12
0
 private void Awake()
 {
     _bulletPool    = new UnityPool <Bullet>("Bullets", 512, _bulletPrefab, null);
     _activeBullets = new List <Bullet>(512);
 }