/** * Transforme la capacite en mode ajout mais conserve le meme impact * util si la valeur de base peut changer * */ public void transformToAddMode(int baseValue) { if (idTypeOperation != ConstanteEnum.TypeCalcul.Ajout) { int newValue = getNewValue(baseValue); idTypeOperation = ConstanteEnum.TypeCalcul.Ajout; valeurOperation = newValue - baseValue; } }
public CapaciteMetier(int idTypeCapacite, int idCapaciteDTO, ConstanteEnum.TypeCalcul idTypeOperation, int valeurOperation, NetworkInstanceId idCarteProvenance, bool reversible, int nbTourRestant) { id = "Capa_" + sequenceId++; this.idCapaciteProvenance = idCapaciteDTO; this.idTypeCapacite = idTypeCapacite; this.idCarteProvenance = idCarteProvenance; this.idTypeOperation = idTypeOperation; this.valeurOperation = valeurOperation; this.reversible = reversible; this.nbTourRestant = nbTourRestant; }
public static int getNewValue(int oldValue, int quantite, ConstanteEnum.TypeCalcul typeCalcul) { int newValue; switch (typeCalcul) { case ConstanteEnum.TypeCalcul.RemiseA: newValue = quantite; break; case ConstanteEnum.TypeCalcul.Ajout: newValue = oldValue + quantite; break; case ConstanteEnum.TypeCalcul.Multiplication: newValue = oldValue * quantite; break; case ConstanteEnum.TypeCalcul.Division: newValue = oldValue / quantite; break; case ConstanteEnum.TypeCalcul.Des: newValue = (int)Random.Range(0, quantite + 1); break; case ConstanteEnum.TypeCalcul.Chance: newValue = Random.Range(0, quantite + 1) >= quantite ? 1 : 0; break; case ConstanteEnum.TypeCalcul.SuperieurARessource: int ressource = 2; //TODO modifier pour bonne value newValue = quantite >= ressource ? ressource - quantite : 0; break; default: newValue = oldValue; break; } return(newValue); }