public void RpcInitCardToPlayer(ConstEnums.PlayerId playerId, int cardIndex, int TotalNum, int i)
    {
        if (i == 0)
        {
            tempCardModels.Clear();
        }
        //Debug.Log("card from host to "+playerId+" , no."+i);
        //Debug.Log("temp count "+tempCount);
        List <CardModel> mainCardMods = GameController.Instance.gameMod.mainCardMods;
        //Debug.Log("cur maincard count: "+mainCardMods.Count);
        //Debug.Log("draw card index: "+cardIndex);
        CardModel cardMod = mainCardMods[cardIndex];

        cardMod.setOwner(playerId);
        mainCardMods.Remove(cardMod);
        tempCardModels.Add(cardMod);
        Debug.Log("remaining main card:" + mainCardMods.Count);

        if (i == TotalNum - 1)
        {
            initCards(playerId, tempCardModels);
            GameController.Instance.refreshMainCardsTxt();
        }
        //
        //initCards(playerId,cardModels,cardObjList,TotalNum);

        //rpcTest();
    }
Exemplo n.º 2
0
 public void Reset()
 {
     control = ConstEnums.PlayerId.First;
     winner  = ConstEnums.PlayerId.None;
     state   = ConstEnums.GameState.None;
     turn    = 0;
     Debug.Log("reset total card:" + mainCardMods.Count);
 }
Exemplo n.º 3
0
 public AnimalModel(ConstEnums.PlayerId playerId)
 {
     neededFood     = 1;
     currentFood    = 0;
     ownerId        = playerId;
     fatNum         = 0;
     currentFatFood = 0;
     ANIMAL_NUM++;
     property = new Property(this);
 }
Exemplo n.º 4
0
    public PlayerController getPlayerById(ConstEnums.PlayerId playerId)
    {
        PlayerController returnPlayer = null;

        foreach (PlayerController player in players)
        {
            if (player.getPlayerId() == playerId)
            {
                returnPlayer = player;
                break;
            }
        }
        return(returnPlayer);
    }
 public void RpcAnimalAttackSuccess(int attackerIdx, int defenderIdx, ConstEnums.PlayerId attackerPlayerId)
 {
     if (MatchController.Instance.localPlayer.getPlayerId() == attackerPlayerId)
     {
         Vector3 pos = MatchController.Instance.remotePlayer.getAnimalPosition(defenderIdx);
         Debug.Log("local attack  playerid :  " + getPlayerId());
         MatchController.Instance.localPlayer.dealAnimalAttack(attackerIdx, defenderIdx, pos);
     }
     else
     {
         Vector3 pos = MatchController.Instance.localPlayer.getAnimalPosition(defenderIdx);
         Debug.Log("remote attack playerid :  " + getPlayerId());
         PlayerController remotePlayer = MatchController.Instance.remotePlayer;
         remotePlayer.dealAnimalAttack(attackerIdx, defenderIdx, pos);
     }
 }
    public void CmdAddCardToPlayer(ConstEnums.PlayerId playerId, int cardNum)
    {
        List <CardModel> mainCardMods = GameController.Instance.gameMod.mainCardMods;

        //tempCount = mainCardMods.Count;
        for (int i = 0; i < cardNum; ++i)
        {
            if (tempCount >= 0)
            {
                int randomIndex = UnityEngine.Random.Range(0, tempCount);
                tempCount--;
                Debug.Log("remove random index:" + randomIndex + " from main cards");
                RpcInitCardToPlayer(playerId, randomIndex, cardNum, i);
            }
            else
            {
                Debug.LogWarning("main cards empty!");
            }
        }
    }
Exemplo n.º 7
0
    public void checkWinner()
    {
        int maxAnimalCount = 0;

        ConstEnums.PlayerId winnerId = ConstEnums.PlayerId.None;
        foreach (PlayerController player in MatchController.Instance.players)
        {
            int animalNum = player.getAnimalNum();
            if (animalNum > maxAnimalCount)
            {
                maxAnimalCount = animalNum;
                winnerId       = player.getPlayerId();
            }
            else if (animalNum == maxAnimalCount)
            {
                winnerId = ConstEnums.PlayerId.None;
            }
        }
        Debug.Log("winner:" + winnerId + " with " + maxAnimalCount + " animal");
        winner = winnerId;
    }
    public void initCards(ConstEnums.PlayerId playerId, List <CardModel> cards)
    {
        PlayerController player = MatchController.Instance.getPlayerById(playerId);

        Debug.Log("init " + cards.Count + " cards to " + playerId);
        List <GameObject> cardObjList = GameController.Instance.gameView.removeCard(cards.Count);

        player.playerMod.addCards(cards);
        player.playerView.addCards(cards, cardObjList);
        if (player.playerMod.cardMods.Count == cards.Count)
        {
            if (player.isLocalPlayer)
            {
                this.PostNotification(FinishInitLocalPlayerCard);
            }
            else
            {
                this.PostNotification(FinishInitRemotePlayerCard);
            }
        }
    }
 public void CmdAnimalAttackSuccess(int attackerIdx, int defenderIdx, ConstEnums.PlayerId attackerPlayerId)
 {
     RpcAnimalAttackSuccess(attackerIdx, defenderIdx, attackerPlayerId);
 }
Exemplo n.º 10
0
 public BaseModel()
 {
     ownerId = ConstEnums.PlayerId.None;
     index   = -1;
 }
Exemplo n.º 11
0
 public void setOwner(ConstEnums.PlayerId playerId)
 {
     ownerId = playerId;
 }
Exemplo n.º 12
0
 public CardModel(ConstEnums.PlayerId playerId, int _index)
 {
     ownerId  = playerId;
     index    = _index;
     cardType = ConstEnums.Skills.None;
 }