Exemple #1
0
    public void GotoState(EGameStatus state)
    {
        if (_gameState == state)
        {
            return;
        }

        DoChangeState(_gameState, state);
    }
Exemple #2
0
 private void DoStateOut(EGameStatus outState)
 {
     switch (outState)
     {
     case EGameStatus.Game:
         _entityCtrl.Dispose();
         break;
     }
 }
    private IEnumerator Lose()
    {
        yield return(new WaitForSeconds(1));

        GameStatus = EGameStatus.Over;
        FadeToBlack.gameObject.SetActive(true);
        yield return(new WaitForSeconds(2));

        SceneManager.LoadSceneAsync("Lose", LoadSceneMode.Single);
    }
 public void Ready()
 {
     if (GameStatus == EGameStatus.OpponentReady)
     {
         gameController.StartLevel();
         GameStatus = EGameStatus.Playing;
     }
     else
     {
         GameStatus = EGameStatus.WaitingForAnswer;
     }
     OtherPlayer.SendMessage(EMessageType.Ready.ToString());
 }
Exemple #5
0
    public void BackToHomeModule()
    {
        TweenManager.Instance.ClearEmoticonList();
        TweenManager.Instance.ClearPropList();
        ContextManager.Instance.Pop(UIType.PlayingGameView.Name);
        ClearCurGame();
        mCurGameStatus = EGameStatus.EHome;
        currentModule  = new HomeModule();
        AudioManager.Instance.IsPlayBackgroundAudio(true);
        Debug.Log("返回主界面");

        //偶而出现消失主界面
        //  ContextManager.Instance.Push(new HomeContext());
    }
Exemple #6
0
    public void NovoJogo()
    {
        this.myState     = new BoardState();
        this.eGameStatus = EGameStatus.PartidaInicia;

        int sorteio = UnityEngine.Random.Range(1, 3); //Sorteia 1 ou 2 apenas

        if (sorteio == 1)
        {
            this.eGameStatus = EGameStatus.AguardaP1;
        }
        else if (sorteio == 2)
        {
            this.eGameStatus = EGameStatus.AguardaP2;
        }
    }
Exemple #7
0
    public void NovoJogo()
    {
        myState    = new BoardState();
        GameStatus = EGameStatus.PartidaInicia;

        var sorteio = Random.Range(1, 3); //Sorteia 1 ou 2 apenas

        if (sorteio == 1)
        {
            GameStatus = EGameStatus.AguardaP1;
        }
        else if (sorteio == 2)
        {
            GameStatus = EGameStatus.AguardaP2;
        }
    }
Exemple #8
0
    private void DoStateIn(EGameStatus inState)
    {
        switch (inState)
        {
        case EGameStatus.Menu:
            UIManager.Instance.OpenView(EViewType.Menu);
            break;

        case EGameStatus.Game:
            UIManager.Instance.OpenView(EViewType.Game);
            _entityCtrl.Start();
            _entityCtrl.CreatePlayer();
            //_entityCtrl.CreateEnemy(2000);

            break;

        case EGameStatus.Over:
            UIManager.Instance.OpenView(EViewType.Over);
            break;
        }
    }
Exemple #9
0
    public void Jogada(int bt)
    {
        //Clicou onde já tem uma jogada ativa
        if (this.myState.getCellValue(bt) != BoardState.Cell.Empty)
        {
            return;
        }

        //Hora dos Players jogar
        if (this.eGameStatus == EGameStatus.AguardaP1)
        {
            this.myState.setCellValue(bt, BoardState.Cell.Player1);
            if (this.myState.matchState == BoardState.MatchState.InProgress)
            {
                this.eGameStatus = EGameStatus.AguardaP2;
            }
        }
        else if (this.eGameStatus == EGameStatus.AguardaP2)
        {
            this.myState.setCellValue(bt, BoardState.Cell.Player2);
            if (this.myState.matchState == BoardState.MatchState.InProgress)
            {
                this.eGameStatus = EGameStatus.AguardaP1;
            }
        }

        if (this.myState.matchState == BoardState.MatchState.Draw)
        {
            this.eGameStatus = EGameStatus.Empate;
        }
        else if (this.myState.matchState == BoardState.MatchState.Player1Won)
        {
            this.eGameStatus = EGameStatus.P1Vence;
        }
        else if (this.myState.matchState == BoardState.MatchState.Player2Won)
        {
            this.eGameStatus = EGameStatus.P2Vence;
        }
    }
Exemple #10
0
    public void Jogada(int posicao)
    {
        if (myState.GetCellValue(posicao) != Cell.Empty)
        {
            return;
        }

        if (GameStatus == EGameStatus.AguardaP1)
        {
            myState.SetCellValue(posicao, Cell.Player1);
            if (myState.State == MatchState.InProgress)
            {
                GameStatus = EGameStatus.AguardaP2;
            }
        }
        else if (GameStatus == EGameStatus.AguardaP2)
        {
            myState.SetCellValue(posicao, Cell.Player2);
            if (myState.State == MatchState.InProgress)
            {
                GameStatus = EGameStatus.AguardaP1;
            }
        }

        if (myState.State == MatchState.Draw)
        {
            GameStatus = EGameStatus.Empate;
        }
        else if (myState.State == MatchState.Player1Won)
        {
            GameStatus = EGameStatus.P1Vence;
        }
        else if (myState.State == MatchState.Player2Won)
        {
            GameStatus = EGameStatus.P2Vence;
        }
    }
Exemple #11
0
 private void DoChangeState(EGameStatus current, EGameStatus next)
 {
     DoStateOut(current);
     DoStateIn(next);
     _gameState = next;
 }
 void ResetGame()
 {
     GameStatus = EGameStatus.CreatingNetwork;
     gameController.StopLevel();
     gameController.level.Reset();
     ResetOpponentConnection();
 }
Exemple #13
0
 public GameManager()
 {
     _gameState  = EGameStatus.None;
     _entityCtrl = new EntityCtrl();
 }
 void Start()
 {
     Application.runInBackground = true;
     gameController = FindObjectOfType<GameController>();
     GameStatus = EGameStatus.InitializationNetwork;
 }
    void Update()
    {
        if(peer != null)
        {
            peer.HearBeat();
        }

        if(GameStatus == EGameStatus.Playing && gameController.level.LevelState == Level.ELevelState.Failed)
        {
            GameStatus = EGameStatus.GameFinished;
            SendMessageToOtherPlayer(EMessageType.GameLost.ToString());
        }
    }
 public void Replay()
 {
     if(null != OtherPlayer)
         OtherPlayer.SendMessage(EMessageType.ReplayGame.ToString());
     gameController.RestartLevel();
     GameStatus = EGameStatus.Playing;
 }
 void MessageHandler(string msg)
 {
     var blocks = msg.Split(Connection.MESSAGE_SEPARATOR.ToCharArray(), 2);
     var messageType = Helper.StringToEnum<EMessageType>(blocks[0], EMessageType.Unknown);
     switch (messageType)
     {
         case EMessageType.GetName:
             {
                 OtherPlayer.SendMessage(EMessageType.SendName.ToString(), PlayerName);
                 break;
             }
         case EMessageType.SendName:
             {
                 OtherPlayerName = blocks[1];
                 break;
             }
         case EMessageType.Ready:
             {
                 if (GameStatus == EGameStatus.WaitingForAnswer)
                 {
                     gameController.StartLevel();
                     GameStatus = EGameStatus.Playing;
                 }
                 else
                 {
                     GameStatus = EGameStatus.OpponentReady;
                 }
                 break;
             }
         case EMessageType.BubbleCreated:
             {
                 var bubbleState = new BubbleState();
                 bubbleState.DeserializeFromString(blocks[1]);
                 gameController.InstantiateOpponentBubble(bubbleState);
                 break;
             }
         case EMessageType.BubbleBursted:
             {
                 int id = int.Parse(blocks[1]);
                 gameController.OpponetBubbleBursted(id);
                 break;
             }
         case EMessageType.BubbleMissed:
             {
                 int id = int.Parse(blocks[1]);
                 gameController.OpponentBubbleMissed(id);
                 break;
             }
         case EMessageType.GameLost:
             {
                 gameController.StopLevel();
                 GameStatus = EGameStatus.GameFinished;
                 break;
             }
         case EMessageType.ReplayGame:
             {
                 gameController.RestartLevel();
                 GameStatus = EGameStatus.Playing;
                 break;
             }
         case EMessageType.Leave:
             {
                 ResetGame();
                 break;
             }
         default:
             {
                 Logger.LogWarning("Unknown state: " + blocks[0]);
                 break;
             }
     }
 }
Exemple #18
0
 public void SwitchGameStatus(EGameStatus status)
 {
     //   if (mCurGameStatus == status) { return; }
     mCurGameStatus = status;
     SwitchGameModule();
 }
 public void StartListening()
 {
     var config = new NetworkConfiguration(ip, port, 1); //just for one player
     try
     {
         peer = new Peer(config);
         peer.OnNewConnection += NewConnectionEventHandler;
         peer.Start();
         GameStatus = EGameStatus.CreatingNetwork;
     }
     catch (System.Exception ex)
     {
         Debug.LogWarning(ex.Message);
     }
 }