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); } }
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); }
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 (); }
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); }