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"); } } }
public void addCardToOwner(SWNetworkMessage msg) { string owner = msg.PopUTF8ShortString(); string cardId = msg.PopUTF8ShortString(); gm.addCardToOwner(owner, cardId); }
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()); }
public void OnRankSelectedRemoteEvent(SWNetworkMessage message) { Debug.Log("OnRankSelectedRemoteEvent:: Message is " + message); int intRank = message.PopInt32(); OnRankSelectedEvent.Invoke((Ranks)intRank); }
public void NotifyHostPlayerTargetPlayerSelected(string targetPlayer) //testing { SWNetworkMessage message = new SWNetworkMessage(); message.PushUTF8ShortString(targetPlayer); roomRemoteEventAgent.Invoke(TARGET_PLAYER_SELECTED, message);; }
public void NotifyHostPlayerRankSelected(int selectedRank) { SWNetworkMessage message = new SWNetworkMessage(); message.Push(selectedRank); roomRemoteEventAgent.Invoke(RANK_SELECTED, message); }
public void NotifyHostPlayerTrumpSelected(int trump) { SWNetworkMessage message = new SWNetworkMessage(); message.Push(trump); roomRemoteEventAgent.Invoke(TRUMP_SELECTED, message); }
public void NotifyHostPlayerCardPlayed(byte value) { SWNetworkMessage message = new SWNetworkMessage(); message.Push(value); roomRemoteEventAgent.Invoke(CARD_PLAYED, message); }
public void NotifyHostPlayerBidSelected(int selectedBid) { SWNetworkMessage message = new SWNetworkMessage(); message.Push(selectedBid); roomRemoteEventAgent.Invoke(BID_SELECTED, message); }
public void SuffleAll() { SWNetworkMessage msg = new SWNetworkMessage(); msg.Push(status); remoteEventAgent.Invoke("suffle", msg); }
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(); }
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(); }
public void Fire() { float randomAngle = Random.Range(-1 * AttackRandomAngle, AttackRandomAngle); SWNetworkMessage message = new SWNetworkMessage(); message.Push(randomAngle); remoteEventAgent.Invoke(FIRE, message); }
public void setTargetCard(SWNetworkMessage msg) { targetCard_attack = msg.PopInt16(); targetCard_health = msg.PopInt16(); makeFight(); clearAttackCard(); clearTargetCard(); }
public void RemoteFire(SWNetworkMessage msg) { Vector3 position = msg.PopVector3(); Vector3 direction = msg.PopVector3(); string ownerId = msg.PopUTF8ShortString(); gun.FireBullet(position, direction, ownerId); }
public void AddCardToPlayer(string owner, string cardName) { SWNetworkMessage msg = new SWNetworkMessage(); msg.PushUTF8ShortString(owner); msg.PushUTF8ShortString(cardName); roomRemoteEventAgent.Invoke(CARD_HAS_OWNER, msg); }
void Fire() { shoot.FireBullet(movement.FaceRight); SWNetworkMessage message = new SWNetworkMessage(); message.Push(movement.FaceRight); remoteEventAgent.Invoke(FIRE, message); }
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); }
void FireBullet() { SWNetworkMessage msg = new SWNetworkMessage(); msg.Push(launchPosition.position); msg.Push(transform.forward); msg.PushUTF8ShortString(NetworkClient.Instance.PlayerId); remoteEventAgent.Invoke("fire", msg); }
// 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); } }
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); } } }
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; } }
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); }
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(); }
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); }
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; }
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); } } }
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"); } }
public void RemoteSuffle(SWNetworkMessage msg) { status.text = "Greate!!"; }
public void Teleport(SWNetworkMessage message) { Vector3 targetPosition = message.PopVector3(); transform.position = targetPosition; }