public void resizeHealthBar(ComputerLayer touchedLayer, int health) { float sizeGreenLife = oneLife * health; float sizeGreenLife2 = oneLife2 * health; switch (touchedLayer) { case ComputerLayer.OS: //sizeGreenLife = oneLife * health; osHealthBar.sizeDelta = new Vector2(sizeGreenLife, osHealthBar.sizeDelta.y); osHealthBar2.sizeDelta = new Vector2(sizeGreenLife2, osHealthBar2.sizeDelta.y); break; case ComputerLayer.SOFTWARE: //sizeGreenLife = oneLife * health; softwareHealthBar.sizeDelta = new Vector2(sizeGreenLife, softwareHealthBar.sizeDelta.y); softwareHealthBar2.sizeDelta = new Vector2(sizeGreenLife2, softwareHealthBar2.sizeDelta.y); break; case ComputerLayer.HARDWARE: //sizeGreenLife = oneLife * health; hardwareHealthBar.sizeDelta = new Vector2(sizeGreenLife, hardwareHealthBar.sizeDelta.y); hardwareHealthBar2.sizeDelta = new Vector2(sizeGreenLife2, hardwareHealthBar2.sizeDelta.y); break; } size = sizeGreenLife2; }
public void CmdFire(string[] cardPlayedInfos) { bool isAttakCard = (cardPlayedInfos[3].ToUpper() == "TRUE"); ComputerLayer touchedLayer = ComputerLayer.HARDWARE; string touchedLayerString = cardPlayedInfos[4].ToUpper(); if (touchedLayerString == "SOFTWARE") { touchedLayer = ComputerLayer.SOFTWARE; } else if (touchedLayerString == "OS") { touchedLayer = ComputerLayer.OS; } Card cardPlayedByThePlayer = new Card(cardPlayedInfos[0], cardPlayedInfos[1], cardPlayedInfos[2], isAttakCard, touchedLayer, int.Parse(cardPlayedInfos[5]), new Color(int.Parse(cardPlayedInfos[6]), int.Parse(cardPlayedInfos[7]), int.Parse(cardPlayedInfos[8])) ); if (cardPlayedByThePlayer.isAttackCard) { var virus = (GameObject)Instantiate(virusPrefab, virusSpawn.position, virusSpawn.rotation); var virusEffects = virus.GetComponent <VirusController>(); virusEffects.targetLayer1 = cardPlayedByThePlayer.touchedLayer; virusEffects.damageLayer1 = cardPlayedByThePlayer.getDamage(); //Changer la couleur de la balle pour qu'elle soit de la même couleur que la carte Renderer[] rends = virus.GetComponentsInChildren <Renderer>(); foreach (Renderer r in rends) { r.material.color = cardPlayedByThePlayer.getCardColor(); } virus.GetComponent <Rigidbody>().velocity = virus.transform.forward * 6; //faire apparaitre la balle sur les clients NetworkServer.Spawn(virus); //Faire disparaitre la balle au bout de 5sec pour éviter une surcharge des ressources Destroy(virus, 5.0f); } // Si la carte n'est pas une carte d'attaque alors c'est une carte qui nous rajoute des points else if (!cardPlayedByThePlayer.isAttackCard) { myHealth.setHealth(cardPlayedByThePlayer.touchedLayer, cardPlayedByThePlayer.getDamage(), false); } }
public Card(string name, string definition, string action, bool isAttackCard, ComputerLayer touchedLayer, int damage, Color cardColor) { this.name = name.ToUpper(); this.definition = definition; this.action = action; this.isAttackCard = isAttackCard; this.damage = damage; //Permet de s'assurer que l'on ne s'est pas trompé lors de la déclaration du nombre de dégâts setDamage(this.damage); this.cardColor = cardColor; this.touchedLayer = touchedLayer; redColor = cardColor.r; greenColor = cardColor.g; blueColor = cardColor.b; }
public void setHealth(ComputerLayer touchedLayer, int amount, bool isCardDecreaseHealth = true) { if (!isServer) { return; } //Vérifier si les points de vies sont négatifs switch (touchedLayer) { case ComputerLayer.OS: if (isCardDecreaseHealth) { currentOsHealth -= amount; } else { currentOsHealth = updateIfItIsLessThanTheMaximumHealth(currentOsHealth + amount); } break; case ComputerLayer.SOFTWARE: if (isCardDecreaseHealth) { currentSoftwareHealth -= amount; } else { currentSoftwareHealth = updateIfItIsLessThanTheMaximumHealth(currentSoftwareHealth + amount); } break; case ComputerLayer.HARDWARE: if (isCardDecreaseHealth) { currentHardwareHealth -= amount; } else { currentHardwareHealth = updateIfItIsLessThanTheMaximumHealth(currentHardwareHealth + amount); } break; } if (currentOsHealth <= 0) { currentOsHealth = 0; } if (currentSoftwareHealth <= 0) { currentSoftwareHealth = 0; } if (currentHardwareHealth <= 0) { currentHardwareHealth = 0; } remainingLife = currentOsHealth + currentSoftwareHealth + currentHardwareHealth; /*if (remainingLife <= 0) * { * gameOver(); * }*/ }