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; }
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; }
private void IncreaseBodyLength() { var v_body = _pool.Get <GameObject>(transform); var v_transform = v_body.transform; v_transform.position = _bodyList.Last().position; v_transform.rotation = _bodyList.Last().rotation; _bodyList.Add(v_transform); var v_meshRenderer = v_transform.GetComponent <MeshRenderer>(); _meshRenderers.Add(v_meshRenderer); if (_transparentPowerUpEnabled) { v_meshRenderer.sharedMaterial = _playerController.GetInvisibleMaterial(); } }