protected virtual void OnMapNavigateEvent(NavigateEventArgs e) { NavigateStack.Push(new NavigateDetail(e.Type, e.Data)); if (e.Data["api_enemy"] != null) { string eid = e.Data["api_enemy"]["api_enemy_id"].ToString(); if (!EnemyDeckMap.ContainsKey(eid)) { Debug.Print("EnemyDeckMap doesn't had data on " + eid); enemyDeckId = eid; } } MapNavigateEventHandler handler = MapNavigate; if (handler != null) { handler(this, e); } }
protected virtual void OnBattleFinishEvent(BattleEventArgs e) { if (enemyDeckId != "") { EnemyDeckInfo info = new EnemyDeckInfo(enemyDeckId, enemyFormation, e.Data["api_enemy_info"]["api_deck_name"].ToString(), e.Data["api_ship_id"]); EnemyDeckMap.Add(enemyDeckId, JToken.FromObject(info)); enemyDeckId = ""; enemyFormation = ""; List <string> lx = new List <string>(); foreach (JToken item in EnemyDeckMap.Values) { lx.Add(item.ToString()); } string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "data", defEnemyDeck); File.WriteAllText(path, string.Format("[{0}]", string.Join(",", lx))); } BattleEventHandler handler = BattleFinish; if (handler != null) { handler(this, e); } }