public override void OnRequestReceived(Dictionary <string, string> data) { KCDatabase db = KCDatabase.Instance; ArsenalData arsenal = db.Arsenals[int.Parse(data["api_kdock_id"])]; arsenal.State = 3; db.Material.InstantConstruction -= arsenal.Fuel >= 1000 ? 10 : 1; base.OnRequestReceived(data); }
void ConstructionEnd(string apiname, dynamic data) { if (ConstructingDockID == -1) { return; } ArsenalData a = KCDatabase.Instance.Arsenals[ConstructingDockID]; int emptyDock = KCDatabase.Instance.Arsenals.Values.Count(c => c.State == 0); ShipData flagship = KCDatabase.Instance.Ships[KCDatabase.Instance.Fleet[1].Members[0]]; Record.Add(new ConstructionElement(a.ShipID, a.Fuel, a.Ammo, a.Steel, a.Bauxite, a.DevelopmentMaterial, emptyDock, flagship.ShipID, KCDatabase.Instance.Admiral.Level)); }
public override void OnResponseReceived(dynamic data) { KCDatabase db = KCDatabase.Instance; // Admiral - 各所でバグるので封印 //db.Admiral.LoadFromResponse( APIName, data.api_basic ); // Equipments db.Equipments.Clear(); foreach (var elem in data.api_slot_item) { var eq = new EquipmentData(); eq.LoadFromResponse(APIName, elem); db.Equipments.Add(eq); } // Arsenal foreach (var ars in data.api_kdock) { int id = (int)ars.api_id; if (!db.Arsenals.ContainsKey(id)) { var a = new ArsenalData(); a.LoadFromResponse(APIName, ars); db.Arsenals.Add(a); } else { db.Arsenals[id].LoadFromResponse(APIName, ars); } } // UseItem db.UseItems.Clear(); if (data.api_useitem()) { foreach (var elem in data.api_useitem) { var item = new UseItem(); item.LoadFromResponse(APIName, elem); db.UseItems.Add(item); } } base.OnResponseReceived((object)data); }
public override void OnResponseReceived(dynamic data) { KCDatabase db = KCDatabase.Instance; //api_kdock foreach (var ars in data.api_kdock) { int id = (int)ars.api_id; if (!db.Arsenals.ContainsKey(id)) { var a = new ArsenalData(); a.LoadFromResponse(APIName, ars); db.Arsenals.Add(a); } else { db.Arsenals[id].LoadFromResponse(APIName, ars); } } //api_slotitem if (data.api_slotitem != null) { //装備なしの艦はnullになる foreach (var elem in data.api_slotitem) { var eq = new EquipmentData(); eq.LoadFromResponse(APIName, elem); db.Equipments.Add(eq); } } //api_ship { ShipData ship = new ShipData(); ship.LoadFromResponse(APIName, data.api_ship); db.Ships.Add(ship); Utility.Logger.Add(2, string.Format("{0}「{1}」の建造が完了しました。", ship.MasterShip.ShipTypeName, ship.MasterShip.NameWithClass)); } base.OnResponseReceived((object)data); }
public void Update(int arsenalID) { KCDatabase db = KCDatabase.Instance; ArsenalData arsenal = db.Arsenals[arsenalID]; bool showShipName = Utility.Configuration.Config.FormArsenal.ShowShipName; CompletionTime.BackColor = Color.Transparent; CompletionTime.ForeColor = Utility.Configuration.Config.UI.ForeColor; tooltip.SetToolTip(ShipName, null); tooltip.SetToolTip(CompletionTime, null); if (arsenal == null || arsenal.State == -1) { //locked ShipName.Text = ""; CompletionTime.Text = ""; CompletionTime.Tag = null; } else if (arsenal.State == 0) { //empty ShipName.Text = "----"; CompletionTime.Text = ""; CompletionTime.Tag = null; } else if (arsenal.State == 2) { //building string name = showShipName ? db.MasterShips[arsenal.ShipID].Name : "???"; ShipName.Text = name; tooltip.SetToolTip(ShipName, name); CompletionTime.Text = DateTimeHelper.ToTimeRemainString(arsenal.CompletionTime); CompletionTime.Tag = arsenal.CompletionTime; tooltip.SetToolTip(CompletionTime, GeneralRes.TimeToCompletion + ":" + DateTimeHelper.TimeToCSVString(arsenal.CompletionTime)); } else if (arsenal.State == 3) { //complete! string name = showShipName ? db.MasterShips[arsenal.ShipID].Name : "???"; ShipName.Text = name; tooltip.SetToolTip(ShipName, name); CompletionTime.Text = GeneralRes.Complete + "!"; CompletionTime.Tag = null; } }
public void Update(int arsenalID) { KCDatabase db = KCDatabase.Instance; ArsenalData arsenal = db.Arsenals[arsenalID]; bool showShipName = Utility.Configuration.Config.FormArsenal.ShowShipName; tooltip.SetToolTip(ShipName, null); tooltip.SetToolTip(CompletionTime, null); if (arsenal == null || arsenal.State == -1) { //locked ShipName.Text = ""; CompletionTime.Text = ""; CompletionTime.Tag = null; } else if (arsenal.State == 0) { //empty ShipName.Text = "----"; CompletionTime.Text = ""; CompletionTime.Tag = null; } else if (arsenal.State == 2) { //building string name = showShipName ? db.MasterShips[arsenal.ShipID].Name : "???"; ShipName.Text = name; tooltip.SetToolTip(ShipName, name); CompletionTime.Text = DateTimeHelper.ToTimeRemainString(arsenal.CompletionTime); CompletionTime.Tag = arsenal.CompletionTime; tooltip.SetToolTip(CompletionTime, "完了日時 : " + arsenal.CompletionTime.ToString()); } else if (arsenal.State == 3) { //complete! string name = showShipName ? db.MasterShips[arsenal.ShipID].Name : "???"; ShipName.Text = name; tooltip.SetToolTip(ShipName, name); CompletionTime.Text = "完成!"; CompletionTime.Tag = null; } }
public override void OnResponseReceived(dynamic data) { KCDatabase db = KCDatabase.Instance; //api_kdock foreach (var ars in data.api_kdock) { int id = (int)ars.api_id; if (!db.Arsenals.ContainsKey(id)) { var a = new ArsenalData(); a.LoadFromResponse(APIName, ars); db.Arsenals.Add(a); } else { db.Arsenals[id].LoadFromResponse(APIName, ars); } } //api_slotitem if (data.api_slotitem != null) //装備なしの艦はnullになる { foreach (var elem in data.api_slotitem) { var eq = new EquipmentData(); eq.LoadFromResponse(APIName, elem); db.Equipments.Add(eq); } } //api_ship { ShipData ship = new ShipData(); ship.LoadFromResponse(APIName, data.api_ship); db.Ships.Add(ship); } base.OnResponseReceived((object)data); }
void Updated(string apiname, dynamic data) { if (_buildingID != -1 && apiname == "api_get_member/kdock") { ArsenalData arsenal = KCDatabase.Instance.Arsenals[_buildingID]; ShipDataMaster ship = KCDatabase.Instance.MasterShips[arsenal.ShipID]; string name; if (Utility.Configuration.Config.Log.ShowSpoiler && Utility.Configuration.Config.FormArsenal.ShowShipName) { name = string.Format("{0}「{1}」", ship.ShipTypeName, ship.NameWithClass); Utility.Logger.Add(2, "", string.Format("工厂船坞 #{0} 开始建造 : ", _buildingID), string.Format("{0}。({1}/{2}/{3}/{4}-{5})", name, arsenal.Fuel, arsenal.Ammo, arsenal.Steel, arsenal.Bauxite, arsenal.DevelopmentMaterial), " 秘书舰 : ", string.Format("{0}「{1}」 Lv. {2}", KCDatabase.Instance.Fleet[1].MembersInstance[0].MasterShip.ShipTypeName, KCDatabase.Instance.Fleet[1].MembersInstance[0].MasterShip.NameWithClass, KCDatabase.Instance.Fleet[1].MembersInstance[0].Level)); } else { Utility.Logger.Add(2, "", string.Format("工厂船坞 #{0} 开始建造新舰娘。", _buildingID), string.Format("({0}/{1}/{2}/{3}-{4})", arsenal.Fuel, arsenal.Ammo, arsenal.Steel, arsenal.Bauxite, arsenal.DevelopmentMaterial), " 秘书舰 : ", string.Format("{0}「{1}」 Lv. {2}", KCDatabase.Instance.Fleet[1].MembersInstance[0].MasterShip.ShipTypeName, KCDatabase.Instance.Fleet[1].MembersInstance[0].MasterShip.NameWithClass, KCDatabase.Instance.Fleet[1].MembersInstance[0].Level)); } _buildingID = -1; } if (apiname == "api_req_kousyou/createship") { _buildingID = int.Parse(data["api_kdock_id"]); } UpdateUI(); }
void Updated(string apiname, dynamic data) { if (_buildingID != -1 && apiname == "api_get_member/kdock") { ArsenalData arsenal = KCDatabase.Instance.Arsenals[_buildingID]; ShipDataMaster ship = KCDatabase.Instance.MasterShips[arsenal.ShipID]; string name; if (Utility.Configuration.Config.Log.ShowSpoiler && Utility.Configuration.Config.FormArsenal.ShowShipName) { name = string.Format("{0} {1}", ship.ShipTypeName, ship.NameWithClass); } else { name = GeneralRes.ShipGirl; } Utility.Logger.Add(2, string.Format(GeneralRes.ArsenalLog, _buildingID, name, arsenal.Fuel, arsenal.Ammo, arsenal.Steel, arsenal.Bauxite, arsenal.DevelopmentMaterial, KCDatabase.Instance.Fleet[1].MembersInstance[0].NameWithLevel )); _buildingID = -1; } if (apiname == "api_req_kousyou/createship") { _buildingID = int.Parse(data["api_kdock_id"]); } UpdateUI(); }
public override void OnResponseReceived(dynamic data) { KCDatabase db = KCDatabase.Instance; foreach (var ars in data) { int id = (int)ars.api_id; if (!db.Arsenals.ContainsKey(id)) { var a = new ArsenalData(); a.LoadFromResponse(APIName, ars); db.Arsenals.Add(a); } else { db.Arsenals[id].LoadFromResponse(APIName, ars); } } base.OnResponseReceived((object)data); }
public MapData(string text_boundary , string text_obstacles , string text_arsenals ) { string[] data_boundary = text_boundary.Split(','); width = Convert.ToInt32(data_boundary[0]); height = Convert.ToInt32(data_boundary[1]); string[] obstacleText = text_obstacles.Split('*'); if(obstacleText[0] != "") { obstacleData = new ObstacleData[obstacleText.Length]; for(int i = 0; i<obstacleText.Length; i++) { obstacleData[i] = new ObstacleData(obstacleText[i]); } } else { obstacleData = null; } string[] arsenalText = text_arsenals.Split('*'); if(arsenalText[0] != "") { arsenalData = new ArsenalData[arsenalText.Length]; for(int i = 0; i<arsenalText.Length; i++) { arsenalData[i] = new ArsenalData(arsenalText[i]); } } else { arsenalData = null; } }