Ejemplo n.º 1
0
    /// <summary>
    /// 初始化战斗游戏
    /// </summary>
    /// <param name="gameCombatData"></param>
    public void InitGameCombat(MiniGameCombatBean gameCombatData)
    {
        SceneArenaManager sceneArenaManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneArenaManager>();

        //找到竞技场战斗的地点
        sceneArenaManager.GetArenaForCombatBy1(out Vector3 combatPosition);
        gameCombatData.miniGamePosition = combatPosition;
        //初始化游戏
        MiniGameHandler.Instance.handlerForCombat.InitGame(gameCombatData);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 初始化算账游戏
    /// </summary>
    /// <param name="gameAccountData"></param>
    public void InitGameAccout(MiniGameAccountBean gameAccountData)
    {
        SceneArenaManager sceneArenaManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneArenaManager>();

        sceneArenaManager.GetArenaForAccountPlayerBy3(out Vector3 playerPosition);
        sceneArenaManager.GetArenaForAccountCameraBy3(out Vector3 cameraPosition);
        sceneArenaManager.GetArenaForAccountMoneyBy3(out Transform tfMoneyPosition);
        gameAccountData.playerPosition  = playerPosition;
        gameAccountData.cameraPosition  = cameraPosition;
        gameAccountData.tfMoneyPosition = tfMoneyPosition;
        //初始化游戏
        MiniGameHandler.Instance.handlerForAccount.InitGame(gameAccountData);
        sceneArenaManager.GetArenaForAccountEjectorBy3(out MiniGameAccountEjectorCpt ejectorCpt);
        MiniGameHandler.Instance.handlerForAccount.miniGameBuilder.ejectorCpt = ejectorCpt;
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 初始化弹幕游戏
    /// </summary>
    /// <param name="gameBarrageData"></param>
    public void InitGameBarrage(MiniGameBarrageBean gameBarrageData)
    {
        SceneArenaManager sceneArenaManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneArenaManager>();

        //添加竞技场发射台坐标
        if (gameBarrageData.launchNumber <= 1)
        {
            gameBarrageData.listEjectorPosition = sceneArenaManager.GetArenaForBarrageEjectorBy1(1);
        }
        else if (gameBarrageData.launchNumber == 2)
        {
            gameBarrageData.listEjectorPosition = sceneArenaManager.GetArenaForBarrageEjectorBy1(2);
        }
        else if (gameBarrageData.launchNumber == 3)
        {
            gameBarrageData.listEjectorPosition = sceneArenaManager.GetArenaForBarrageEjectorBy1(3);
        }
        //添加用户起始位置
        sceneArenaManager.GetArenaForBarrageUserPositionBy1(out Vector3 userPosition);
        gameBarrageData.userStartPosition = userPosition;
        //弹幕处理初始化
        MiniGameHandler.Instance.handlerForBarrage.InitGame(gameBarrageData);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 初始化烹饪游戏
    /// </summary>
    /// <param name="gameCookingData"></param>
    private void InitGameCooking(MiniGameCookingBean gameCookingData)
    {
        switch (gameCookingData.gameReason)
        {
        //如果是晋升
        case MiniGameReasonEnum.Improve:
            break;

        default:
            break;
        }
        SceneArenaManager sceneArenaManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneArenaManager>();

        //设置每个玩家的初始位置
        sceneArenaManager.GetArenaForCookingPlayerPositionBy2(out Vector3 playerStartPosition);
        //总共玩家数量为单数 则初始点为playerStartPosition,如果是双数则从playerStartPosition.x -0.5f开始
        float positionX = playerStartPosition.x + gameCookingData.listEnemyGameData.Count / 2f;
        float positionY = playerStartPosition.y;
        //随机站位
        int userRandomPositionNumber = UnityEngine.Random.Range(0, gameCookingData.listEnemyGameData.Count + 1);

        for (int i = 0; i < gameCookingData.listEnemyGameData.Count + 1; i++)
        {
            if (i == userRandomPositionNumber)
            {
                gameCookingData.userStartPosition = new Vector3(positionX, positionY);
            }
            else
            {
                gameCookingData.listEnemyStartPosition.Add(new Vector3(positionX, positionY));
            }
            positionX -= 1;
        }
        //设置评审员位置
        sceneArenaManager.GetArenaForCookingAuditorPositionBy2(out Vector3 auditorStartPosition);
        positionX = auditorStartPosition.x + ((gameCookingData.listAuditerGameData.Count - 1) / 2f);
        positionY = auditorStartPosition.y;
        for (int i = 0; i < gameCookingData.listAuditerGameData.Count; i++)
        {
            gameCookingData.listAuditerStartPosition.Add(new Vector3(positionX, positionY));
            positionX -= 1;
        }
        //设置主持人位置
        List <Vector3> listComperePosition = sceneArenaManager.GetArenaForCookingComperePositionBy2(gameCookingData.listCompereGameData.Count);

        gameCookingData.listCompereStartPosition = listComperePosition;
        //设置游戏用通告版
        List <MiniGameCookingCallBoardCpt> listCallBoard = sceneArenaManager.GetArenaForCookingCallBoardBy2();

        MiniGameHandler.Instance.handlerForCooking.miniGameBuilder.SetListCallBoard(listCallBoard);
        //设置游戏用评审桌子
        List <MiniGameCookingAuditTableCpt> listAuditTable = sceneArenaManager.GetArenaForCookingAuditTableBy2();

        MiniGameHandler.Instance.handlerForCooking.miniGameBuilder.SetListAuditTable(listAuditTable);
        //设置游戏用灶台
        List <MiniGameCookingStoveCpt> listStove = sceneArenaManager.GetArenaForCookingStoveBy2();

        MiniGameHandler.Instance.handlerForCooking.miniGameBuilder.SetListStove(listStove);
        MiniGameHandler.Instance.handlerForCooking.miniGameBuilder.SetListStove(listStove);
        //准备游戏
        MiniGameHandler.Instance.handlerForCooking.InitGame(gameCookingData);
    }