private string GetPsionicProjectileAttackPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return("Audio/ProjectileLaunch/Psionic/hightemplar_attack"); case PlayerUnitRank.C: return("Audio/ProjectileLaunch/Psionic/dragoon_attack"); case PlayerUnitRank.B: return("Audio/ProjectileLaunch/Psionic/shockwave_attack"); case PlayerUnitRank.A: return("Audio/ProjectileLaunch/Psionic/hightemplar_attack"); case PlayerUnitRank.S: return("Audio/ProjectileLaunch/Psionic/shockwave_attack"); case PlayerUnitRank.X: return("Audio/ProjectileLaunch/Psionic/dragoon_attack"); default: throw new GameplayException("Unrecognized unit rank value: " + rank.ToString() + ". Cannot play psionic attack sound."); } }
private string GetLaserProjectileAttackPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return("Audio/ProjectileLaunch/Laser/laser_attack"); case PlayerUnitRank.C: return("Audio/ProjectileLaunch/Laser/laser_attack"); case PlayerUnitRank.B: return("Audio/ProjectileLaunch/Laser/wraith_laser"); case PlayerUnitRank.A: return("Audio/ProjectileLaunch/Laser/wraith_laser"); case PlayerUnitRank.S: return("Audio/ProjectileLaunch/Laser/wraithair_attack"); case PlayerUnitRank.X: return("Audio/ProjectileLaunch/Laser/yamato_attack"); default: throw new GameplayException("Unrecognized unit rank value: " + rank.ToString() + ". Cannot play laser attack sound."); } }
private string GetAcidProjectileAttackPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return("Audio/ProjectileLaunch/Acid/mutalisk_attack"); case PlayerUnitRank.C: return("Audio/ProjectileLaunch/Acid/guardian_attack"); case PlayerUnitRank.B: return("Audio/ProjectileLaunch/Acid/devourer_attack"); case PlayerUnitRank.A: return("Audio/ProjectileLaunch/Acid/hydralisk_attack"); case PlayerUnitRank.S: return("Audio/ProjectileLaunch/Acid/hydralisk_attack"); case PlayerUnitRank.X: return("Audio/ProjectileLaunch/Acid/devourer_attack"); default: throw new GameplayException("Unrecognized unit rank value: " + rank.ToString() + ". Cannot play acid attack sound."); } }
private int ComputeGasRefund(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return(30); case PlayerUnitRank.C: return(60); case PlayerUnitRank.B: return(120); case PlayerUnitRank.A: return(240); case PlayerUnitRank.S: return(480); case PlayerUnitRank.X: return(960); default: throw new GameplayException("Unrecognized player unit rank. Cannot sell unit."); } }
// Player Unit Creation Functions public PlayerUnit CreatePlayerUnit(PlayerUnitRank rank, UnitClass unitClass) { // Create player unit object Transform playerUnitPrefab = GetPlayerUnitPrefabFromUnitClass(unitClass); PlayerUnit playerUnit = Instantiate(playerUnitPrefab, playerUnitSpawnLocation).GetComponent <PlayerUnit>(); // Initialize player unit data PlayerUnitData playerUnitData = unitFactory.CreatePlayerUnitData(rank, unitClass); playerUnit.InitializePlayerUnitGameObject(playerUnitData); // Prevent Stacking on Spawn MovePlayerUnitToOffset(playerUnit); // Check Achievement on every player unit creation GameEngine.GetInstance().achievementManager.CheckAchievementsForPlayerUnitCreation(); // Display message MessageType msgType = MessageType.INFO; if (playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.S || playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.X) { msgType = MessageType.POSITIVE; } GameEngine.GetInstance().messageQueue.PushMessage("[" + playerUnit.GetPlayerUnitData().GetRank() + " Rank Unit] " + Utils.CleanEnumString(playerUnit.GetPlayerUnitData().GetUnitClass().ToString()), msgType); // Sound Effect GameEngine.GetInstance().audioManager.PlayAudio(AudioManager.PLAYER_UNIT_CREATION_SOUND); return(playerUnit); }
public PlayerUnit CreateRandomUnitOfRank(PlayerUnitRank rank) { if (rank == PlayerUnitRank.D) { return(CreateRandomDUnit()); } else if (rank == PlayerUnitRank.C) { return(CreateRandomCUnit()); } else if (rank == PlayerUnitRank.B) { return(CreateRandomBUnit()); } else if (rank == PlayerUnitRank.A) { return(CreateRandomAUnit()); } else if (rank == PlayerUnitRank.S) { return(CreateRandomSUnit()); } else { throw new GameplayException("Unsupported rank value: " + rank.ToString()); } }
private string GetMechProjectileLandingPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return("Audio/ProjectileLanding/Mech/grenade_landing"); case PlayerUnitRank.C: return(""); case PlayerUnitRank.B: return(""); case PlayerUnitRank.A: return("Audio/ProjectileLanding/Mech/grenade_landing"); case PlayerUnitRank.S: return(""); case PlayerUnitRank.X: return(""); default: return(""); } }
private string GetBladeProjectileAttackPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return("Audio/ProjectileLaunch/Blade/glaive_attack"); case PlayerUnitRank.C: return("Audio/ProjectileLaunch/Blade/glaive_attack"); case PlayerUnitRank.B: return("Audio/ProjectileLaunch/Blade/glaive_attack_2"); case PlayerUnitRank.A: return("Audio/ProjectileLaunch/Blade/glaive_attack_2"); case PlayerUnitRank.S: return("Audio/ProjectileLaunch/Blade/interceptor_attack"); case PlayerUnitRank.X: return("Audio/ProjectileLaunch/Blade/interceptor_attack"); default: throw new GameplayException("Unrecognized unit rank value: " + rank.ToString() + ". Cannot play blade attack sound."); } }
private string GetPsionicProjectileLandingPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return(""); case PlayerUnitRank.C: return("Audio/ProjectileLanding/Psionic/psionic_explosion"); case PlayerUnitRank.B: return(""); case PlayerUnitRank.A: return(""); case PlayerUnitRank.S: return(""); case PlayerUnitRank.X: return("Audio/ProjectileLanding/Psionic/scarab_hit"); default: return(""); } }
private bool CheckAllCCombo() { if (GameEngine.GetInstance().gas < 300) { return(false); } PlayerUnit infantryUnit = null; PlayerUnit mechUnit = null; PlayerUnit laserUnit = null; PlayerUnit psionicUnit = null; PlayerUnit acidUnit = null; PlayerUnit bladeUnit = null; foreach (PlayerUnit p in unitsOnMixer) { PlayerUnitRank playerUnitRank = p.GetPlayerUnitData().GetRank(); UnitClass playerUnitClass = p.GetPlayerUnitData().GetUnitClass(); if (playerUnitRank == PlayerUnitRank.C && playerUnitClass == UnitClass.INFANTRY) { infantryUnit = p; } else if (playerUnitRank == PlayerUnitRank.C && playerUnitClass == UnitClass.MECH) { mechUnit = p; } else if (playerUnitRank == PlayerUnitRank.C && playerUnitClass == UnitClass.LASER) { laserUnit = p; } else if (playerUnitRank == PlayerUnitRank.C && playerUnitClass == UnitClass.PSIONIC) { psionicUnit = p; } else if (playerUnitRank == PlayerUnitRank.C && playerUnitClass == UnitClass.ACID) { acidUnit = p; } else if (playerUnitRank == PlayerUnitRank.C && playerUnitClass == UnitClass.BLADE) { bladeUnit = p; } } if (infantryUnit != null && mechUnit != null && laserUnit != null && psionicUnit != null && acidUnit != null && bladeUnit != null) { RemoveUnitSafely(infantryUnit); RemoveUnitSafely(mechUnit); RemoveUnitSafely(laserUnit); RemoveUnitSafely(psionicUnit); RemoveUnitSafely(acidUnit); RemoveUnitSafely(bladeUnit); GameEngine.GetInstance().DecreaseGas(300); PlayerUnit newPlayerUnit = GameEngine.GetInstance().unitSpawner.CreateRandomUnitOfRank(PlayerUnitRank.S); return(true); } return(false); }
private string GetAcidProjectileLandingPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return(""); case PlayerUnitRank.C: return("Audio/ProjectileLanding/Acid/guardian_hit"); case PlayerUnitRank.B: return("Audio/ProjectileLanding/Acid/corrosive_acid"); case PlayerUnitRank.A: return(""); case PlayerUnitRank.S: return(""); case PlayerUnitRank.X: return("Audio/ProjectileLanding/Acid/corrosive_acid"); default: return(""); } }
private string GetMechProjectileAttackPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return("Audio/ProjectileLaunch/Mech/vulture_attack"); case PlayerUnitRank.C: return("Audio/ProjectileLaunch/Mech/goliath_attack"); case PlayerUnitRank.B: return("Audio/ProjectileLaunch/Mech/tank_attack"); case PlayerUnitRank.A: return("Audio/ProjectileLaunch/Mech/vulture_attack"); case PlayerUnitRank.S: return("Audio/ProjectileLaunch/Mech/tanksiege_attack"); case PlayerUnitRank.X: return("Audio/ProjectileLaunch/Mech/missile_launcher"); default: throw new GameplayException("Unrecognized unit rank value: " + rank.ToString() + ". Cannot play mech attack sound."); } }
private string GetInfantryProjectileAttackPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.D: return("Audio/ProjectileLaunch/Infantry/ghost_attack"); case PlayerUnitRank.C: return("Audio/ProjectileLaunch/Infantry/ghost_attack"); case PlayerUnitRank.B: return("Audio/ProjectileLaunch/Infantry/marine_attack"); case PlayerUnitRank.A: return("Audio/ProjectileLaunch/Infantry/ghost_attack"); case PlayerUnitRank.S: return("Audio/ProjectileLaunch/Infantry/ghost_attack"); case PlayerUnitRank.X: return("Audio/ProjectileLaunch/Infantry/marine_attack"); default: throw new GameplayException("Unrecognized unit rank value: " + rank.ToString() + ". Cannot play infantry attack sound."); } }
//---------- Unit Mixing Methods ---------- private bool CheckMatchingUnit(PlayerUnit playerUnit) { PlayerUnit matchingPlayerUnit = null; matchingPlayerUnit = GetMatchingUnitType(playerUnit); if (matchingPlayerUnit != null) { PlayerUnitRank newUnitRank = GetNextTierRank(playerUnit.GetPlayerUnitData().GetRank()); RemoveUnitSafely(playerUnit); RemoveUnitSafely(matchingPlayerUnit); PlayerUnit newPlayerUnit = GameEngine.GetInstance().unitSpawner.CreateRandomUnitOfRank(newUnitRank); return(true); } return(false); }
public PlayerUnitData CreatePlayerUnitData(PlayerUnitRank rank, int selection) { UnitClass unitClass = ConvertIntegerToUnitClass(selection); if (unitClass == UnitClass.MAGIC || unitClass == UnitClass.FLAME) { if (rank == PlayerUnitRank.D || rank == PlayerUnitRank.C) { throw new GameplayException("Cannot create player unit data object. Invalid combination for rank and selection: " + rank + " " + selection); } } PlayerUnitData playerUnitData = CreatePlayerUnitData(rank, unitClass); return(playerUnitData); }
// Projectile Landings - not all units will have projectile landings, only select few ones public void PlayProjectileLandingSound(UnitClass unitClass, PlayerUnitRank rank) { string path; switch (unitClass) { case UnitClass.INFANTRY: path = GetInfantryProjectileLandingPath(rank); break; case UnitClass.MECH: path = GetMechProjectileLandingPath(rank); break; case UnitClass.LASER: path = GetLaserProjectileLandingPath(rank); break; case UnitClass.PSIONIC: path = GetPsionicProjectileLandingPath(rank); break; case UnitClass.ACID: path = GetAcidProjectileLandingPath(rank); break; case UnitClass.BLADE: path = GetBladeProjectileLandingPath(rank); break; case UnitClass.MAGIC: path = GetMagicProjectileLandingPath(rank); break; case UnitClass.FLAME: path = GetFlameProjectileLandingPath(rank); break; default: throw new GameplayException("Unrecognized unit class: " + unitClass.ToString() + ". Cannot play projectile landing attack sound."); } if (path.Length > 0) { PlayAudio(path, projectileLandingAudioSource); } }
private bool CheckXCombo(PlayerUnit playerUnit) { if (GameEngine.GetInstance().hasXUnit) { return(false); } if (playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.D || playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.C || playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.X) { return(false); } UnitClass targetUnitClass = playerUnit.GetPlayerUnitData().GetUnitClass(); PlayerUnit bUnit = null; PlayerUnit aUnit = null; PlayerUnit sUnit = null; foreach (PlayerUnit p in unitsOnMixer) { PlayerUnitRank playerUnitRank = p.GetPlayerUnitData().GetRank(); UnitClass playerUnitClass = p.GetPlayerUnitData().GetUnitClass(); if (bUnit == null && playerUnitRank == PlayerUnitRank.B && playerUnitClass == targetUnitClass) { bUnit = p; } else if (aUnit == null && playerUnitRank == PlayerUnitRank.A && playerUnitClass == targetUnitClass) { aUnit = p; } else if (sUnit == null && playerUnitRank == PlayerUnitRank.S && playerUnitClass == targetUnitClass) { sUnit = p; } } if (bUnit != null && aUnit != null && sUnit != null) { RemoveUnitSafely(bUnit); RemoveUnitSafely(aUnit); RemoveUnitSafely(sUnit); PlayerUnit newPlayerUnit = GameEngine.GetInstance().unitSpawner.CreatePlayerUnit(PlayerUnitRank.X, targetUnitClass); GameEngine.GetInstance().hasXUnit = true; return(true); } return(false); }
private UnitClass GenerateRandomUnitClass(PlayerUnitRank playerUnitRank) { int selection; if (playerUnitRank == PlayerUnitRank.D || playerUnitRank == PlayerUnitRank.C) { selection = GameEngine.GetInstance().random.Next(0, 6); } else { selection = GameEngine.GetInstance().random.Next(0, 8); } switch (selection) { case 0: return(UnitClass.INFANTRY); case 1: return(UnitClass.MECH); case 2: return(UnitClass.LASER); case 3: return(UnitClass.PSIONIC); case 4: return(UnitClass.ACID); case 5: return(UnitClass.BLADE); case 6: return(UnitClass.MAGIC); case 7: return(UnitClass.FLAME); default: throw new GameplayException("Unrecognized selection value. Cannot generate random unit class"); } }
private bool CheckABCDForClass(UnitClass unitClassToCheck) { bool hasA = false; bool hasB = false; bool hasC = false; bool hasD = false; GameObject[] playerUnits = GameObject.FindGameObjectsWithTag("PlayerUnit"); foreach (GameObject g in playerUnits) { PlayerUnit playerUnit = g.GetComponent <PlayerUnit>(); PlayerUnitRank playerUnitRank = playerUnit.GetPlayerUnitData().GetRank(); UnitClass playerUnitClass = playerUnit.GetPlayerUnitData().GetUnitClass(); if (playerUnitRank == PlayerUnitRank.S || playerUnitRank == PlayerUnitRank.X || playerUnitClass != unitClassToCheck) { continue; } if (playerUnitClass == UnitClass.MAGIC || playerUnitClass == UnitClass.FLAME) { continue; } if (playerUnitRank == PlayerUnitRank.D) { hasD = true; } else if (playerUnitRank == PlayerUnitRank.C) { hasC = true; } else if (playerUnitRank == PlayerUnitRank.B) { hasB = true; } else if (playerUnitRank == PlayerUnitRank.A) { hasA = true; } } return(hasA && hasB && hasC && hasD); }
private string GetMagicProjectileLandingPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.B: return("Audio/ProjectileLanding/Magic/shockwave_landing"); case PlayerUnitRank.A: return("Audio/ProjectileLanding/Magic/shockwave_landing"); case PlayerUnitRank.S: return("Audio/ProjectileLanding/Magic/shockwave_landing"); case PlayerUnitRank.X: return("Audio/ProjectileLanding/Magic/shockwave_landing"); default: return(""); } }
private string GetFlameProjectileAttackPath(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.B: return("Audio/ProjectileLaunch/Flame/flame_attack"); case PlayerUnitRank.A: return("Audio/ProjectileLaunch/Flame/flame_attack"); case PlayerUnitRank.S: return("Audio/ProjectileLaunch/Flame/flame_attack_2"); case PlayerUnitRank.X: return("Audio/ProjectileLaunch/Flame/flame_attack_2"); default: throw new GameplayException("Unrecognized unit rank value: " + rank.ToString() + ". Cannot play flame attack sound."); } }
private int ComputeTokenRefund(PlayerUnitRank rank) { switch (rank) { case PlayerUnitRank.B: return(4); case PlayerUnitRank.A: return(8); case PlayerUnitRank.S: return(16); case PlayerUnitRank.X: return(32); default: throw new GameplayException("Unrecognized player unit rank for rare unit. Cannot sell unit."); } }
public PlayerUnitData( string displayName, UnitClass unitClass, float movementSpeed, PlayerUnitRank rank, float attackDamage, float attackUpgrade, float attackCooldown, float attackRange, AttackType attackType) { this.displayName = displayName; this.unitClass = unitClass; this.movementSpeed = movementSpeed; this.rank = rank; this.attackDamage = attackDamage; this.attackUpgrade = attackUpgrade; this.attackCooldown = attackCooldown; this.attackRange = attackRange; this.attackType = attackType; }
private bool CheckBCDCombo(PlayerUnit playerUnit) { if (playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.A || playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.S || playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.X) { return(false); } UnitClass targetUnitClass = playerUnit.GetPlayerUnitData().GetUnitClass(); PlayerUnit dUnit = null; PlayerUnit cUnit = null; PlayerUnit bUnit = null; foreach (PlayerUnit p in unitsOnMixer) { PlayerUnitRank playerUnitRank = p.GetPlayerUnitData().GetRank(); UnitClass playerUnitClass = p.GetPlayerUnitData().GetUnitClass(); if (dUnit == null && playerUnitRank == PlayerUnitRank.D && playerUnitClass == targetUnitClass) { dUnit = p; } else if (cUnit == null && playerUnitRank == PlayerUnitRank.C && playerUnitClass == targetUnitClass) { cUnit = p; } else if (bUnit == null && playerUnitRank == PlayerUnitRank.B && playerUnitClass == targetUnitClass) { bUnit = p; } } if (dUnit != null && cUnit != null && bUnit != null) { RemoveUnitSafely(dUnit); RemoveUnitSafely(cUnit); RemoveUnitSafely(bUnit); PlayerUnit newPlayerUnit = GameEngine.GetInstance().unitSpawner.CreateRandomAUnit(); return(true); } return(false); }
private PlayerUnitRank GetNextTierRank(PlayerUnitRank rank) { if (rank == PlayerUnitRank.D) { return(PlayerUnitRank.C); } else if (rank == PlayerUnitRank.C) { return(PlayerUnitRank.B); } else if (rank == PlayerUnitRank.B) { return(PlayerUnitRank.A); } else if (rank == PlayerUnitRank.A) { return(PlayerUnitRank.S); } else { throw new GameplayException("Unsupported rank value: " + rank.ToString()); } }
private bool CheckRareACombo(PlayerUnit playerUnit) { if (playerUnit.GetPlayerUnitData().GetRank() != PlayerUnitRank.A) { return(false); } PlayerUnit magicUnit = null; PlayerUnit flameUnit = null; foreach (PlayerUnit p in unitsOnMixer) { PlayerUnitRank playerUnitRank = p.GetPlayerUnitData().GetRank(); UnitClass playerUnitClass = p.GetPlayerUnitData().GetUnitClass(); if (playerUnitRank == PlayerUnitRank.A && playerUnitClass == UnitClass.MAGIC) { magicUnit = p; } else if (playerUnitRank == PlayerUnitRank.A && playerUnitClass == UnitClass.FLAME) { flameUnit = p; } } if (magicUnit != null && flameUnit != null) { RemoveUnitSafely(magicUnit); RemoveUnitSafely(flameUnit); GameEngine.GetInstance().messageQueue.PushMessage("2 A Rank Choosers", MessageType.INFO); GameEngine.GetInstance().AddABonusTokens(2); return(true); } return(false); }
public override bool CheckCondition() { if (GameEngine.GetInstance().hasXUnit) { return(false); } // TODO should we conside rare units? // Since can only have 1 X unit, we know which class we are looking for UnitClass classToLookFor = UnitClass.NONE; GameObject[] playerUnits = GameObject.FindGameObjectsWithTag("PlayerUnit"); foreach (GameObject g in playerUnits) { PlayerUnit playerUnit = g.GetComponent <PlayerUnit>(); if (playerUnit.GetPlayerUnitData().GetRank() == PlayerUnitRank.X) { classToLookFor = playerUnit.GetPlayerUnitData().GetUnitClass(); break; } } bool hasS = false; bool hasA = false; bool hasB = false; bool hasC = false; bool hasD = false; foreach (GameObject g in playerUnits) { PlayerUnit playerUnit = g.GetComponent <PlayerUnit>(); PlayerUnitRank playerUnitRank = playerUnit.GetPlayerUnitData().GetRank(); UnitClass playerUnitClass = playerUnit.GetPlayerUnitData().GetUnitClass(); if (playerUnitClass != classToLookFor) { continue; } if (playerUnitRank == PlayerUnitRank.D) { hasD = true; } else if (playerUnitRank == PlayerUnitRank.C) { hasC = true; } else if (playerUnitRank == PlayerUnitRank.B) { hasB = true; } else if (playerUnitRank == PlayerUnitRank.A) { hasA = true; } else if (playerUnitRank == PlayerUnitRank.S) { hasS = true; } } return(hasS && hasA && hasB && hasC && hasD); }
private string GetFlameProjectileLandingPath(PlayerUnitRank rank) { return(""); }
private string GetInfantryProjectileLandingPath(PlayerUnitRank rank) { return(""); }
public void Initialize(PlayerUnitRank rank) { if (rank == PlayerUnitRank.D) { Bar1.gameObject.SetActive(true); } if (rank == PlayerUnitRank.C) { Bar1.gameObject.SetActive(true); Bar2.gameObject.SetActive(true); } if (rank == PlayerUnitRank.B) { Bar1.gameObject.SetActive(true); Bar2.gameObject.SetActive(true); Bar3.gameObject.SetActive(true); } if (rank == PlayerUnitRank.A) { Bar1.gameObject.SetActive(true); Bar2.gameObject.SetActive(true); Bar3.gameObject.SetActive(true); Bar4.gameObject.SetActive(true); } if (rank == PlayerUnitRank.S) { Bar1.gameObject.SetActive(true); Bar2.gameObject.SetActive(true); Bar3.gameObject.SetActive(true); Bar4.gameObject.SetActive(true); Bar5.gameObject.SetActive(true); } if (rank == PlayerUnitRank.X) { Bar1.gameObject.SetActive(true); Bar2.gameObject.SetActive(true); Bar3.gameObject.SetActive(true); Bar4.gameObject.SetActive(true); Bar5.gameObject.SetActive(true); Bar6.gameObject.SetActive(true); } if (rank == PlayerUnitRank.D) { RankText_D.gameObject.SetActive(true); } else if (rank == PlayerUnitRank.C) { RankText_C.gameObject.SetActive(true); } else if (rank == PlayerUnitRank.B) { RankText_B.gameObject.SetActive(true); } else if (rank == PlayerUnitRank.A) { RankText_A.gameObject.SetActive(true); } else if (rank == PlayerUnitRank.S) { RankText_S.gameObject.SetActive(true); } else if (rank == PlayerUnitRank.X) { RankText_X.gameObject.SetActive(true); } }