public void MinusVirusCount(BaseVirus virus)
    {
        VirusName n     = (VirusName)Enum.Parse(typeof(VirusName), virus.name);
        int       count = VirusTool.GetSplit(virus.SplitLevel, n);

        _originCount -= count;
    }
Exemplo n.º 2
0
    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);
     }
 }
Exemplo n.º 4
0
 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);
        }
    }
Exemplo n.º 6
0
    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);
    }
Exemplo n.º 8
0
    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);
    }
Exemplo n.º 9
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);
    }