//This is used when locally selecting a posion card. Network poisoning happens differently+ public void ChoosePoisonCard(int myPlayerinteger, IndividualCard myCard, string message) { DataLogger.LogMessage("Player: " + myPlayerinteger.ToString() + " picked Poison card!" + myCard.cBase.myPoisonType + " - " + message); switch (myCard.cBase.myPoisonType) { case CardBase.PoisonTypes.DeadlyPoison: DeadlyRoutineHolder myHolder = new DeadlyRoutineHolder(myCard); Coroutine myRout = StartCoroutine(DeadlyPoisonCard(myPlayerinteger, myCard, myHolder)); myHolder.routine = myRout; ActivatedDeadlyPoisons.Enqueue(myHolder); findTheCureUIEffect.SetActive(true); break; case CardBase.PoisonTypes.PoisonCure: if (CureDeadlyPoison()) { myCard.SelectCard(myPlayerinteger); myCard.Invoke("MatchCard", 1f); } else { myCard.SelectCard(myPlayerinteger); myCard.Invoke("UnSelectCard", 1f); } break; } }
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; }
protected bool Select(IndividualCard card) { if (card == null) { return(false); } if (DataHandler.s.myPlayerInteger == 0) { SendNPCAction(card.x, card.y, NPCManager.ActionType.SelectCard, -1); } card.isTargeted = false; if (card.isSelectable) { card.SelectCard(DataHandler.NPCInteger); //SendAction (card.x, card.y, power, amount, PowerUpManager.ActionType.SelectCard); mem_Cards.Add(card); if (selectPrefab != null) { card.selectedEffect = Instantiate(selectPrefab.gameObject, card.transform.position, Quaternion.identity); } denyCount = 0; return(true); } else { return(false); } }
public void SelectCard(IndividualCard myCardS) { canSelect = false; if (myCardS.cBase.isPoison && !canSelect) { CardChecker.s.UnSelectCards(mem_Cards); CardChecker.s.EmptyArray(mem_Cards); canSelect = true; PoisonMaster.s.ChoosePoisonCard(DataHandler.s.myPlayerInteger, myCardS, "local player"); return; } /*if (activeTimer != null) * StopCoroutine (activeTimer);*/ PowerUpManager.s.SelectInvoke(myCardS); myCardS.selectedEffect = (GameObject)Instantiate(myEffect, myCardS.transform.position, Quaternion.identity); myCardS.selectEffectID = DataHandler.s.myPlayerInteger; myCardS.SelectCard(DataHandler.s.myPlayerInteger); DataHandler.s.SendPlayerAction(myCardS.x, myCardS.y, CardHandler.CardActions.Select); mem_Cards.Add(myCardS); canSelect = true; /*activeTimer = DeselectTimer (myCardS); * StartCoroutine (activeTimer);*/ if (mem_Cards.Count >= handSize) { canSelect = false; Invoke("CheckCards", GS.a.playerSelectionSettings.checkSpeedPlayer); } }
public void ShadowSelectCard(IndividualCard myCard) { myCard.SelectCard(); mem_Cards_List.Add(myCard); myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); Instantiate(activatePrefab, myCard.transform.position, Quaternion.identity); }
public void ReceiveAction(int player, int x, int y, PowerUpManager.ActionType action) { switch (action) { case PowerUpManager.ActionType.Enable: network_scoreboard [player] = (GameObject)Instantiate(scoreboardPrefab, ScoreBoardManager.s.scoreBoards [player].transform); network_scoreboard [player].transform.ResetTransformation(); break; case PowerUpManager.ActionType.Activate: IndividualCard myCard = CardHandler.s.allCards [x, y]; if (myCard.isSelectable) { myCard.SelectCard(); myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); } else { DataHandler.s.NetworkCorrection(myCard); } break; case PowerUpManager.ActionType.Disable: if (network_scoreboard [player] != null) { network_scoreboard [player].GetComponent <DisableAndDestroy> ().Engage(); } network_scoreboard [player] = null; break; default: DataLogger.LogError("Unrecognized power up action PUE"); break; } }
void SelectCard(IndividualCard myCard, int i) { myCard.SelectCard(); mem_Cards[i] = myCard; mem_Cards[i].selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); mem_Cards [i].selectEffectID = 1 + 4 + 1; Instantiate(activatePrefab, myCard.transform.position, Quaternion.identity); SendAction(myCard.x, myCard.y, PowerUpManager.ActionType.Activate); }
public void Activate(IndividualCard myCard) { myCard.SelectCard(); mem_Cards.Add(myCard); myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); myCard.selectEffectID = 1 + 4 + 1 + 1; Instantiate(activatePrefab, myCard.transform.position, Quaternion.identity); SendAction(myCard.x, myCard.y, PowerUpManager.ActionType.Activate); LocalPlayerController.s.canSelect = true; counter++; /*if (counter >= GS.a.shadow_activeCount) * Disable ();*/ }
public void ReceiveAction(int player, IndividualCard card, int _power, float _amount, PowerUpManager.ActionType action) { try { switch (action) { case PowerUpManager.ActionType.Enable: if (indicatorScoreboardPrefab != null) { networkedIndicators[player] = (GameObject)Instantiate(indicatorScoreboardPrefab, ScoreBoardManager.s.scoreBoards[player].transform); networkedIndicators[player].transform.ResetTransformation(); } NetworkedEnable(player, _power, _amount); break; case PowerUpManager.ActionType.Activate: NetworkedActivate(player, card, _power, _amount); break; case PowerUpManager.ActionType.SelectCard: if (card.isSelectable) { card.SelectCard(-1); } else { DataHandler.s.NetworkCorrection(card); } break; case PowerUpManager.ActionType.Disable: if (networkedIndicators[player] != null) { networkedIndicators[player].GetComponent <DisableAndDestroy> ().Engage(); } networkedIndicators[player] = null; NetworkedDisable(player, _power, _amount); break; default: DataLogger.LogError("Unrecognized power up action PUF"); break; } } catch (System.Exception e) { DataLogger.LogError(this.name, e); } }
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 NetworkDisable(int player, IndividualCard myCard) { myCard.SelectCard(); Instantiate(activatePrefab, myCard.transform.position, Quaternion.identity); myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_checkSpeed / 4f)); for (int i = 0; i < GS.a.powerUpSettings.poison_damage; i++) { GameObject exp = (GameObject)Instantiate(scoreLowerExplosionPrefab, ScoreBoardManager.s.scoreBoards [player].transform); exp.transform.ResetTransformation(); yield return(new WaitForSeconds((GS.a.powerUpSettings.poison_checkSpeed / 2f) / (float)GS.a.powerUpSettings.poison_damage)); } yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_checkSpeed / 4f)); myCard.PoisonMatch(); }
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(); }
IEnumerator _ChoosePoisonCard(int myPlayerinteger, IndividualCard myCard) { bool temp = true; if (myPlayerinteger == DataHandler.s.myPlayerInteger) { //LocalPlayerController.s.canSelect = false; //temp = PowerUpManager.s.canActivatePowerUp; //PowerUpManager.s.canActivatePowerUp = false; } myCard.SelectCard(); Instantiate(activatePrefab, myCard.transform.position, Quaternion.identity); myCard.selectedEffect = (GameObject)Instantiate(selectPrefab, myCard.transform.position, Quaternion.identity); myCard.isPoison = false; print("poison coroutine started"); yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_checkSpeed / 4f)); for (int i = 0; i < GS.a.powerUpSettings.poison_damage; i++) { ScoreBoardManager.s.AddScore(myPlayerinteger, 0, -1, false); GameObject exp = (GameObject)Instantiate(scoreLowerExplosionPrefab, ScoreBoardManager.s.scoreBoards [myPlayerinteger].transform); exp.transform.ResetTransformation(); yield return(new WaitForSeconds((GS.a.powerUpSettings.poison_checkSpeed / 2f) / (float)GS.a.powerUpSettings.poison_damage)); } yield return(new WaitForSeconds(GS.a.powerUpSettings.poison_checkSpeed / 4f)); if (myPlayerinteger == DataHandler.s.myPlayerInteger) { //LocalPlayerController.s.canSelect = true; //PowerUpManager.s.canActivatePowerUp = temp; } myCard.PoisonMatch(); }
protected void Select(IndividualCard card) { if (card == null) { return; } if (card.isOccupied) { card.KillOccupants(); } if (card.isSelectable) { card.SelectCard(-1); SendAction(card.x, card.y, power, amount, PowerUpManager.ActionType.SelectCard); mem_Cards.Add(card); if (selectPrefab != null) { card.selectedEffect = (GameObject)Instantiate(selectPrefab, card.transform.position, Quaternion.identity); } } }
IEnumerator DeadlyPoisonCard(int myPlayerinteger, IndividualCard myCard, DeadlyRoutineHolder holder) { myCard.SelectCard(myPlayerinteger); float timer = myCard.cBase.poisonAmount; GameObject myEffect = Instantiate(deadlyPoisonEffect, myCard.transform.position, Quaternion.identity); myEffect.GetComponent <DeadlyPoisonEffect> ().SetUp(timer); holder.effect = myEffect; yield return(new WaitForSeconds(timer)); LocalPlayerController.s.canSelect = false; GameObjectiveMaster.s.isGamePlaying = false; Instantiate(deadlyPoisonExplodeEffect, myCard.transform.position, Quaternion.identity); yield return(new WaitForSeconds(1f)); GameObjectiveMaster.s.EndGame(GameObjectiveMaster.s.WinnerID(false)); yield return(null); }
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; } } }
void SelectCard(IndividualCard myCard, int i) { myCard.SelectCard(); mem_Cards[i] = myCard; SendAction(myCard.x, myCard.y, PowerUpManager.ActionType.SelectCard); }
public void SelectCard(IndividualCard myCard, int i) { myCard.SelectCard(); mem_Cards[i] = myCard; }