Exemplo n.º 1
0
    public void init()
    {
        childDataInstances = new List <ListItem>();
        foreach (string s in masterData)
        {
            string description = "";
            switch (listType)
            {
            case ListType.ACTION:
                description = ActionStore.getActionByName(s).descriptionText;
                break;

            case ListType.ATTENDANT:
                description = "同行者さん!完全未定なので固定メッセージです";
                break;

            case ListType.ENEMY:
                description = EnemyStore.getEnemyDescriptionByName(s);
                break;

            case ListType.EQUIP:
                description = EquipStore.getEquipByName(s).description;
                break;

            case ListType.ITEM:
                description = "アイテムでーす";
                break;
            }
            addMaster(s, description);
        }
    }
Exemplo n.º 2
0
 public enemyStats(EnemyType type)
 {
     this.enemy_type = type;
     this.defenses   = EnemyStore.getDefenses(type, true);
     this.mass       = EnemyStore.getMass(type);
     this.name       = type.ToString();
     this.inventory  = EnemyStore.getInventory(type);
 }
Exemplo n.º 3
0
    void Start()
    {
        //   Fabric.Runtime.Fabric.Initialize();
        Crashlytics.SetDebugMode(true);
        TowerStore.initTowers();
        EnemyStore.initEnemies();
        LevelStore.initSettings();

        //file = new Queue<string>(init_file.text.Split('\n'));
        //Loader.Instance.setFile (file);
        //Loader.Instance.LoadInitFile ();
    }
Exemplo n.º 4
0
    public WaveletStatDetails calculateStats(InitWavelet wavelet, bool include_end_time)
    {
        WaveletStatDetails details = new WaveletStatDetails();

        details.details = new List <WaveStat>();
        WaveStat summary = new WaveStat();
        int      max     = (repeatTimes > 0)? wavelet.enemies.Length / repeatTimes : wavelet.enemies.Length;

        for (int x = 0; x < max; x++)
        {
            InitEnemyCount i       = wavelet.enemies[x];
            WaveStat       subStat = new WaveStat();

            float mass  = EnemyStore.getEffectiveMass(EnumUtil.EnumFromString(i.name, EnemyType.Null));
            float speed = EnemyStore.getSpeed(EnumUtil.EnumFromString(i.name, EnemyType.Null));

            //      Debug.Log($"BEFORE {i.name} Mass {mass} Speed {speed}\n");

            //if (speed == 0) Debug.LogError($"Trying to get speed for an unsupported enemy {i.name}\n");
            float time = i.c * wavelet.interval;

            if (i.name.Equals("Tank"))
            {
                mass += EnemyStore.getEffectiveMass(EnemyType.TinyTank);

                float speed_adjusted =
                    EnemyStore.getSpeed(EnemyType.Tank) * EnemyStore.getEffectiveMass(EnemyType.Tank)
                    + EnemyStore.getSpeed(EnemyType.TinyTank) * EnemyStore.getEffectiveMass(EnemyType.TinyTank);
                speed_adjusted /= mass;
                speed           = speed_adjusted;
            }

            if (i.name.Equals("SturdyTank"))
            {
                mass += EnemyStore.getEffectiveMass(EnemyType.Tank) + EnemyStore.getEffectiveMass(EnemyType.TinyTank);

                float speed_adjusted =
                    EnemyStore.getSpeed(EnemyType.SturdyTank) * EnemyStore.getEffectiveMass(EnemyType.SturdyTank)
                    + EnemyStore.getSpeed(EnemyType.Tank) * EnemyStore.getEffectiveMass(EnemyType.Tank)
                    + EnemyStore.getSpeed(EnemyType.TinyTank) * EnemyStore.getEffectiveMass(EnemyType.TinyTank);
                speed_adjusted /= mass;
                speed           = speed_adjusted;
            }

            if (i.name.Equals("ImpossibleTank"))
            {
                mass += EnemyStore.getEffectiveMass(EnemyType.SturdyTank) + EnemyStore.getEffectiveMass(EnemyType.Tank) + EnemyStore.getEffectiveMass(EnemyType.TinyTank);

                float speed_adjusted =
                    EnemyStore.getSpeed(EnemyType.SturdyTank) * EnemyStore.getEffectiveMass(EnemyType.SturdyTank)
                    + EnemyStore.getSpeed(EnemyType.Tank) * EnemyStore.getEffectiveMass(EnemyType.Tank)
                    + EnemyStore.getSpeed(EnemyType.TinyTank) * EnemyStore.getEffectiveMass(EnemyType.TinyTank)
                    + EnemyStore.getSpeed(EnemyType.ImpossibleTank) * EnemyStore.getEffectiveMass(EnemyType.ImpossibleTank);
                speed_adjusted /= mass;
                speed           = speed_adjusted;
            }

            if (i.name.Equals("Turtle"))
            {
                mass += 8 * EnemyStore.getEffectiveMass(EnemyType.TinyPlane);
            }

            //      Debug.Log($"AFTER {i.name} Mass {mass} Speed {speed}\n");


            summary.count += i.c * repeatTimes;
            summary.total_modified_mass += i.c * mass * repeatTimes;
            //   Debug.Log($"{i.c - 1} * {wavelet.interval} * {repeatTimes}\n");
            summary.time  += ((i.c - 1) * wavelet.interval) * repeatTimes;
            summary.speed += speed * i.c * repeatTimes;

            subStat.speed = speed;
            subStat.time  = time;
            subStat.count = i.c;
            subStat.total_modified_mass = mass * i.c;
            subStat.name = i.name;

            subStat.mass_per_second = speed * i.c * mass / time;

            details.details.Add(subStat);
        }
        float extra = (include_end_time) ? wavelet.end_wait : 0;

        summary.speed /= summary.count;
        summary.time  += (wavelet.enemies.Length - 1) * wavelet.lull + extra;
//        Debug.Log($" + {wavelet.enemies.Length - 1} * {wavelet.lull} + {extra}\n");
        //    Debug.Log($"Speed: {summary.speed} Mass: {summary.total_modified_mass} Time: {summary.time}\n");
        summary.mass_per_second = summary.speed * summary.total_modified_mass / summary.time;

        details.summary = summary;
        return(details);
    }