Esempio n. 1
0
 /**
  * Initialize standard settings for app
  */
 protected override void Initialize()
 {
     LoadSettings();
     uiManager        = new UIManager(GraphicsDevice, Content);
     gameStateManager = new GameStageManager(GraphicsDevice, Content, uiManager);
     base.Initialize();
 }
Esempio n. 2
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else
     {
         throw new System.Exception();
     }
 }
Esempio n. 3
0
        private void CreateManagers()
        {
            _managersObject = new GameObject("Managers");

            ObjectPoolManager.CreateFromPrefab(_objectPoolManagerPrefab.gameObject, _managersObject);
            DataManager.CreateFromPrefab(_dataManagerPrefab.gameObject, _managersObject);
            GameStageManager.CreateFromPrefab(_gameStageManagerPrefab.gameObject, _managersObject);
            FighterManager.CreateFromPrefab(_fighterManagerPrefab.gameObject, _managersObject);
            AudioManager.CreateFromPrefab(_audioManagerPrefab.gameObject, _managersObject);
            PlayerManager.Create(_managersObject);
        }
        public void GameStageManagerIsAssignedToGameStageDuringInitialize()
        {
            var dummyInput      = new Input();
            var stageCollection = new GameStageRegistry();

            stageCollection.RegisterStage <MockGameStage>();
            var gameStageMgr = new GameStageManager(dummyInput, stageCollection);

            gameStageMgr.Initialize(new MockGameResourceFactory());
            Assert.AreSame(gameStageMgr.ActiveGameStage.GameStageManager, gameStageMgr);
        }
Esempio n. 5
0
        /// <summary>
        /// กำหนดค่าเริ่มต้นของเกม State 3
        /// </summary>
        public ThirdStatePage()
        {
            InitializeComponent();

            GlobalScore.ThirdScore = GlobalScore.SecondScore;
            scoreBoard.txt_Score.Text = GlobalScore.SecondScore.ToString();

            // เหตุการณ์ในการรอให้แสดงคำถามเสร็จสิ้นก่อน
            _displayQuestionTimer = new DispatcherTimer();
            _displayQuestionTimer.Interval = TimeSpan.FromMilliseconds(QuestionTimeMilisecond);

            // ตัวนับเวลาแสดงมือทักกี้
            _doNotingHandTimer = new DispatcherTimer();
            _doNotingHandTimer.Interval = TimeSpan.FromSeconds(TimeTickSecond);

            // ตัวนับเวลาก่อนเกมเริ่ม
            _prepareLayer = new PrepareLayerUI();
            LayoutRoot.Children.Add(_prepareLayer);

            // กำหนดตัวควบคุมเกม และ แถวหน้ากับแถวหลัง
            _gameManager = new GameStageManagerThird();
            _frontRow = new RowUI();

            // กำหนดค่าให้ตัวแจ้งเวลาจบเกม
            _timeOutLayer = new TheS.SperfGames.MayaTukky.Controls.TimeOutLayerUI();

            // กำหนดตำแหน่งของแถวหน้า
            Canvas.SetTop(_frontRow, 35);

            // ย่อขนาดของแถวหลัง
            ScaleTransform scale = new ScaleTransform();
            scale.ScaleX = scale.ScaleX * 0.85;
            scale.ScaleY = scale.ScaleY * 0.85;
            Canvas.SetLeft(_frontRow, 52);
            Canvas.SetTop(_frontRow, 12);
            _frontRow.RenderTransform = scale;

            // เครื่องหมายที่แสดงผลการตอบถูกหรือตอบผิด
            _trueFalseMark = new TrueFalseMarkUI();

            // สร้างตัวจับเวลา
            _timer = new DispatcherTimer();
            _timer.Interval = TimeSpan.FromSeconds(TimeTickSecond);

            // สร้างหน้าก้อนเมฆในการแสดงการเปลี่ยนฉาก
            _clound = new CloudUI();

            // กำหนดเหตุการณ์ของเกม
            initializeEvents();

            // เริ่มเล่นตัวนับเวลาก่อนเข้าเล่นเกม
            _prepareLayer.Sb_Start.Begin();
            Sb_Dark.Begin();
        }
        public void LoadsFirstStageInCollectionByDefault()
        {
            var dummyInput      = new Input();
            var stageCollection = new GameStageRegistry();

            stageCollection.RegisterStage <MockGameStage>();
            stageCollection.RegisterStage <DummyGameStage>();
            var gameStageMgr = new GameStageManager(dummyInput, stageCollection);

            gameStageMgr.Initialize(new MockGameResourceFactory());
            Assert.IsInstanceOfType(gameStageMgr.ActiveGameStage, typeof(MockGameStage));
        }
Esempio n. 7
0
 private void Awake()
 {
     // Singleton
     if (instance == null)
     {
         instance = this;
     }
     else
     {
         Destroy(this.gameObject);
     }
     DontDestroyOnLoad(this.gameObject);
 }
Esempio n. 8
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        gameStageManager = target as GameStageManager;


        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Load", GUILayout.Width(100)))
        {
            this.gameStageManager.LoadStages();
        }
        GUILayout.EndHorizontal();
    }
        public void InitializeIsInvokedOnGameStageWhenLoadedDuringInitialize()
        {
            var dummyInput      = new Input();
            var stageCollection = new GameStageRegistry();

            stageCollection.RegisterStage <MockGameStage>();
            var gameStageMgr = new GameStageManager(dummyInput, stageCollection);

            gameStageMgr.Initialize(new MockGameResourceFactory());
            var stage = gameStageMgr.ActiveGameStage as MockGameStage;

            Assert.IsTrue(stage.InitializeWasInvoked);
        }
Esempio n. 10
0
        /// <summary>
        /// กำหนดค่าเริ่มต้นของเกม State 1
        /// </summary>
        public FirstStatePage()
        {
            InitializeComponent();

            // เหตุการณ์ในการรอให้แสดงคำถามเสร็จสิ้นก่อน
            _displayQuestionTimer = new DispatcherTimer();
            _displayQuestionTimer.Interval = TimeSpan.FromMilliseconds(QuestionTimeMilisecond);

            // ตัวนับเวลาก่อนเกมเริ่ม
            _prepareLayer = new PrepareLayerUI();
            LayoutRoot.Children.Add(_prepareLayer);

            // ตัวนับเวลาแสดงมือทักกี้
            _doNotingHandTimer = new DispatcherTimer();
            _doNotingHandTimer.Interval = TimeSpan.FromSeconds(TimeTickSecond);

            // ค่าเริ่มต้น
            _gameManager = new GameStageManagerFirst();
            _frontRow = new RowUI();
            _trueFalseMark = new TrueFalseMarkUI();

            // กำหนดค่าให้ตัวแจ้งเวลาจบเกม
            _timeOutLayer = new TheS.SperfGames.MayaTukky.Controls.TimeOutLayerUI();

            // สร้างตัวจับเวลา
            _timer = new DispatcherTimer();
            _timer.Interval = TimeSpan.FromSeconds(TimeTickSecond);
            _autoPlayQuestionTimer = new DispatcherTimer();
            _autoPlayQuestionTimer.Interval = TimeSpan.FromSeconds(AutoPlayQuestionTimeSecond);

            // สร้างหน้าก้อนเมฆในการแสดงการเปลี่ยนฉาก
            _clound = new CloudUI();

            // กำหนดเหตุการณ์ของเกม
            initializeEvents();

            // เปลี่ยนให้มีนาฬิกา 3 เรือน
            clock.ShowThreeClock();

            // เริ่มเล่นตัวนับเวลาก่อนเข้าเล่นเกม
            _prepareLayer.Sb_Start.Begin();
            Sb_Dark.Begin();
        }
Esempio n. 11
0
    /// <summary>
    /// Board를 초기화합니다.
    /// </summary>
    /// <param name="gsm">스테이지의 상태를 검사하는 GameStageManager를 매개변수로 받습니다.</param>
    public void InitializeBoard(GameStageManager gsm)
    {
        // 게임 매니저를 할당합니다.
        gameStageMgr = gsm;
        // 비활성화된 Piece을 저장합니다.
        disabledPieces = new Queue <Piece>();
        // 매치된 Piece을 저장합니다.
        matchedPieces = new List <Piece>();
        // 매치된 Piece 중 검사한 Piece을 저장합니다.
        verifiedPieces = new List <Piece>();
        // 힌트로 표시된 Piece을 저장합니다.
        hintPieces = new List <Piece>();

        // 스테이지의 정보를 가져옵니다.
        stageData = GameManager.Instance.GetStageDataWithLevel(StaticVariables.LoadLevel);

        // 스테이지의 저장된 Piece 색깔 이미지를 저장합니다.
        pieceSprites = stageData.pieceSprites;
        // 스테이지에 저장된 Piece 아이템 이미지를 저장합니다.
        itemSprites = stageData.itemSprites;

        // Board의 세로 크기
        vertical = stageData.vertical;
        // Board의 가로 크기
        horizontal = stageData.horizontal;

        // 블럭을 Board 크기만큼 배열 크기를 정합니다.
        tiles = new Tile[horizontal, vertical];

        // 카메라에 붙은 스크립트를 가져옵니다.
        camPivot = Camera.main.GetComponent <CamPivot>();
        // 카메라의 위치를 크기에 비례해서 정합니다.
        camPivot.SetCameraPivot(horizontal, vertical, stageData.camPivotX, stageData.camPivotY, stageData.camPivotSize);

        // Board에 Tile을 생성합니다.
        CreateBackgroundTile();
        // Board에 Breakable Tile을 생성합니다.
        CreateBreakableTile();
        // Board에 생성된 Tile에 Piece를 생성합니다.
        CreatePiece();
    }
Esempio n. 12
0
 private void Play()
 {
     GameStageManager.LoadStage("GameplayStage");
 }