public void MinusVirusCount(BaseVirus virus) { VirusName n = (VirusName)Enum.Parse(typeof(VirusName), virus.name); int count = VirusTool.GetSplit(virus.SplitLevel, n); _originCount -= count; }
public static int Load(int level) { _data = new WaveVirusData(); _nameRoll = new ChanceRoll(); _colorRoll = new ChanceRoll(); WaveIndex = 0; IsNextWave = true; int endValue = 0; if (level == 2 || level % 5 == 0) { _data.HasBoss = true; _curBossName = GetBossVirusName(level); } FillCache(level); FillVirusNames(level); FillNameRoll(); FillColorRoll(level); endValue = FillData(); if (_data.HasBoss) { WaveVirusItem boss = new WaveVirusItem(); boss.SplitLevel = SplitLevel.Level5; boss.ColorLevel = ColorLevel.Level0; boss.VirusName = _curBossName; _data.Data[1].Insert(0, boss); endValue += VirusTool.GetChildSplit(SplitLevel.Level5, boss.VirusName); } return(endValue); }
private static void FillName(VirusName name) { if (_virusNames.Contains(name) == false) { _virusNames.Add(name); } }
private static void FillNames(int count) { _virusNames = new List <VirusName>(); for (int i = 0; i < count; i++) { VirusName virusName = (VirusName)(1 + i); _virusNames.Add(virusName); } }
private static void FillNames(int count) { _virusNames = new List <VirusName>(); //_virusNames.Add(VirusName.ThreePointsVirus); return; //testSyq for (int i = 0; i < count; i++) { VirusName virusName = (VirusName)(1 + i); _virusNames.Add(virusName); } }
private static VirusName GetBossVirusName(int level) { switch (level) { case 2: return(VirusName.FastVirus); case 5: return(VirusName.CureVirus); case 10: return(VirusName.CollisionVirus); case 15: return(VirusName.SlowDownVirus); case 20: return(VirusName.RegenerativeVirus); case 25: return(VirusName.SwallowVirus); case 30: return(VirusName.ExplosiveVirus); case 35: return(VirusName.AdsorptionVirus); case 40: return(VirusName.TrackingVirus); case 45: return(VirusName.ExpansionVirus); case 50: return(VirusName.ThreePointsVirus); case 55: return(VirusName.LaunchVirus); case 60: return(VirusName.VampireVirus); case 65: return(VirusName.DefendingVirus); case 70: _lastBossName = VirusName.DartVirus; return(VirusName.DartVirus); default: VirusName bossName; while (true) { int index = Random.Range(2, 16); int t = (int)_lastBossName; if (Mathf.Abs(index - t) > 5) { bossName = (VirusName)index; break; } } _lastBossName = bossName; return(bossName); } }
public static int Load(int level) { _data = new WaveVirusData(); _nameRoll = new ChanceRoll(); _colorRoll = new ChanceRoll(); WaveIndex = 0; IsNextWave = true; if (IGamerProfile.Instance != null) { string bossType = IGamerProfile.gameLevel.mapData[level - 1].bossData.BossType; _data.HasBoss = bossType == "" ? false : true; if (_data.HasBoss == true) { _curBossName = GetBossVirusName(bossType); } } else { if (level == 2 || level % 5 == 0) { _data.HasBoss = true; _curBossName = GetBossVirusName(level); } } FillCache(level); FillVirusNames(level); FillNameRoll(); FillColorRoll(level); int endValue = FillData(); if (_data.HasBoss) { WaveVirusItem boss = new WaveVirusItem(); boss.SplitLevel = SplitLevel.Level5; boss.ColorLevel = ColorLevel.Level0; boss.VirusName = _curBossName; _data.Data[MaxWave - 1].Insert(0, boss); endValue += VirusTool.GetChildSplit(SplitLevel.Level5, boss.VirusName); } return(endValue); }
public static int GetSplit(SplitLevel splitLevel, VirusName virusName) { switch (splitLevel) { case SplitLevel.Level1: return(0); case SplitLevel.Level2: if (virusName == VirusName.ThreePointsVirus) { return(3); } return(2); case SplitLevel.Level3: if (virusName == VirusName.ThreePointsVirus) { return(3 + 9); } return(2 + 4); case SplitLevel.Level4: if (virusName == VirusName.ThreePointsVirus) { return(3 + 9 + 27); } return(2 + 4 + 8); case SplitLevel.Level5: if (virusName == VirusName.ThreePointsVirus) { return(3 + 9 + 27 + 81); } return(2 + 4 + 8 + 16); } return(0); }
private static void FillNames() { _virusNames = new List <VirusName>(); for (int i = 1; i <= 16; i++) { VirusName virusName = (VirusName)i; _virusNames.Add(virusName); } if (_lastBossName > 0) { _virusNames.Remove(_lastBossName); } if (_curBossName > 0) { _virusNames.Remove(_curBossName); } if (_lastBossName > 0) { _virusNames.Add(_lastBossName); } _virusNames.Remove(VirusName.SwallowVirus); //_virusNames.Remove(VirusName.AdsorptionVirus); }