IEnumerator _Activate(IndividualCard myCard) { isFin = false; while (!IsOnPos() || isGoToPosActive) { yield return(0); } GoToPos(myCard.x, myCard.y, "Poison"); while (!IsOnPos()) { yield return(0); } yield return(new WaitForSeconds(0.5f)); myCard.SelectCard(); myCard.cardType = 15; myCard.isPoison = true; myCard.selectedEffect = (GameObject)Instantiate(poisonSelectEfect, myCard.transform.position, Quaternion.identity); yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_activeTime)); myCard.UnSelectCard(); isFin = true; }
IEnumerator NetworkActivate(int player, IndividualCard myCard) { myCard.SelectCard(); myCard.cardType = 15; myCard.isPoison = true; myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_activeTime)); if (network_scoreboard [player] != null) { network_scoreboard [player].GetComponent <DisableAndDestroy> ().Engage(); } network_scoreboard [player] = null; myCard.UnSelectCard(); }
IEnumerator _Activate(IndividualCard myCard) { SendAction(myCard.x, myCard.y, PowerUpManager.ActionType.Activate); myCard.SelectCard(); myCard.cardType = 15; myCard.isPoison = true; myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); indicator.GetComponent <DisableAndDestroy> ().Engage(); indicator = null; LocalPlayerController.s.PowerUpMode(false); PowerUpManager.s.canActivatePowerUp = true; LocalPlayerController.s.canSelect = true; yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_activeTime)); myCard.UnSelectCard(); }
/// <summary> /// Dont use this method unless necessary, CheckCards will automatically unselect for you /// </summary> /// <param name="card"></param> protected void UnSelect(IndividualCard card) { card.UnSelectCard(); DataHandler.s.SendPlayerAction(card.x, card.y, CardHandler.CardActions.UnSelect); }
public void ReceiveNetworkCorrection(byte[] data) { int x; int y; int type; int selectEffectID; cardStates state; x = System.BitConverter.ToInt16(data, 2); y = System.BitConverter.ToInt16(data, 2 + 2); type = System.BitConverter.ToInt16(data, 2 + 2 + 2); selectEffectID = System.BitConverter.ToInt16(data, 2 + 2 + 2 + 2); char cState = (char)data [2 + 2 + 2 + 2 + 2]; switch (cState) { case cs_open: state = cardStates.open; break; case cs_close: state = cardStates.close; break; case cs_match: state = cardStates.matched; break; default: state = cardStates.close; break; } IndividualCard myCard = null; try{ myCard = CardHandler.s.allCards [x, y]; //these will unselect the card from respective places LocalPlayerController.s.ReceiveNetworkCorrection(myCard); PowerUpManager.s.ReceiveNetworkCorrection(myCard); NPCManager.s.ReceiveNetworkCorrection(myCard); } catch (Exception e) { DataLogger.LogMessage(e.Message + " - " + e.StackTrace); } if (myCard != null) { //after unselection is done, we will update the card type to be correct CardHandler.s.UpdateCardType(x, y, type); switch (state) { case cardStates.open: myCard.SelectCard(-1); if (selectEffectID > 0) { myCard.DestroySelectedEfect(); myCard.selectedEffect = (GameObject)Instantiate(GS.a.gfxs.selectEffects[selectEffectID].gameObject, myCard.transform.position, Quaternion.identity); } break; case cardStates.close: myCard.UnSelectCard(); break; case cardStates.matched: myCard.NetworkCorrectMatch(); break; default: myCard.UnSelectCard(); break; } } }