public Game(string name) { shaman = new Player(name, 0); //vanno inizializzati opponent = new Player("Opponent", 1); //vanno inizializzati comm = Communication.Communicator.getInstance(); }
public void OnOpponentDiceResult(int opponentDiceResult) //in questa funzione viene stabilito di chi e' il turno { this.opponentDiceResult = opponentDiceResult; comm = Communication.Communicator.getInstance(); comm.sendMana(shaman.mana); myRound = false; if (diceResult == opponentDiceResult)//questa parte andra' ricontrollata il problema era che nn era inizializzato Comm { ThrowDice(); comm.game_diceResult(diceResult); //si invia nuovamente il risultato del dado if (diceResult > opponentDiceResult) { myRound = true; FirstRoundStart(); } } else { if (diceResult > opponentDiceResult) { myRound = true; } FirstRoundStart(); } }
public void FirstRoundStart() //viene chiamato solo la prima volta { //invio i miei dati all'opponent comm = Communication.Communicator.getInstance(); //comm.sendPlayerInfo(shaman); comm.setRound(myRound); //setto il round per la grafica comm.sendMana(shaman.mana); //Primo round invio il mana alla grafica if (myRound) { Enums.Mana manaTemp = shaman.mana.addRandomMana(); //aggiungo il mana random allo shamano comm.sendMana(shaman.mana); //invio l'update del mana } }
public void GetSpiritTarget() { comm = Communication.Communicator.getInstance(); comm.GetAllyElementalTarget(); }
public void GetPlayerTarget() { comm = Communication.Communicator.getInstance(); comm.GetPlayersTarget(); }
public void GetAnyTarget() { comm = Communication.Communicator.getInstance(); comm.GetAnyTarget(); }
public void manaChoosen(Enums.Mana manaParam, Enums.ManaEvent manaEventparam) //mi passa il mana selezionato { if (manaEventparam == Enums.ManaEvent.NewRound) { comm = Communication.Communicator.getInstance(); shaman.mana.incMana(manaParam); //se ha raggiunto il mana max non viene aggiunto il mana comm.SendOpponentManaChosen(manaParam); //invio il mana scelto all'avversario comm.sendMana(shaman.mana); //invio l'update del mana Enums.Mana manaTemp = shaman.mana.addRandomMana(); //aggiungo il mana random allo shamano comm.sendMana(shaman.mana); //invio l'update del mana //Aggiungo il mana delle polle shaman.mana.addManaPool(); comm.sendMana(shaman.mana); //invio l'update del mana //Ricordati che ho fatto 3 send mana invece di uno perche' cosi' possiamo fare 3 animazioni distinte in base al mana che viene aggiunto } if (manaEventparam == Enums.ManaEvent.AddMana) { comm = Communication.Communicator.getInstance(); MicroActionsProcessor.microactionParams.Add("Mana", manaParam.ToString()); char separator = '.'; string[] splitted = MicroActionsProcessor.microactions[MicroActionsProcessor.index].ToUpper().Split(separator); string MicroActionName = splitted[0]; // qui chiama la MicroAzione e aggiorna i bersagli. MicroActions.table[MicroActionName](MicroActionsProcessor.microactionParams); // CHIAMATA comm.sendMana(shaman.mana); comm.SendOpponentManaChosen(manaParam);// player si aggiorna. MicroActionsProcessor.microactions.RemoveAt(MicroActionsProcessor.index); // svuota la posizione [0] di tutte le liste. MicroActionsProcessor.targets.RemoveAt(MicroActionsProcessor.index); MicroActionsProcessor.microactionParams.Clear(); MicroActionsProcessor.AcquireMicroactionsParams(); //callback a AcquireMicroactionsParam. } }
public void StartTourn() { comm = Communication.Communicator.getInstance(); myRound = true; shaman.mana.setPoolFlag(false); if (shaman.cardsOnBoard != null) if (shaman.cardsOnBoard.Count != 0) { foreach (Elemental elemTemp in shaman.cardsOnBoard) if (elemTemp.type == Enums.Type.Elemental) { elemTemp.hasAttacked = false; elemTemp.hasAttackedThunderborn = false; elemTemp.hasWeakness = false; } foreach (Card cardTemp in shaman.cardsOnBoard) cardTemp.CanUsePowers = true; } PowersCooldowns(); // scala clock poteri. if (opponent.cardsOnBoard != null) if (opponent.cardsOnBoard.Count != 0) foreach (Elemental elemTemp in opponent.cardsOnBoard) // poison scalato. if (elemTemp.debuff.Contains(Enums.Debuff.Poison)) { foreach (Enums.Debuff deBuff in elemTemp.debuff) elemTemp.hp -= 1; comm.UpdateElemental(elemTemp); } comm.setRound(myRound);//invio la chiamata in locale comm.ChoseMana(Enums.ManaEvent.NewRound); //Chiedo di selezionare il mana che prendo in manaAtStart }
public void EndTourn() //viene chiamato quando shaman passa il turno { comm = Communication.Communicator.getInstance(); myRound = false; comm.setRound(myRound); comm.EndRound(); //chiamata per cambiare il round }
public void manaChoosen(Enums.Mana manaParam,Enums.ManaEvent manaEventparam) //mi passa il mana selezionato { if (manaEventparam == Enums.ManaEvent.NewRound) { comm = Communication.Communicator.getInstance(); shaman.mana.incMana(manaParam); //se ha raggiunto il mana max non viene aggiunto il mana comm.SendOpponentManaChosen(manaParam); //invio il mana scelto all'avversario comm.sendMana(shaman.mana); //invio l'update del mana Enums.Mana manaTemp = shaman.mana.addRandomMana(); //aggiungo il mana random allo shamano comm.sendMana(shaman.mana); //invio l'update del mana //Aggiungo il mana delle polle shaman.mana.addManaPool(); comm.sendMana(shaman.mana); //invio l'update del mana //Ricordati che ho fatto 3 send mana invece di uno perche' cosi' possiamo fare 3 animazioni distinte in base al mana che viene aggiunto } }
public void StartTourn() { comm = Communication.Communicator.getInstance(); myRound = true; shaman.mana.setPoolFlag(false); if (shaman.cardsOnBoard != null) if (shaman.cardsOnBoard.Count != 0) foreach (Elemental elemTemp in shaman.cardsOnBoard) if (elemTemp.type == Enums.Type.Elemental) { elemTemp.hasAttacked = false; elemTemp.hasAttackedThunderborn = false; elemTemp.hasWeakness = false; } comm.setRound(myRound);//invio la chiamata in locale comm.ChoseMana(Enums.ManaEvent.NewRound); //Chiedo di selezionare il mana che prendo in manaAtStart }