public void Setup(GameSetting gameSetting) { EventHub.Bind <EventTouchMoved>(OnTouchMoved); EventHub.Bind <EventPedestalDestroy>(OnPedestalDestroyed); _canInteract = false; MeshRenderer propMeshRenderer = _propInstance.GetComponent <MeshRenderer>(); _propHeight = propMeshRenderer.bounds.size.y; _propBottomHeight = -_propHeight * 2; float propHeight = _propInstance.GetComponent <MeshRenderer>().bounds.size.y; Transform propBackBuffer = Instantiate(_propInstance, new Vector3(0, -propHeight * 2f, 0), Quaternion.identity, transform); propBackBuffer.localScale = new Vector3(1f, -_propInstance.localScale.y, 1f); _props = new List <Transform>(); _props.Add(_propInstance); _props.Add(propBackBuffer); _platformAngle = 0; _pedestalPool = new PedestalPool(this.transform, _pedestalePrefabs); _pedestalLayers = new List <PedestalLayer>(); _platformRule = new SimplePlatformRule(); _genericPool = new GenericGOPool(); _gameSetting = gameSetting; RecycleOldPedestales(); AddNewPedestales(); }