Example #1
0
 public void OnButtonPressed(VirtualButtonBehaviour vb)
 {
     buttonEvent = vb.VirtualButtonName;
     if (gm.currentTurn.Equals(gm.hostPlayer.getId()))
     {
         if (buttonEvent.Equals("attackBtn") && gm.canAttack)
         {
             if (gm.canAttack)
             {
                 showAnimation("attack");
                 SWNetworkMessage msg = new SWNetworkMessage();
                 msg.Push(attack);
                 msg.Push(health);
                 msg.PushUTF8ShortString("DoesntHasMon");
                 netcode.NotifyOpponentAttack(msg);
                 gm.canAttack = false;
             }
         }
         else if (buttonEvent.Equals("targetBtn") && !gm.onWaitingTarget)
         {
             Debug.Log("target selected!!!!");
             SWNetworkMessage msg = new SWNetworkMessage();
             msg.Push(attack);
             msg.Push(health);
             netcode.AddTargetCard(msg);
             showAnimation("hit");
         }
     }
 }
Example #2
0
    public void addCardToOwner(SWNetworkMessage msg)
    {
        string owner  = msg.PopUTF8ShortString();
        string cardId = msg.PopUTF8ShortString();

        gm.addCardToOwner(owner, cardId);
    }
Example #3
0
        public Byte[] ToArray()
        {
            SWNetworkMessage message = new SWNetworkMessage();

            message.Push((Byte)poolOfCards.Count);
            message.PushByteArray(poolOfCards.ToArray());

            message.Push((Byte)player1Cards.Count);
            message.PushByteArray(player1Cards.ToArray());

            message.Push((Byte)player2Cards.Count);
            message.PushByteArray(player2Cards.ToArray());

            message.Push(numberOfBooksForPlayer1);
            message.Push(numberOfBooksForPlayer2);

            message.PushUTF8ShortString(player1Id);
            message.PushUTF8ShortString(player2Id);

            message.PushUTF8ShortString(currentTurnPlayerId);
            message.Push(currentGameState);

            message.Push(selectedRank);

            return(message.ToArray());
        }
Example #4
0
        public void OnRankSelectedRemoteEvent(SWNetworkMessage message)
        {
            Debug.Log("OnRankSelectedRemoteEvent:: Message is " + message);
            int intRank = message.PopInt32();

            OnRankSelectedEvent.Invoke((Ranks)intRank);
        }
Example #5
0
        public void NotifyHostPlayerTargetPlayerSelected(string targetPlayer)   //testing
        {
            SWNetworkMessage message = new SWNetworkMessage();

            message.PushUTF8ShortString(targetPlayer);
            roomRemoteEventAgent.Invoke(TARGET_PLAYER_SELECTED, message);;
        }
Example #6
0
        public void NotifyHostPlayerRankSelected(int selectedRank)
        {
            SWNetworkMessage message = new SWNetworkMessage();

            message.Push(selectedRank);
            roomRemoteEventAgent.Invoke(RANK_SELECTED, message);
        }
Example #7
0
        public void NotifyHostPlayerTrumpSelected(int trump)
        {
            SWNetworkMessage message = new SWNetworkMessage();

            message.Push(trump);
            roomRemoteEventAgent.Invoke(TRUMP_SELECTED, message);
        }
Example #8
0
        public void NotifyHostPlayerCardPlayed(byte value)
        {
            SWNetworkMessage message = new SWNetworkMessage();

            message.Push(value);
            roomRemoteEventAgent.Invoke(CARD_PLAYED, message);
        }
Example #9
0
        public void NotifyHostPlayerBidSelected(int selectedBid)
        {
            SWNetworkMessage message = new SWNetworkMessage();

            message.Push(selectedBid);
            roomRemoteEventAgent.Invoke(BID_SELECTED, message);
        }
Example #10
0
    public void SuffleAll()
    {
        SWNetworkMessage msg = new SWNetworkMessage();

        msg.Push(status);
        remoteEventAgent.Invoke("suffle", msg);
    }
Example #11
0
        public void ApplyByteArray(Byte[] byteArray)
        {
            SWNetworkMessage message          = new SWNetworkMessage(byteArray);
            byte             poolOfCardsCount = message.PopByte();

            poolOfCards = message.PopByteArray(poolOfCardsCount).ToList();

            byte player1CardsCount = message.PopByte();

            player1Cards = message.PopByteArray(player1CardsCount).ToList();

            byte player2CardsCount = message.PopByte();

            player2Cards = message.PopByteArray(player2CardsCount).ToList();

            numberOfBooksForPlayer1 = message.PopInt32();
            numberOfBooksForPlayer2 = message.PopInt32();

            player1Id = message.PopUTF8ShortString();
            player2Id = message.PopUTF8ShortString();

            currentTurnPlayerId = message.PopUTF8ShortString();
            currentGameState    = message.PopInt32();

            selectedRank = message.PopInt32();
        }
Example #12
0
        void Decrypt()
        {
            byte[] byteArray = AES.DecryptAES128(safeData, encryptionKey);

            SWNetworkMessage message          = new SWNetworkMessage(byteArray);
            byte             poolOfCardsCount = message.PopByte();

            poolOfCards = message.PopByteArray(poolOfCardsCount).ToList();

            byte player1CardsCount = message.PopByte();

            player1Cards = message.PopByteArray(player1CardsCount).ToList();

            byte player2CardsCount = message.PopByte();

            player2Cards = message.PopByteArray(player2CardsCount).ToList();

            byte booksForPlayer1Count = message.PopByte();

            booksForPlayer1 = message.PopByteArray(booksForPlayer1Count).ToList();

            byte booksForPlayer2Count = message.PopByte();

            booksForPlayer2 = message.PopByteArray(booksForPlayer2Count).ToList();

            player1Id = message.PopUTF8ShortString();
            player2Id = message.PopUTF8ShortString();

            currentTurnPlayerId = message.PopUTF8ShortString();
            currentGameState    = message.PopInt32();

            selectedRank = message.PopInt32();
        }
Example #13
0
    public void Fire()
    {
        float            randomAngle = Random.Range(-1 * AttackRandomAngle, AttackRandomAngle);
        SWNetworkMessage message     = new SWNetworkMessage();

        message.Push(randomAngle);
        remoteEventAgent.Invoke(FIRE, message);
    }
Example #14
0
 public void setTargetCard(SWNetworkMessage msg)
 {
     targetCard_attack = msg.PopInt16();
     targetCard_health = msg.PopInt16();
     makeFight();
     clearAttackCard();
     clearTargetCard();
 }
Example #15
0
    public void RemoteFire(SWNetworkMessage msg)
    {
        Vector3 position  = msg.PopVector3();
        Vector3 direction = msg.PopVector3();
        string  ownerId   = msg.PopUTF8ShortString();

        gun.FireBullet(position, direction, ownerId);
    }
Example #16
0
    public void AddCardToPlayer(string owner, string cardName)
    {
        SWNetworkMessage msg = new SWNetworkMessage();

        msg.PushUTF8ShortString(owner);
        msg.PushUTF8ShortString(cardName);
        roomRemoteEventAgent.Invoke(CARD_HAS_OWNER, msg);
    }
Example #17
0
    void Fire()
    {
        shoot.FireBullet(movement.FaceRight);

        SWNetworkMessage message = new SWNetworkMessage();

        message.Push(movement.FaceRight);
        remoteEventAgent.Invoke(FIRE, message);
    }
Example #18
0
    public void UpdatePlayerMana(string player, int manaRemain, string solution)
    {
        SWNetworkMessage msg = new SWNetworkMessage();

        msg.PushUTF8ShortString(player);
        msg.PushUTF8ShortString(manaRemain.ToString());
        msg.PushUTF8ShortString(solution);
        roomRemoteEventAgent.Invoke(UPDATE_MANA, msg);
    }
Example #19
0
    void FireBullet()
    {
        SWNetworkMessage msg = new SWNetworkMessage();

        msg.Push(launchPosition.position);
        msg.Push(transform.forward);
        msg.PushUTF8ShortString(NetworkClient.Instance.PlayerId);
        remoteEventAgent.Invoke("fire", msg);
    }
Example #20
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonUp(0) && networkID.IsMine)
        {
            Vector3 targetPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition + Vector3.forward * teleportDistance);

            SWNetworkMessage message = new SWNetworkMessage();
            message.Push(targetPosition);

            remoteEventAgent.Invoke(TELEPORT, message);
        }
    }
Example #21
0
        public void OnTargetPlayerSelectedRemoteEvent(SWNetworkMessage message) //testing
        {
            string        strTargetPlayer = message.PopUTF8ShortString();
            List <Player> allPlayers      = mpGame.gameDataManager.GetAllPlayers();

            foreach (Player player in allPlayers)
            {
                if (player.PlayerId.Equals(strTargetPlayer))
                {
                    OnTargetPlayerSelectedEvent.Invoke(player);
                }
            }
        }
Example #22
0
    public void DoFire(SWNetworkMessage message)
    {
        float randomAngle = message.PopFloat();

        for (int index = 0; index < NumberOfBullets; index++)
        {
            GameObject  bullet     = Instantiate(Bullet, FirePosition.position, FirePosition.rotation);
            Rigidbody2D bulletRb2D = bullet.GetComponent <Rigidbody2D>();
            float       degree     = 270 + randomAngle - AttackAngle;
            degree += 2 * AttackAngle / (NumberOfBullets - 1) * index;
            Vector2 direction = DegreeToDirection(degree);
            bulletRb2D.velocity = direction * BulletSpeed;
        }
    }
Example #23
0
        public void NotifyHostPlayer3CardsSelected(byte card1, byte card2, byte card3)
        {
            SWNetworkMessage message = new SWNetworkMessage();

            /*    message.Push(card1rank);
             *  message.Push(card1suit);
             *  message.Push(card2rank);
             *  message.Push(card2suit);
             *  message.Push(card3rank);
             *  message.Push(card3suit);  */
            message.Push(card1);
            message.Push(card2);
            message.Push(card3);
            roomRemoteEventAgent.Invoke(THREE_CARDS_SELECTED, message);
        }
Example #24
0
    public void UpdateMana(SWNetworkMessage msg)
    {
        string player     = msg.PopUTF8ShortString();
        int    manaRemain = Int16.Parse(msg.PopUTF8ShortString());
        string solution   = msg.PopUTF8ShortString();

        if (solution.Equals("remove"))
        {
            gm.reduceMana(player, manaRemain);
        }
        else if (solution.Equals("add"))
        {
            gm.refreshMana(player, manaRemain);
        }
        netCode.UpdateHUD();
    }
Example #25
0
        public void On3CardsSelectedRemoteEvent(SWNetworkMessage message)
        {
            /*    int intCard1Rank = message.PopInt32();
             *  int intCard1Suit = message.PopInt32();
             *  int intCard2Rank = message.PopInt32();
             *  int intCard2Suit = message.PopInt32();
             *  int intCard3Rank = message.PopInt32();
             *  int intCard3Suit = message.PopInt32();
             *  int intstring = int.Parse(intCard1Rank.ToString() + intCard1Suit.ToString() + intCard2Rank.ToString() + intCard2Suit.ToString() + intCard3Rank.ToString() + intCard3Suit.ToString());
             */
            byte card1 = message.PopByte();
            byte card2 = message.PopByte();
            byte card3 = message.PopByte();

            On3CardsSelected.Invoke(card1, card2, card3);
        }
Example #26
0
        void Encrypt()
        {
            SWNetworkMessage message = new SWNetworkMessage();

            message.Push((Byte)poolOfCards.Count);
            message.PushByteArray(poolOfCards.ToArray());

            message.Push((Byte)player1Cards.Count);
            message.PushByteArray(player1Cards.ToArray());

            message.Push((Byte)player2Cards.Count);
            message.PushByteArray(player2Cards.ToArray());

            message.Push((Byte)booksForPlayer1.Count);
            message.PushByteArray(booksForPlayer1.ToArray());

            message.Push((Byte)booksForPlayer2.Count);
            message.PushByteArray(booksForPlayer2.ToArray());

            message.PushUTF8ShortString(player1Id);
            message.PushUTF8ShortString(player2Id);

            message.PushUTF8ShortString(currentTurnPlayerId);
            message.Push(currentGameState);

            message.Push(selectedRank);

            safeData = AES.EncryptAES128(message.ToArray(), encryptionKey);

            //poolOfCards = new List<byte>();
            //player1Cards = new List<byte>();
            //player2Cards = new List<byte>();

            //booksForPlayer1 = new List<byte>();
            //booksForPlayer2 = new List<byte>();

            //player1Id = null;
            //player2Id = null;

            //currentTurnPlayerId = null;
            //currentGameState = 0;
            //selectedRank = 0;
        }
Example #27
0
    public void OnAttack(SWNetworkMessage msg)
    {
        int    damage = msg.PopInt32();
        int    health = msg.PopInt32();
        string hasMon = msg.PopUTF8ShortString();

        Debug.Log("recieved damage " + damage + " units");
        if (hasMon.Equals("DoesntHasMon"))
        {
            Debug.Log(hasMon);
            //checkText.text = hasMon;
            if (gm.currentTurn.Equals(gm.hostPlayer.getId()))
            {
                gm.remotePlayer.setHp(gm.remotePlayer.getHp() - damage);
                remoteHealthbar.hp_decrease(damage);
            }
            else if (gm.currentTurn.Equals(gm.remotePlayer.getId()))
            {
                gm.hostPlayer.setHp(gm.hostPlayer.getHp() - damage);
                localHealthbar.hp_decrease(damage);
            }
        }
        else if (hasMon.Equals("HasMon"))
        {
            //TODO ให้มอนต่อสู้กัน
        }

        if (!gm.checkWinner().Equals(""))
        {
            if (gm.checkWinner().Equals(gm.hostPlayer.getId()))
            {
                Debug.Log(gm.hostPlayer.getName() + " wins..");
                win.SetActive(true);
            }
            else if (gm.checkWinner().Equals(gm.remotePlayer.getId()))
            {
                Debug.Log(gm.remotePlayer.getName() + " wins..");
                lose.SetActive(true);
            }
        }
    }
Example #28
0
    public void makeFight()
    {
        SWNetworkMessage msg = new SWNetworkMessage();

        //TODO quick attack ใน runeterra?
        //TODO ประกาศว่าใครตายหลังจบการต่อสู้
        Debug.Log("make fight");
        if (attackCard_attack >= targetCard_health)
        {
            //การ์ดที่โจมตีชนะ
            msg.PushUTF8ShortString("win fight");
            if (currentTurn.Equals(hostPlayer.getId()))
            {
                damageToOpponent(attackCard_attack - targetCard_health);
            }
            else
            {
                damageToHost(attackCard_attack - targetCard_health);
            }
            Debug.Log("win fight");
        }
        else if (attackCard_attack < targetCard_health && targetCard_attack >= attackCard_health)
        {
            msg.PushUTF8ShortString("lose fight");
            if (currentTurn.Equals(hostPlayer.getId()))
            {
                damageToHost(attackCard_attack - targetCard_health);
            }
            else
            {
                damageToOpponent(attackCard_attack - targetCard_health);
            }
            Debug.Log("lose fight");
        }
        else if (attackCard_attack < targetCard_health && targetCard_attack < attackCard_health)
        {
            msg.PushUTF8ShortString("draw");
            Debug.Log("draw");
        }
    }
Example #29
0
 public void RemoteSuffle(SWNetworkMessage msg)
 {
     status.text = "Greate!!";
 }
Example #30
0
    public void Teleport(SWNetworkMessage message)
    {
        Vector3 targetPosition = message.PopVector3();

        transform.position = targetPosition;
    }