示例#1
0
        public GameController(CoreData coreData, Canvas menuCanvas)
        {
            _menuCanvas = menuCanvas;
            _core       = coreData;
            _disposables.Add(
                new GameObject("Updater")
                .AddComponent <Updater>()
                );

            _canvas            = new GameObject("Canvas").AddComponent <Canvas>();
            _canvas.renderMode = RenderMode.ScreenSpaceOverlay;
            _canvas.gameObject.AddComponent <GraphicRaycaster>();
            var scaler = _canvas.gameObject.AddComponent <CanvasScaler>();

            scaler.uiScaleMode              = CanvasScaler.ScaleMode.ScaleWithScreenSize;
            scaler.matchWidthOrHeight       = 0.5f;
            _canvas.transform.localPosition = Vector3.zero;

            var coinText = new GameObject("CoinCounter").AddComponent <Text>();

            coinText.Adjust(200, 100, _canvas.transform, new Vector2(
                                -Screen.width / 2 + coinText.rectTransform.rect.width,
                                Screen.height / 2 - coinText.rectTransform.rect.height / 2),
                            new Vector2(0.0f, 1.0f),
                            new Vector2(0.0f, 1.0f));
            coinText.alignment = TextAnchor.UpperLeft;


            _coinCounterController = new CounterController(
                coinText,
                "Coin"
                );
            _coinCounterController.Load();

            var scoreText = new GameObject("ScoreCounter").AddComponent <Text>();

            scoreText.Adjust(200, 100, _canvas.transform, new Vector2(
                                 Screen.width / 2 - scoreText.rectTransform.rect.width,
                                 Screen.height / 2 - scoreText.rectTransform.rect.height / 2),
                             new Vector2(1.0f, 1.0f),
                             new Vector2(1.0f, 1.0f));
            scoreText.alignment = TextAnchor.UpperRight;
            _scoreCounter       = new CounterController(scoreText, "Score");

            _disposables.Add(_coinCounterController);
            _disposables.Add(_scoreCounter);
            _disposables.Add(_logController);
            _disposables.Add(_knifeController);

            CreatingLevel();
        }