/// <summary> /// Creates the data for the specified row. /// </summary> /// <param name="Row">The row.</param> internal Data Create(Row Row) { Data Data; switch (this.Index) { case 1: { Data = new LocaleData(Row, this); break; } case 2: { Data = new BillingPackageData(Row, this); break; } case 3: case 20: { Data = new GlobalData(Row, this); break; } case 4: { Data = new SoundData(Row, this); break; } case 5: { Data = new ResourceData(Row, this); break; } case 9: { Data = new CharacterBuffData(Row, this); break; } case 10: { Data = new ProjectileData(Row, this); break; } case 11: { Data = new EffectData(Row, this); break; } case 12: { Data = new PredefinedDeckData(Row, this); break; } case 14: { Data = new RarityData(Row, this); break; } case 15: { Data = new LocationData(Row, this); break; } case 16: { Data = new AllianceBadgeData(Row, this); break; } case 18: { Data = new NpcData(Row, this); break; } case 19: { Data = new TreasureChestData(Row, this); break; } case 21: { Data = new ParticleEmitterData(Row, this); break; } case 22: { Data = new AreaEffectObjectData(Row, this); break; } case 26: case 27: case 28: case 29: { Data = new SpellData(Row, this); break; } case 34: case 35: { Data = new CharacterData(Row, this); break; } case 40: { Data = new HealthBarData(Row, this); break; } case 41: { Data = new MusicData(Row, this); break; } case 42: { Data = new DecoData(Row, this); break; } case 43: { Data = new GambleChestData(Row, this); break; } case 45: case 48: { Data = new TutorialData(Row, this); break; } case 46: { Data = new ExpLevelData(Row, this); break; } case 50: { Data = new BackgroundDecoData(Row, this); break; } case 51: { Data = new SpellSetData(Row, this); break; } case 52: { Data = new ChestOrderData(Row, this); break; } case 53: { Data = new TauntData(Row, this); break; } case 54: { Data = new ArenaData(Row, this); break; } case 55: { Data = new ResourcePackData(Row, this); break; } case 56: { Data = new Data(Row, this); break; } case 57: { Data = new RegionData(Row, this); break; } case 58: { Data = new NewsData(Row, this); break; } case 59: { Data = new AllianceRoleData(Row, this); break; } case 60: { Data = new AchievementData(Row, this); break; } case 61: { Data = new HintData(Row, this); break; } case 62: { Data = new HelpshiftData(Row, this); break; } default: { Logging.Info(this.GetType(), "Invalid data table id: " + this.Index + "."); Data = null; break; } } return(Data); }
private void LoadArenaData(string filename) { // Init state SetState(PluginState.Idle); NewArena(); if (File.Exists(filename)) { // Set current filename currentfilename = filename; // Load the data arenadata = JsonConvert.DeserializeObject<ArenaData>(File.ReadAllText(filename)); // Make sure there is a guid for legacy arena runs if (arenadata.deckguid == "") { arenadata.deckguid = Guid.NewGuid().ToString(); SaveArenaData(); } if (arenadata.pickedhero != "") { // Hero is picked if (arenadata.pickedcards.Count == MaxCardCount) { // All cards picked SetState(PluginState.Done); } else if ((arenadata.detectedcards.Count - 1) == arenadata.pickedcards.Count) { // Cards detected, but not picked UpdateDetectedCards(); SetState(PluginState.SearchCardValues); } else { // Not all cards picked, not picking a card // Search for new cards SetState(PluginState.SearchCards); } } else { // No hero picked if (arenadata.detectedheroes.Count == 3) { // Heroes detected // Show the heroes UpdateDetectedHeroes(); SetState(PluginState.SearchBigHero); } else { // No heroes detected SetState(PluginState.SearchHeroes); } } // Resume arena plugins.ResumeArena(arenadata, state); UpdateTitle(); UpdateHero(); } else { // No arena found, started a new one // Save the arena data SaveArenaData(); plugins.NewArena(arenadata); } }
/// <summary> /// Initializes a new instance of the <see cref="CsvFiles" /> class. /// </summary> public static void Initialize() { if (CsvFiles.Initialized) { return; } CsvFiles.Files = new Dictionary <int, CsvTable>(); CsvFiles.Paths = new Dictionary <int, string>(); CsvFiles.Tilemaps = new Dictionary <string, TilemapData>(32); CsvFiles.Spells = new List <SpellData>(72); CsvFiles.Characters = new List <CharacterData>(72); CsvFiles.Paths.Add(1, @"Gamefiles/csv_client/locales.csv"); CsvFiles.Paths.Add(2, @"Gamefiles/csv_client/billing_packages.csv"); CsvFiles.Paths.Add(3, @"Gamefiles/csv_logic/globals.csv"); CsvFiles.Paths.Add(4, @"Gamefiles/csv_client/sounds.csv"); CsvFiles.Paths.Add(5, @"Gamefiles/csv_logic/resources.csv"); CsvFiles.Paths.Add(9, @"Gamefiles/csv_logic/character_buffs.csv"); CsvFiles.Paths.Add(10, @"Gamefiles/csv_logic/projectiles.csv"); CsvFiles.Paths.Add(11, @"Gamefiles/csv_client/effects.csv"); CsvFiles.Paths.Add(12, @"Gamefiles/csv_logic/predefined_decks.csv"); CsvFiles.Paths.Add(14, @"Gamefiles/csv_logic/rarities.csv"); CsvFiles.Paths.Add(15, @"Gamefiles/csv_logic/locations.csv"); CsvFiles.Paths.Add(16, @"Gamefiles/csv_logic/alliance_badges.csv"); CsvFiles.Paths.Add(18, @"Gamefiles/csv_logic/npcs.csv"); CsvFiles.Paths.Add(19, @"Gamefiles/csv_logic/treasure_chests.csv"); CsvFiles.Paths.Add(20, @"Gamefiles/csv_client/client_globals.csv"); CsvFiles.Paths.Add(21, @"Gamefiles/csv_client/particle_emitters.csv"); CsvFiles.Paths.Add(22, @"Gamefiles/csv_logic/area_effect_objects.csv"); CsvFiles.Paths.Add(26, @"Gamefiles/csv_logic/spells_characters.csv"); CsvFiles.Paths.Add(27, @"Gamefiles/csv_logic/spells_buildings.csv"); CsvFiles.Paths.Add(28, @"Gamefiles/csv_logic/spells_other.csv"); CsvFiles.Paths.Add(29, @"Gamefiles/csv_logic/spells_heroes.csv"); CsvFiles.Paths.Add(34, @"Gamefiles/csv_logic/characters.csv"); CsvFiles.Paths.Add(35, @"Gamefiles/csv_logic/buildings.csv"); CsvFiles.Paths.Add(40, @"Gamefiles/csv_client/health_bars.csv"); CsvFiles.Paths.Add(41, @"Gamefiles/csv_client/music.csv"); CsvFiles.Paths.Add(42, @"Gamefiles/csv_logic/decos.csv"); CsvFiles.Paths.Add(43, @"Gamefiles/csv_logic/gamble_chests.csv"); CsvFiles.Paths.Add(45, @"Gamefiles/csv_logic/tutorials_home.csv"); CsvFiles.Paths.Add(46, @"Gamefiles/csv_logic/exp_levels.csv"); CsvFiles.Paths.Add(48, @"Gamefiles/csv_logic/tutorials_npc.csv"); CsvFiles.Paths.Add(50, @"Gamefiles/csv_client/background_decos.csv"); CsvFiles.Paths.Add(52, @"Gamefiles/csv_logic/chest_order.csv"); CsvFiles.Paths.Add(53, @"Gamefiles/csv_logic/taunts.csv"); CsvFiles.Paths.Add(54, @"Gamefiles/csv_logic/arenas.csv"); CsvFiles.Paths.Add(55, @"Gamefiles/csv_logic/resource_packs.csv"); CsvFiles.Paths.Add(56, @"Gamefiles/csv_client/credits.csv"); CsvFiles.Paths.Add(57, @"Gamefiles/csv_logic/regions.csv"); CsvFiles.Paths.Add(58, @"Gamefiles/csv_client/news.csv"); CsvFiles.Paths.Add(59, @"Gamefiles/csv_logic/alliance_roles.csv"); CsvFiles.Paths.Add(60, @"Gamefiles/csv_logic/achievements.csv"); CsvFiles.Paths.Add(61, @"Gamefiles/csv_client/hints.csv"); CsvFiles.Paths.Add(62, @"Gamefiles/csv_client/helpshift.csv"); CsvFiles.Paths.Add(63, @"Gamefiles/csv_logic/tournament_tiers.csv"); CsvFiles.Paths.Add(64, @"Gamefiles/csv_logic/content_tests.csv"); CsvFiles.Paths.Add(65, @"Gamefiles/csv_logic/survival_modes.csv"); CsvFiles.Paths.Add(66, @"Gamefiles/csv_logic/shop.csv"); CsvFiles.Paths.Add(67, @"Gamefiles/csv_logic/event_categories.csv"); CsvFiles.Paths.Add(68, @"Gamefiles/csv_logic/draft_deck.csv"); // Paths.Add(70, @"Gamefiles/csv_logic/abilities.csv"); CsvFiles.Paths.Add(72, @"Gamefiles/csv_logic/game_modes.csv"); CsvFiles.Paths.Add(74, @"Gamefiles/csv_logic/event_category_definitions.csv"); CsvFiles.Paths.Add(75, @"Gamefiles/csv_logic/event_category_object_definitions.csv"); CsvFiles.Paths.Add(76, @"Gamefiles/csv_logic/event_category_enums.csv"); CsvFiles.Paths.Add(77, @"Gamefiles/csv_logic/configuration_definitions.csv"); CsvFiles.Paths.Add(79, @"Gamefiles/csv_logic/pve_gamemodes.csv"); CsvFiles.Paths.Add(81, @"Gamefiles/csv_logic/tve_gamemodes.csv"); CsvFiles.Paths.Add(82, @"Gamefiles/csv_logic/tutorial_chest_order.csv"); CsvFiles.Paths.Add(83, @"Gamefiles/csv_logic/skins.csv"); CsvFiles.Paths.Add(84, @"Gamefiles/csv_logic/quest_order.csv"); CsvFiles.Paths.Add(85, @"Gamefiles/csv_logic/event_targeting_definitions.csv"); CsvFiles.Paths.Add(86, @"Gamefiles/csv_logic/shop_cycle.csv"); CsvFiles.Paths.Add(87, @"Gamefiles/csv_logic/skin_sets.csv"); foreach (KeyValuePair <int, string> Pair in CsvFiles.Paths) { if (!File.Exists(Pair.Value)) { Logging.Error(typeof(CsvFiles), "File.Exists(Path) != true at Initialize()."); } else { CsvFiles.Files.Add(Pair.Key, new CsvTable(Pair.Key, Pair.Value)); } } foreach (CsvTable CsvTable in CsvFiles.Files.Values) { foreach (CsvData CsvData in CsvTable.Datas) { CsvData.LoadingFinished(); } } CsvFiles.MaxExpLevel = CsvFiles.Get(Gamefile.ExpLevels).Datas.Count; CsvFiles.GoldData = CsvFiles.Get(Gamefile.Resources).GetData <ResourceData>("Gold"); CsvFiles.FreeGoldData = CsvFiles.Get(Gamefile.Resources).GetData <ResourceData>("FreeGold"); CsvFiles.StarCountData = CsvFiles.Get(Gamefile.Resources).GetData <ResourceData>("StarCount"); CsvFiles.CardCountData = CsvFiles.Get(Gamefile.Resources).GetData <ResourceData>("CardCount"); CsvFiles.ChestCountData = CsvFiles.Get(Gamefile.Resources).GetData <ResourceData>("ChestCount"); CsvFiles.SummonerData = CsvFiles.Get(Gamefile.Buildings).GetData <CharacterData>("KingTower"); CsvFiles.GameModeLadderData = CsvFiles.Get(Gamefile.GameModes).GetData <GameModeData>("Ladder"); foreach (ArenaData ArenaData in CsvFiles.Get(Gamefile.Arenas).Datas) { ArenaData.ConfigureSpells(); } foreach (string FilePath in Directory.GetFiles(@"Gamefiles/tilemaps/")) { CsvFiles.Tilemaps.Add(FilePath, new TilemapData(FilePath)); } Logging.Info(typeof(CsvFiles), "Loaded " + CsvFiles.Files.Count + " CSV files."); }
/// <summary> /// Initializes a new instance of the <see cref="AddChestCommand"/> class. /// </summary> public AddChestCommand(bool Add, ArenaData ArenaData, string Name) { this.Add = Add; this.ArenaData = ArenaData; this.Name = Name; }
static ArenaDataLoader() { sprites = new Dictionary <String, Sprite> (); ticks = GetDerivativesOfInterface <SegmentTickBehaviour> (); triggers = GetDerivativesOfInterface <SegmentTriggerBehaviour> (); collisions = GetDerivativesOfInterface <SegmentCollisionBehaviour> (); arenas = new Dictionary <string, ArenaData> (); UnityEngine.Object[] textures = Resources.LoadAll("Textures/Segments", typeof(Sprite)); //Debug.Log ("Unity loaded " + textures.Length + " assets."); for (int i = 0; i < textures.Length; i++) { if (textures [i].GetType() == typeof(Sprite)) { sprites.Add(textures [i].name, textures [i] as Sprite); } } /* * String[] names = sprites.Keys.ToArray(); * Debug.Log ("Sprites loaded: "); * for (int i = 0; i < names.Length; i++) { * Debug.Log (names [i]); * }*/ /* * String[] names = ticks.Keys.ToArray(); * Type[] classes = ticks.Values.ToArray(); * Debug.Log ("Ticks: "); * for (int i = 0; i < names.Length; i++) { * Debug.Log (names [i] + " " + classes [i]); * } * names = triggers.Keys.ToArray (); * classes = triggers.Values.ToArray (); * Debug.Log ("triggers: "); * for (int i = 0; i < names.Length; i++) { * Debug.Log (names [i] + " " + classes [i]); * } * names = collisions.Keys.ToArray (); * classes = collisions.Values.ToArray (); * Debug.Log ("collisions: "); * for (int i = 0; i < names.Length; i++) { * Debug.Log (names [i] + " " + classes [i]); * }*/ //Debug.Log("Loading"); string[] filenames = null; filenames = Directory.GetFiles(Application.streamingAssetsPath + "/Arenas").Where(s => s.EndsWith(".txt")).ToArray(); foreach (string filename in filenames) { //Debug.Log(filename); ArenaData ad = Load(filename); int first = filename.LastIndexOf('\\') + 1; int last = filename.LastIndexOf(".txt"); arenas.Add(filename.Substring(first, last - first), ad); /* * for (int i = 0; i < rd.Count; i++) { * Debug.Log (rd [i].size); * Debug.Log (rd [i].sprite); * Debug.Log (rd [i].segmentCollisionBehaviours.Count); * Debug.Log (rd [i].segmentTickBehaviours.Count); * Debug.Log (rd [i].segmentTriggerBehaviours.Count); * }*/ /* * if (ad.powerupSpawner != null) { * Debug.Log ("Power up spawner data:"); * Debug.Log (ad.powerupSpawner.maxNumberOfPowerups); * Debug.Log (ad.powerupSpawner.maxSpawnDuration); * Debug.Log (ad.powerupSpawner.minSpawnDuration); * Debug.Log (ad.powerupSpawner.powerUps.Count); * for (int i = 0; i < ad.powerupSpawner.powerUps.Count; i++) * Debug.Log (ad.powerupSpawner.powerUps [i].name); * Debug.Log (ad.powerupSpawner.spawnDistances.Count); * for(int i=0; i < ad.powerupSpawner.spawnDistances.Count; i++) * Debug.Log (ad.powerupSpawner.spawnDistances[i]); * } else { * Debug.Log ("No power up spawner data:"); * }*/ } Debug.Log("Arena names"); foreach (string s in arenas.Keys) { Debug.Log(s); } }
public static bool RunGeneric(List <ArenaDataHistoryItem> _HistoryArray, ArenaData _Data, UploadID _Uploader) { return(RunGeneric_T(_HistoryArray, new ArenaDataHistoryItem(_Data, _Uploader), ArenaDataHistoryItem.IsSame, ArenaDataHistoryItem.Time1BiggerThan2, ArenaDataHistoryItem.CopyUploader2To1)); }
/// <summary> /// Initializes a new instance of the <see cref="RoyalTvContentMessage"/> class. /// </summary> /// <param name="Entries">The entries.</param> /// <param name="Arena">The arena.</param> public RoyalTvContentMessage(RoyalTvEntry[] Entries, ArenaData Arena) { this.Arena = Arena; this.Entries = Entries; }