示例#1
0
            public ControllerPacketHandler(NetController net, BaseGameController logic)
            {
                PacketHandlerManager = net.PacketHandlers;

                module = logic;
                PacketHandlerManager.Register(2, OnSyncServerTime);
            }
示例#2
0
            public ControllerPacketHandler(NetController net, BaseGameController logic)
            {
                PacketHandlerManager = net.PacketHandlers;

                module = logic;
                PacketHandlerManager.Register(2, OnSyncServerTime);
            }
示例#3
0
        private void InitLevel()
        {
            if (useDontDestroy)
            {
                DontDestroyOnLoad(this.gameObject);
            }

            mainMenu = MenuManager.Instance;
            gameMenu = MenuManager.Instance;

            if (!gameController)
            {
                gameController = GameController.Instance;
                gameController.SetLevelManager(this);

                gameData        = (GameData.DevScripts.GameData)gameController.GameData.Data;
                gameLogicScript = (GameLogicScript)gameController.GameLogicScript.Script;

                timeManager.controlEvent.AddListener(playFieldManager.MobileControl);
                timeManager.dropEvent.AddListener(playFieldManager.ObjectMoveDown);
                timeManager.reduceDropEvent.AddListener(ReduceDropStep);
                timeManager.waveChangeEvent.AddListener(ChangeWave);

                playFieldManager.updateNextDropObjectListEvent += dropObjectManagerUi.SetDropObjectList;
                playFieldManager.SetDestroyRayCountListener(CatchLevelReward);
                playFieldManager.LoseLifeEvent += LoseLife;

                if (gameController.MenuAndLevelsDivided)
                {
                    RunLevel(gameData.ActiveLevel);
                }
            }
        }
示例#4
0
    private void SetStageInfo(BaseGameController gameCtrl)
    {
        this.lblStageNo.text = string.Format("Lv.{0}  {1}", this.gameLv, gameCtrl.gameTitle);
//		this.lblStageTitle.text = gameCtrl.gameTitle;
        this.lblStageTitle.text          = "";
        this.sliderStageTime.sliderValue = 1f;
    }
示例#5
0
    public override void Open()
    {
        _gameController = PhotonNetwork.IsConnected
            ? (BaseGameController) new MultiplayerGameController()
            : new SoloGameController();

        _gameController.StartGame();
    }
示例#6
0
 public void DestroyCurrentController()
 {
     if (this.currentGameCtrl != null)
     {
         this.currentGameCtrl.transform.localScale = Vector3.zero;
         Destroy(this.currentGameCtrl.gameObject);
         this.currentGameCtrl = null;
     }
 }
示例#7
0
 public void ExitMinigame()
 {
     BaseGameController.DestroyInstance();
     ClassicMiniGames.AddCoinsToAccount(Instance.PlayerCoins);
     Instance.PlayerCoins = 0;
     m_activeMinigame     = null;
     SceneManager.LoadScene("ClassicMiniGames");
     Resources.UnloadUnusedAssets();
 }
示例#8
0
    public void Display(DEFINE_GAMES.GameInfo gameInfo, IDictionary <string, object> param = null)
    {
        this.btnPause.SetActive(true);
        BaseGameController gmCtrl = Util.InstantiateComponent <BaseGameController>(gameInfo.prefabPath, this.parentTransform);

        if (gmCtrl == null)
        {
            Debug.LogError(string.Format("nothing panel ::{0}", gameInfo.prefabPath));
            return;
        }
        StartCoroutine(DisplayNext(gmCtrl, gameInfo));
    }
示例#9
0
 public Application(
     BaseGameController baseGameController,
     TeamController teamController,
     PersonController personController,
     SupplierController supplierController,
     TrackController trackController,
     PerformanceCurveController performanceCurveController)
 {
     _baseGameController         = baseGameController ?? throw new ArgumentNullException(nameof(baseGameController));
     _teamController             = teamController ?? throw new ArgumentNullException(nameof(teamController));
     _personController           = personController ?? throw new ArgumentNullException(nameof(personController));
     _supplierController         = supplierController ?? throw new ArgumentNullException(nameof(supplierController));
     _trackController            = trackController ?? throw new ArgumentNullException(nameof(trackController));
     _performanceCurveController = performanceCurveController ?? throw new ArgumentNullException(nameof(performanceCurveController));
 }
示例#10
0
        private void Start()
        {
            if (useDontDestroy)
            {
                DontDestroyOnLoad(this.gameObject);
            }

            score.AddListener(CheckHighScore);

            if (!gameController)
            {
                gameController = GameController.Instance;

                health.AddListener(gameController.CheckLifePlayer);
            }
        }
示例#11
0
    private IEnumerator DisplayNext(BaseGameController gmCtrl, DEFINE_GAMES.GameInfo gameInfo)
    {
        this.isProcess = true;
        gmCtrl.GameInitBase(gameInfo);
        if (Mgrs.audioMgr != null)
        {
            Mgrs.audioMgr.PlayBGM(gmCtrl.bgmType);
        }
        this.lblGameTitle.text = gmCtrl.gameTitle;
        gmCtrl.gameObject.SetActive(false);
        yield return(StartCoroutine(StartTransitionOpen()));

        if (this.isGiveUp)
        {
            this.isProcess = false;
            yield break;
        }


        Mgrs.audioMgr.PlaySE(DEFINE_AUDIO.SE_TYPE.GAME_START);
        this.DestroyCurrentController();
        this.bgCamera.backgroundColor = this.speedColor;
        yield return(new WaitForSeconds(1f));

        if (this.isGiveUp)
        {
            this.isProcess = false;
            yield break;
        }
        this.SetStageInfo(gmCtrl);
        this.objStageInfo.SetActive(true);
        gmCtrl.gameObject.SetActive(true);
        yield return(StartCoroutine(StartTransitionClose()));

        if (this.isGiveUp)
        {
            this.isProcess = false;
            yield break;
        }
        gmCtrl.GameStartBase();
        this.currentGameCtrl = gmCtrl;
        this.isProcess       = false;
    }
示例#12
0
    private void Awake()
    {
        _unitIDCounter     = 0;
        _currentUnitTiers  = new int[unitPrefabs.Count];
        _spawnedUnits      = new List <Unit>();
        _unitsInQueue      = new List <Unit>();
        _unitsInQueueIndex = new List <int>();
        _goldController    = GetComponent <GoldController>();
        _gameController    = GetComponent <BaseGameController>();

        _spawnedMiners = 0;

        for (int i = 0; i < unitPrefabs.Count; i++)
        {
            EventManager.Instance.ExecuteEvent <IUnitUpgraded>((x, y) => x.OnUnitUpgraded(i, unitPrefabs[i].GetUnitData(_currentUnitTiers[i]), _gameController.Faction));
        }

        UpdateQueueCapacityText();

        StartCoroutine(UnitQueue());
    }
    void Start()
    {
        int mode = PlayerPrefs.GetInt(Util.GAME_TYPE, Util.GAME_TYPE_ADV);

        switch (mode)
        {
        case Util.GAME_TYPE_INFINTE:
            gameControl = new InfiniteGameController();  //无尽模式
            break;

        case Util.GAME_TYPE_ADV:
            gameControl = new AdventureGameController();    //冒险模式
            break;

        default:
            gameControl = new InfiniteGameController();   //默认无尽模式
            break;
        }

        gameControl.Init();
        setBackGround();

        gameControl.StartGame();
    }
示例#14
0
        public override void InitGameRules(BaseGameController gameControllerSet, BaseDataTemplate gameDataSet)
        {
            this.gameController = gameControllerSet;

            gameData = (Tetris.GameData.DevScripts.GameData)gameDataSet.Data;
        }
示例#15
0
 public override void Close()
 {
     _gameController.EndGame();
     _gameController = null;
 }
示例#16
0
 public abstract void InitGameRules(BaseGameController gameController, BaseDataTemplate gameData);
示例#17
0
    public void requestGame(long gameId, BaseGameController controller, RunnableDelegate callback)
    {
        if (state != SystemControllerStates.Default)
            throw new InvalidOperationException("Invalid SystemController state, waiting Default, but have : " + state);

        if (connection.isConnected()) {
            DataMessage message = new DataMessage(Ids.Services.GAME_RESLOVER, Ids.Actions.GameResolver.START_GAME_REQUEST, userInfo.session);
            message.createWriter();
            message.writerLong(gameId).closeWriter();

            state = SystemControllerStates.RequestGame;
            callbacks[SystemCallbacks.RequestGame] = callback;

            currentGame = controller;

            connection.registerDataListener(Ids.Services.GAME_RESLOVER, Ids.Actions.GameResolver.START_GAME_REQUEST, onGameRequestComplete);
            connection.registerDataListener(Ids.Services.GAME_RESLOVER, Ids.Actions.GameResolver.GAME_STARTED, onGameStarted);
            connection.registerDataListener(Ids.Services.GAME_RESLOVER, Ids.Actions.GameResolver.GAME_FINISHED, onGameFinished);
            connection.addMessageToSend(message);
        } else {
            Handler.getInstance().postAction(callback, RequestGameResults.ConnectionError);
        }
    }