예제 #1
0
파일: Game.cs 프로젝트: gmruben/CTBGProject
    public void init()
    {
        LogMenu.instance.logMessage("INIT");

        board.init();
        gameHUD.init();

        match = new Match();

        ball = EntityManager.instantiateBall();
        ball.init(board);

        TeamData p1TeamData = new TeamData();
        TeamData p2TeamData = new TeamData();

        p1TeamData.id   = "Nankatsu";
        p1TeamData.name = "NEWTEAM S.C.";
        p2TeamData.id   = "Touhou";
        p2TeamData.name = "MUPPET F.C.";

        TeamController p1TeamController = new TeamUserController(board);
        TeamController p2TeamController = new TeamUserController(board);

        Team p1Team = new Team(p1TeamData, p1TeamController, board.p1Deck);
        Team p2Team = new Team(p2TeamData, p2TeamController, board.p2Deck);

        //Create players
        string[] playerIdList = TeamStore.retrieveTeam(p1TeamData.id).playerIdList;
        for (int i = 0; i < playerIdList.Length; i++)
        {
            Player     player     = EntityManager.instantiatePlayer();
            PlayerData playerData = PlayersStore.retrievePlayerData(p1TeamData.id, playerIdList[i]);

            SquareIndex index = playerData.startIndex;

            player.init(p1Team, playerData, board, ball);
            player.setPosition(index);

            p1Team.addPlayer(player);
            board.updatePlayerPosition(index, player);
        }

        //Create opponent players
        string[] opponentPlayerIdList = TeamStore.retrieveTeam(p2TeamData.id).playerIdList;
        for (int i = 0; i < opponentPlayerIdList.Length; i++)
        {
            Player     player     = EntityManager.instantiatePlayer();
            PlayerData playerData = PlayersStore.retrievePlayerData(p2TeamData.id, opponentPlayerIdList[i]);

            SquareIndex index = board.inverseIndex(playerData.startIndex);

            player.init(p2Team, playerData, board, ball);
            player.setPosition(index);

            p2Team.addPlayer(player);
            board.updatePlayerPosition(index, player);
        }

        match.currentTeam = p1Team;

        match.p1Team = p1Team;
        match.p2Team = p2Team;

        match.p1Team.isP1Team = true;
        match.p2Team.isP1Team = false;

        p1Team.opponentTeam = p2Team;
        p2Team.opponentTeam = p1Team;

        match.p1Team.onUpdateNumMoves += onTeamUpdateNumMoves;
        match.p2Team.onUpdateNumMoves += onTeamUpdateNumMoves;

        p1Team.playerList[p1Team.playerList.Count - 1].giveBall();

        startRound();

        isActive = true;

        MessageBus.UserTurnEnded += userTurnEnded;
        MessageBus.GoalScored    += goalScored;
        MessageBus.ThrowIn       += throwIn;
    }
예제 #2
0
 // DELETE: api/Player/5
 public void Delete(int id)
 {
     PlayersStore.RemovePlayer(id);
 }
예제 #3
0
 // PUT: api/Player/5
 public void Put(int id, [FromBody] Player value)
 {
     PlayersStore.AddPlayer(value);
 }
예제 #4
0
 // POST: api/Player
 public void Post([FromBody] Player value)
 {
     PlayersStore.AddPlayer(value);
 }
예제 #5
0
 // GET: api/Player/5
 public Player Get(int id)
 {
     return(PlayersStore.GetPlayer(id));
 }
예제 #6
0
 // GET: api/Player
 public IEnumerable <int> Get()
 {
     return(PlayersStore.GetPlayerNumbers());
 }