Ejemplo n.º 1
0
    void HandleOnGameInitialized(List<INWPlayer> players)
    {
        if (players[0].PlayerID > players[1].PlayerID)
        {
            _player1Controller.SetPlayer(players[0]);
            _player2Controller.SetPlayer(players[1]);
        }
        else
        {
            _player2Controller.SetPlayer(players[0]);
            _player1Controller.SetPlayer(players[1]);
        }

        for (int i=0 ; i< players.Count; i++)
        {
            INWPlayer player = players[i];
            PlayerController playerController = PlayerControllerForPlayer(player);

            playerController.SetPlayer(player);
            playerController.SetActivePlayer(false);
            if (player.PlayerID == _currentPlayer.PlayerID)
            {
                _currentPlayer = (NWPlayer)player;
                playerController.SetActivePlayer(true);
                playerController.OnCanPlayCard += HandleOnCanPlayCard;
                playerController.OnPlayCard += HandlePlayCard;
                playerController.OnPutCardInResource += HandleOnPutCardInResource;
                playerController.OnCanPutInResource += HandleOnCanPutCardInResources;
                playerController.OnEndTurn += HandleEndTurn;
            }

            foreach (NWCard cardData in player.Library.Cards)
            {
                if (_cardsInGame.ContainsKey(cardData))
                {
                    CardController card = _cardsInGame[cardData];
                    playerController.AddCard(card);
                }
                else
                {
                    Debug.LogError("Could not get card: " + cardData.CardUniqueID + " for player: " + player.PlayerID);
                }
            }
        }

        ZoneControllerAbstract[] zones = FindObjectsOfType<ZoneControllerAbstract>();
        for (int i=0 ; i < zones.Length; i++)
        {
            if (zones[i].Zone != null)
            {
                _zonesIngames.Add(zones[i].Zone, zones[i]);
                Debug.Log("added zone: " + zones[i].Zone.Type + " id: " + zones[i].Zone.ZoneID);
            }
        }
    }
Ejemplo n.º 2
0
    IEnumerator StartGame()
    {
        while (!PhotonNetwork.connected)
        {
            yield return null;
        }

        // init the network manager
        INWNetworking networkManager = this.gameObject.GetComponent<INWNetworking>();
        Debug.Log("connected");

        // create the local player
        _currentPlayer = new NWPlayer();
        _currentPlayer.PlayerName = "Test Player";
        _currentPlayer.PlayerID = (int)Random.Range(1,1000);
        _currentPlayer.DeckCards = new int[30]{1,1,1,2,2,2,3,3,3,4,1,1,1,2,2,2,3,3,3,4,1,1,1,2,2,2,3,3,3,4};

        // set the player in the server
        networkManager.SetPlayer(_currentPlayer);

        // start the game engine
        _netherWarsEngine = new NetherWarsEngine(networkManager, _currentPlayer);

        _netherWarsEngine.OnCardCreated += HandleOnCardCreated;
        _netherWarsEngine.OnGameInitialized += HandleOnGameInitialized;
        NWEventDispatcher.Instance().OnCardChangeZone += HandleOnCardChangeZone;
        NWEventDispatcher.Instance().OnStartTurn += HandleOnStartTurn;
    }
Ejemplo n.º 3
0
    public void SetPlayer(INWPlayer player)
    {
        _player = (NWPlayer)player;

        _battlefieldContainer.SetZone(_player.Battlefield, _player);
        _libraryContainer.SetZone(_player.Library, _player);
        _handContainer.SetZone(_player.Hand, _player);
        _resourceZoneContainer.SetZone(_player.ResourcePool, _player);

        _battlefieldContainer.CanSeeCardsInZone = true;
        _libraryContainer.CanSeeCardsInZone = false;
        _resourceZoneContainer.CanSeeCardsInZone = true;
    }
Ejemplo n.º 4
0
 public void OnPhotonPlayerConnected(PhotonPlayer newPlayer)
 {
     if (OnOtherPlayerJoined != null)
     {
         NWPlayer otherPlayer = new NWPlayer();
         otherPlayer.PopulateWithData(newPlayer.customProperties);
         OnOtherPlayerJoined(otherPlayer);
     }
 }
Ejemplo n.º 5
0
 private void StartTurn(NWPlayer player)
 {
     if (OnStartTurn != null)
     {
         OnStartTurn(player);
     }
 }
Ejemplo n.º 6
0
 private void PutCardInResources(NWPlayer player, NWCard card)
 {
     if (OnPutCardInResources != null)
     {
         OnPutCardInResources(player, card);
     }
 }
Ejemplo n.º 7
0
 private void PlayCard(NWPlayer player, NWCard card)
 {
     if (OnPlayCard != null)
     {
         OnPlayCard(player, card);
     }
 }
Ejemplo n.º 8
0
 private void CardDraw(NWPlayer player, NWCard card)
 {
     if (OnCardDraw != null)
     {
         OnCardDraw(player, card);
     }
 }
Ejemplo n.º 9
0
 public static NWEvent PutCardInResources(NWPlayer player, NWCard card)
 {
     Hashtable data = new Hashtable();
     data.Add((int)eEventField.Card , card.CardUniqueID);
     data.Add((int)eEventField.Player, player.PlayerID);
     NWEvent eventObject = new NWEvent(NWEventType.PutCardInResource, data);
     return eventObject;
 }