Example #1
0
        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();
        }