public async Task <IEnumerable <Unit> > GetAllAsync() { using (var connection = context.CreateConnection()) { return(await connection.QueryAsync <Unit>(UnitQuery.All())); } }
public async Task DeleteAsync(Guid id) { using (var connection = context.CreateConnection()) { await connection.ExecuteAsync(UnitQuery.Delete(id)); } }
public TabFleet_MakeQuery(UnitQuery query) { InitializeComponent(); TemporaryQuery = query; //コンボボックスの初期化 if (!KancolleInfoUnitList.IsInited) KancolleInfoUnitList.InitQuery(); string[] queryname = (from x in KancolleInfoUnitList.Queries select string.Format("({0}){1}", x.ID, x.Name)).ToArray(); comboBox1.Items.AddRange(queryname); //名前 textBox1.Text = query.Name; textBox1.SelectionStart = 0; //クエリIDの自動探索 TemporaryQuery.ID = 16;//デフォルトの値 for(int i=16; i<KancolleInfoUnitList.QueriesMax; i++) { if(KancolleInfoUnitList.Queries[i].IsEmpty()) { TemporaryQuery.ID = i; break; } } comboBox1.SelectedIndex = TemporaryQuery.ID; }
public async Task <IEnumerable <Unit> > GetByParentIdAsync(Guid id) { using (var connection = context.CreateConnection()) { return(await connection.QueryAsync <Unit>(UnitQuery.ByParentId(id))); } }
public IEnumerable <Unit> GetAll() { using (var connection = context.CreateConnection()) { return(connection.Query <Unit>(UnitQuery.All())); } }
public async Task <Unit> UpdateAsync(Unit unit) { using (var connection = context.CreateConnection()) { await connection.ExecuteAsync(UnitQuery.Update(unit)); return(unit); } }
public async Task <Unit> GetByIdAsync(Guid id) { using (var connection = context.CreateConnection()) { var query = await connection.QueryAsync <Unit>(UnitQuery.ById(id)); return(query.SingleOrDefault()); } }
protected BasePage(ConditionModel model) { _model = model; _unitQuery = new UnitQuery(model); _unitFunc = new UnitFunc(model); _unitList = new UnitList(model); _unitListEdit = new UnitListEdit(model); _unitEdit = new UnitEdit(model); _unitScript = new UnitScript(model); }
/// <summary> /// Check if agent remembers an enemy. /// </summary> /// <param name="query"></param> /// <returns></returns> public Unit RememberUnit(UnitQuery query) { foreach (var unit in _units) { if (query(unit)) { return(_rememberPositionOfTarget ? GetDefaultEntity(_positions[unit]) : unit); } } return(null); }
public Unit Create(Unit unit) { if (unit.Id == Guid.Empty) { unit.Id = Guid.NewGuid(); } using (var connection = context.CreateConnection()) { connection.Execute(UnitQuery.Insert(unit)); return(unit); } }
/// <summary> /// Return all remembered Entities that satisfy the query. /// </summary> /// <param name="query"></param> /// <returns></returns> public List <Unit> RememberUnits(UnitQuery query) { var result = new List <Unit>(); foreach (var unit in _units) { if (query(unit)) { result.Add(_rememberPositionOfTarget ? GetDefaultEntity(_positions[unit]) : unit); } } return(result); }
public IActionResult GetUnitList() { UnitQuery _lQuery = new UnitQuery(); var list = _lQuery.GetUnit(); if (list != null) { return(Ok(list)); } else { return(BadRequest()); } }
public async Task <Unit> CreateAsync(Unit unit) { if (unit.Id == Guid.Empty) { unit.Id = Guid.NewGuid(); } using (var connection = context.CreateConnection()) { await connection.ExecuteAsync(UnitQuery.Insert(unit)); return(unit); } }
public IActionResult UnitDelete(int id) { UnitQuery _lQuery = new UnitQuery(); if (id != null) { string message = _lQuery.UnitDelete(id); //if(message=="Success") return(Ok()); } else { return(BadRequest()); } }
public IActionResult UnitUpdate(int id, [FromBody] Unit model) { UnitQuery _lQuery = new UnitQuery(); if (model != null) { string message = _lQuery.UnitUpdate(model); //if(message=="Success") return(Ok()); } else { return(BadRequest()); } }
protected override void OnUpdate() { NativeArray <Translation> AllEnemiPos = EnemiQuery.ToComponentDataArray <Translation>(Allocator.TempJob); NativeArray <Translation> AllUnitPos = UnitQuery.ToComponentDataArray <Translation>(Allocator.TempJob); var job = new FindTarget() { U_positions = AllUnitPos, entityCommandBuffer = endSimulationEntityCommandBufferSystem.CreateCommandBuffer().ToConcurrent(), //E_positions = AllEnemiPos }; JobHandle dependency = job.Schedule(EnemiQuery); endSimulationEntityCommandBufferSystem.AddJobHandleForProducer(dependency); dependency.Complete(); for (int i = 0; i < AllUnitPos.Length; i++) { for (int j = 0; j < AllEnemiPos.Length; j++) { // if (Time.DeltaTime > nextShootTime) // { if (math.distance(AllEnemiPos[j].Value, AllUnitPos[i].Value) < 18f) { CustomEntity.SpawnEntityAtPosition(typeof(Projectiles), AllEnemiPos[j].Value); //float fireRate = .03f; //nextShootTime = Time.DeltaTime + fireRate; } // } } } var job2 = new FindCible() { U_positions = AllUnitPos, entityCommandBuffer = E_endSimulationEntityCommandBufferSystem.CreateCommandBuffer().ToConcurrent(), }; JobHandle dependency2 = job2.Schedule(ProjectileQuery); E_endSimulationEntityCommandBufferSystem.AddJobHandleForProducer(dependency2); dependency2.Complete(); AllUnitPos.Dispose(dependency2); AllEnemiPos.Dispose(); }
/// <summary> /// Test Find using the Query class /// </summary> private void Step_30_TestFindByQuery_Generated() { using (TransactionManager tm = CreateTransaction()) { //Insert Mock Instance Unit mock = CreateMockInstance(tm); bool result = DataRepository.UnitProvider.Insert(tm, mock); Assert.IsTrue(result, "Could Not Test FindByQuery, Insert Failed"); UnitQuery query = new UnitQuery(); query.AppendEquals(UnitColumn.Id, mock.Id.ToString()); query.AppendEquals(UnitColumn.Description, mock.Description.ToString()); query.AppendEquals(UnitColumn.Status, mock.Status.ToString()); TList <Unit> results = DataRepository.UnitProvider.Find(tm, query); Assert.IsTrue(results.Count == 1, "Find is not working correctly. Failed to find the mock instance"); } }
/// <summary> /// Search for entities with specified characteristics in FOV or in memory. /// </summary> public bool SeeUnit(UnitQuery query, bool setAsTarget = true, bool remember = true) { // Check if we actually see it if (_seenUnits.Count > 0) { foreach (var unit in _seenUnits) { if (unit && query(unit)) { TargetUnit = unit; if (setAsTarget) { _agent.Target = TargetUnit.transform; } if (remember) { Memory.Memorise(unit); } return(true); } } } // Otherwise check if we remember it if (!remember) { return(false); } var unitEnemy = Memory.RememberUnit(query); if (unitEnemy == null) { return(false); } TargetUnit = unitEnemy; _agent.Target = TargetUnit != null ? TargetUnit.transform : _agent.Motion.GetDefaultTarget(); return(true); }
//クエリの実行 public static IEnumerable<ApiShip> DoQuery(UnitQuery query, bool notshowassign) { if (APIPort.DeckPorts == null || APIPort.ShipsDictionary == null) return Enumerable.Empty<ApiShip>(); //艦隊所属の艦 var fleetassignships = from d in APIPort.DeckPorts from s in d.api_ship where s != -1 select s; var ships = from s in APIPort.ShipsDictionary.Values where query.CheckAll(s) where (!notshowassign) || !Enumerable.Contains(fleetassignships, s.api_id) select s; return ships; }
public static List<UnitQuery> MakeNewQueries() { List<UnitQuery> queries = new List<UnitQuery>(); foreach (int i in Enumerable.Range(0, QueriesMax)) { UnitQuery q = new UnitQuery(); q.ID = i; q.Name = "なし"; queries.Add(q); } //クエリプリセット //0 : 全て選択 queries[0].Name = "全て表示"; //1 : 駆逐軽巡 queries[1].Name = "駆逐軽巡"; UnitQueryItem q1 = new UnitQueryItem(UnitQueryMode.ShipType); q1.SearchesAdd(2, UnitQueryRangeMode.Equals);//駆逐 q1.SearchesAdd(3, UnitQueryRangeMode.Equals);//軽巡 queries[1].Query.Add(q1); //2 : 潜水艦のみ queries[2].Name = "潜水・潜水空母"; UnitQueryItem q2 = new UnitQueryItem(UnitQueryMode.ShipType); q2.SearchesAdd(13, UnitQueryRangeMode.Equals);//潜水 q2.SearchesAdd(14, UnitQueryRangeMode.Equals);//潜水空母 queries[2].Query.Add(q2); //3 : キラキラのみ queries[3].Name = "全て : キラキラ艦"; UnitQueryItem q3 = new UnitQueryItem(UnitQueryMode.Cond); q3.SearchesAdd(50, UnitQueryRangeMode.MoreThanEquals);//Cond値50以上 queries[3].Query.Add(q3); //4 : ロック済み小破以下 queries[4].Name = "主力艦 : 小破以下"; UnitQueryItem q41 = new UnitQueryItem(UnitQueryMode.IsLocked); q41.SearchesAdd(1, UnitQueryRangeMode.Equals);//ロック UnitQueryItem q42 = new UnitQueryItem(UnitQueryMode.HPRatio); q42.AddHPCondition_NoneOrSmall();//小破以下 queries[4].Query.Add(q41); queries[4].Query.Add(q42); //--- //5 : ロック済み+中破大破 queries[5].Name = "主力艦 : 中破・大破"; UnitQueryItem q51 = new UnitQueryItem(UnitQueryMode.IsLocked); q51.SearchesAdd(1, UnitQueryRangeMode.Equals);//ロック済み UnitQueryItem q52 = new UnitQueryItem(UnitQueryMode.HPRatio); q52.AddHPCondition_MiddleOver();//中破以上 queries[5].Query.Add(q51); queries[5].Query.Add(q52); //6 : 駆逐:キラキラなし+ロック済+小破以下 queries[6].Name = "主力駆逐:キラキラなし+小破以下"; UnitQueryItem q61 = new UnitQueryItem(UnitQueryMode.ShipType); q61.SearchesAdd(2, UnitQueryRangeMode.Equals);//駆逐艦 UnitQueryItem q62 = new UnitQueryItem(UnitQueryMode.Cond); q62.SearchesAdd(49, UnitQueryRangeMode.LessThanEquals);//cond49以下 UnitQueryItem q63 = new UnitQueryItem(UnitQueryMode.IsLocked); q63.SearchesAdd(1, UnitQueryRangeMode.Equals);//ロック済み UnitQueryItem q64 = new UnitQueryItem(UnitQueryMode.HPRatio); q64.AddHPCondition_NoneOrSmall();//小破以下 queries[6].Query.AddRange(new UnitQueryItem[] { q61, q62, q63, q64 }); // 7 : 主力駆軽雷 : 中破・大破 queries[7].Name = "主力駆軽雷 : 中破・大破"; UnitQueryItem q71 = new UnitQueryItem(UnitQueryMode.ShipType); q71.SearchesAdd(2, UnitQueryRangeMode.Equals);//駆逐艦 q71.SearchesAdd(3, UnitQueryRangeMode.Equals);//軽巡洋艦 q71.SearchesAdd(4, UnitQueryRangeMode.Equals);//雷巡 UnitQueryItem q72 = new UnitQueryItem(UnitQueryMode.IsLocked); q72.SearchesAdd(1, UnitQueryRangeMode.Equals);//ロック済み UnitQueryItem q73 = new UnitQueryItem(UnitQueryMode.HPRatio); q73.AddHPCondition_MiddleOver();//中破以上 queries[7].Query.AddRange(new UnitQueryItem[] { q71, q72, q73 }); //8 : 主力巡洋艦、戦艦・空母系 : 小破 queries[8].Name = "主力巡洋艦、戦艦・空母系 : 小破"; UnitQueryItem q81 = new UnitQueryItem(UnitQueryMode.ShipTypeName); q81.SearchesAdd("巡洋艦", UnitQueryMatchMode.Contains);//巡洋艦 q81.SearchesAdd("戦艦", UnitQueryMatchMode.Contains);//戦艦 q81.SearchesAdd("軽空母", UnitQueryMatchMode.ExactlyMatch); q81.SearchesAdd("正規空母", UnitQueryMatchMode.ExactlyMatch); q81.SearchesAdd("装甲空母", UnitQueryMatchMode.ExactlyMatch); UnitQueryItem q82 = new UnitQueryItem(UnitQueryMode.IsLocked); q82.SearchesAdd(1, UnitQueryRangeMode.Equals);//ロック済み UnitQueryItem q83 = new UnitQueryItem(UnitQueryMode.HPRatio); q83.AddHPCondition_Small();//小破のみ queries[8].Query.AddRange(new UnitQueryItem[] { q81, q82, q83 }); //9 : 非ロック重巡 : 燃弾あり queries[9].Name = "非ロック重巡 : 燃弾あり"; UnitQueryItem q91 = new UnitQueryItem(UnitQueryMode.ShipType); q91.SearchesAdd(5, UnitQueryRangeMode.Equals);//重巡 UnitQueryItem q92 = new UnitQueryItem(UnitQueryMode.IsLocked); q92.SearchesAdd(0, UnitQueryRangeMode.Equals);//非ロック UnitQueryItem q93 = new UnitQueryItem(UnitQueryMode.FuelNow); q93.SearchesAdd(1, UnitQueryRangeMode.MoreThanEquals);//燃料1以上 UnitQueryItem q94 = new UnitQueryItem(UnitQueryMode.BullNow); q94.SearchesAdd(1, UnitQueryRangeMode.MoreThanEquals);//弾薬1以上 queries[9].Query.AddRange(new UnitQueryItem[] { q91, q92, q93, q94 }); //-- //10 : 非ロック戦艦 : 燃弾あり queries[10].Name = "非ロック戦艦 : 燃弾あり"; UnitQueryItem q101 = new UnitQueryItem(UnitQueryMode.ShipTypeName); q101.SearchesAdd("戦艦", UnitQueryMatchMode.Contains);//戦艦 UnitQueryItem q102 = new UnitQueryItem(UnitQueryMode.IsLocked); q102.SearchesAdd(0, UnitQueryRangeMode.Equals);//非ロック UnitQueryItem q103 = new UnitQueryItem(UnitQueryMode.FuelNow); q103.SearchesAdd(1, UnitQueryRangeMode.MoreThanEquals);//燃料1以上 UnitQueryItem q104 = new UnitQueryItem(UnitQueryMode.BullNow); q104.SearchesAdd(1, UnitQueryRangeMode.MoreThanEquals);//弾薬1以上 queries[10].Query.AddRange(new UnitQueryItem[] { q101, q102, q103, q104 }); //11 : 非ロック駆逐 : 燃弾あり queries[11].Name = "非ロック駆逐 : 燃弾あり"; UnitQueryItem q111 = new UnitQueryItem(UnitQueryMode.ShipType); q111.SearchesAdd(2, UnitQueryRangeMode.Equals);//駆逐 UnitQueryItem q112 = new UnitQueryItem(UnitQueryMode.IsLocked); q112.SearchesAdd(0, UnitQueryRangeMode.Equals);//非ロック UnitQueryItem q113 = new UnitQueryItem(UnitQueryMode.FuelNow); q113.SearchesAdd(1, UnitQueryRangeMode.MoreThanEquals);//燃料1以上 UnitQueryItem q114 = new UnitQueryItem(UnitQueryMode.BullNow); q114.SearchesAdd(1, UnitQueryRangeMode.MoreThanEquals);//弾薬1以上 queries[11].Query.AddRange(new UnitQueryItem[] { q111, q112, q113, q114 }); //12 : 潜水・潜水空母 : 小破以下 queries[12].Name = "潜水・潜水空母 : 小破以下"; UnitQueryItem q121 = new UnitQueryItem(UnitQueryMode.ShipType); q121.SearchesAdd(13, UnitQueryRangeMode.Equals);//潜水艦 q121.SearchesAdd(14, UnitQueryRangeMode.Equals);//潜水空母 UnitQueryItem q122 = new UnitQueryItem(UnitQueryMode.HPRatio); q122.AddHPCondition_NoneOrSmall();//小破以下 queries[12].Query.Add(q121); queries[12].Query.Add(q122); //13 : 潜水・潜水空母 : 中破・大破 queries[13].Name = "潜水・潜水空母 : 中破・大破"; UnitQueryItem q131 = new UnitQueryItem(UnitQueryMode.ShipType); q131.SearchesAdd(13, UnitQueryRangeMode.Equals);//潜水艦 q131.SearchesAdd(14, UnitQueryRangeMode.Equals);//潜水空母 UnitQueryItem q132 = new UnitQueryItem(UnitQueryMode.HPRatio); q132.AddHPCondition_MiddleOver();//中破大破 queries[13].Query.Add(q131); queries[13].Query.Add(q132); //14 : 潜水空母 : 中破・大破 queries[14].Name = "潜水空母 : 中破・大破"; UnitQueryItem q141 = new UnitQueryItem(UnitQueryMode.ShipType); q141.SearchesAdd(14, UnitQueryRangeMode.Equals);//潜水空母 UnitQueryItem q142 = new UnitQueryItem(UnitQueryMode.HPRatio); q142.AddHPCondition_MiddleOver();//中破大破 queries[14].Query.Add(q141); queries[14].Query.Add(q142); //-- //15 : 潜水艦 : キラキラあり queries[15].Name = "潜水艦 : キラキラあり"; UnitQueryItem q151 = new UnitQueryItem(UnitQueryMode.ShipType); q151.SearchesAdd(13, UnitQueryRangeMode.Equals);//潜水艦 UnitQueryItem q152 = new UnitQueryItem(UnitQueryMode.Cond); q152.SearchesAdd(50, UnitQueryRangeMode.MoreThanEquals);//キラキラあり queries[15].Query.Add(q151); queries[15].Query.Add(q152); //返り値 return queries; }
/// <summary> /// Search for entities with specified characteristics in FOV or in memory /// and select the one by user defined criteria. /// </summary> /// <param name="query"></param> /// <param name="criterion"></param> /// <param name="chooseMax"></param> /// <param name="setAsTarget"></param> /// <param name="remember"></param> /// <returns></returns> public bool SelectUnitByCriteria(UnitQuery query, UnitCriterion criterion, bool chooseMax, bool setAsTarget = true, bool remember = true) { var units = new List <Unit>(); // Check if we actually see it if (_seenUnits.Count > 0) { foreach (var unit in _seenUnits) { if (unit && query(unit)) { units.Add(unit); } } } else { if (remember) { var rememberedUnits = Memory.RememberUnits(query); foreach (var unit in rememberedUnits) { units.Add(unit); } } } if (units.Count == 0) { return(false); } if (units.Count == 1) { TargetUnit = units[0]; if (setAsTarget && TargetUnit) { _agent.Target = TargetUnit.transform; } if (remember) { Memory.Memorise(units[0]); } return(true); } // Now select thhe one Unit that fits the criteria the best. var index = 0; var crit = criterion(units[0]); for (var i = 1; i < units.Count; i++) { if (chooseMax) { if (!(criterion(units[i]) > crit)) { continue; } index = i; crit = criterion(units[i]); } else { if (!(criterion(units[i]) < crit)) { continue; } index = i; crit = criterion(units[i]); } } TargetUnit = units[index]; if (setAsTarget && TargetUnit) { _agent.Target = TargetUnit.transform; } if (remember) { Memory.Memorise(units[index]); } return(true); }
//艦娘タブの初期化 public void Init() { if (!(this.FindForm() as WeifenLuo.WinFormsUI.Docking.DockContent).IsHandleCreated) { return; } //変数の設定 label_unit_num = new Label[] { label_unit_num_1, label_unit_num_2, label_unit_num_3 }; label_unit_time = new Label[] { label_unit_time_1, label_unit_time_2, label_unit_time_3, label_unit_time_4 }; //メニューアイテムの作成 MenuItemQuery = new ToolStripMenuItem[8][]; foreach (int i in Enumerable.Range(0, MenuItemQuery.Length)) MenuItemQuery[i] = new ToolStripMenuItem[KancolleInfoUnitList.QueriesMax / MenuItemQuery.Length]; foreach(int i in Enumerable.Range(0, KancolleInfoUnitList.QueriesMax)) { ToolStripMenuItem item = new ToolStripMenuItem() { Text = string.Format("({0})", i), Tag = i, }; MenuItemQuery[i / MenuItemQuery[0].Length][i % MenuItemQuery[0].Length] = item; } toolStripMenuItem_q1.DropDownItems.AddRange(MenuItemQuery[0]); toolStripMenuItem_q2.DropDownItems.AddRange(MenuItemQuery[1]); toolStripMenuItem_q3.DropDownItems.AddRange(MenuItemQuery[2]); toolStripMenuItem_q4.DropDownItems.AddRange(MenuItemQuery[3]); toolStripMenuItem_q5.DropDownItems.AddRange(MenuItemQuery[4]); toolStripMenuItem_q6.DropDownItems.AddRange(MenuItemQuery[5]); toolStripMenuItem_q7.DropDownItems.AddRange(MenuItemQuery[6]); toolStripMenuItem_q8.DropDownItems.AddRange(MenuItemQuery[7]); //自動更新 toolStripMenuItem_autorefresh.Click += new EventHandler(toolStripMenuItem_autorefresh_Click); if(!Config.TabKanmusuAutoRefreshDisable) toolStripMenuItem_autorefresh.PerformClick(); //クエリの初期化 UsingQuery = new UnitQuery(); //フィルターの初期化 UsingFilter = new UnitQueryFilter(); InitFinished = true; }