bool CheckTouchOnBat() { Ray ray = cam.ScreenPointToRay(Input.GetTouch(0).position); int layer = CreateLayer.LayerOnly("Bat"); //return if hit the bat return(Physics.Raycast(ray, 100, layer, QueryTriggerInteraction.Collide)); }
void Attack() { //create layer to hit only enemy and player, and be sure to ignore self int layer = CreateLayer.LayerOnly(new string[] { "Enemy", "Player" }); IDamage self = transform.GetComponent <IDamage>(); //start weapon attack enemy.weapon.Attack(currentAttack.timePrepareAttack, currentAttack.durationAttack, currentAttack.damage, layer, self); }
/// <summary> /// check result data after 'Create' /// </summary> /// <param name="createItem"></param> /// <returns></returns> private TypePlace CheckAfterCreate(TypePlace createItem) { CreateLayer dictDelegat = new CreateLayer(_layer.Create); TypePlace result = dictDelegat(createItem); if (result == null) { MessageShow.ShowError(CreateMess); //select first element of grid by default result = TypePlaceList[0]; } return(result); }
/// <summary> /// check result data after 'Craete' /// </summary> /// <param name="createItem"></param> /// <returns></returns> private SystemConstant CheckAfterCreate(SystemConstant createItem) { CreateLayer dictDelegat = new CreateLayer(_layer.Create); SystemConstant result = dictDelegat(createItem); if (result == null) { MessageShow.ShowError(CreateMess); //select first element of grid by default result = SystemConstantList[0]; } return(result); }
/// <summary> /// check result data after 'Create' /// </summary> /// <param name="createItem"></param> /// <returns></returns> private KlR030 CheckAfterCreate(KlR030 createItem) { CreateLayer dictDelegat = new CreateLayer(_layer.Create); KlR030 result = dictDelegat(createItem); if (result == null) { MessageShow.ShowError(CreateMess); //select first element of grid by default result = Klr030List[0]; } return(result); }
public Transform GetTarget(string layerName) { //if not enemy if (target == null) { int layer = CreateLayer.LayerOnly(layerName);; //find nearest enemy Collider[] targets = Physics.OverlapSphere(transform.position, radiusFindTarget, layer, QueryTriggerInteraction.Ignore); target = Utility.FindNearest(targets, transform.position)?.transform; } return(target); }
public ActionResult CreatePath([Bind] CreateLayer c, int InstanceID) { if (!ModelState.IsValid) { return(Json(new { error = Generic.GetValidationErrors(ModelState) })); } var layer = new Layer(c); db.Layers.Add(layer); db.SaveChanges(); //crate layer links, if appropriate. List <LayerLink> LayerLinks = new List <LayerLink>(); if (c.Nodes != null) { foreach (var x in c.Nodes) { var node = db.Nodes.DefaultIfEmpty(null).FirstOrDefault(y => y.NodeID == x && y.InstanceID == InstanceID); if (node == null) { continue; } var thisLink = new LayerLink(new CreateLayerLink { LayerID = layer.LayerID, NodeID = x }); LayerLinks.Add(thisLink); } db.LayerLinks.AddRange(LayerLinks); db.SaveChanges(); } var jsonLinks = new List <JsonLayerLink>(); foreach (var l in LayerLinks) { jsonLinks.Add(new JsonLayerLink(l)); } return(Json(new { layer = new JsonLayer(layer), layerLinks = jsonLinks })); }
public void ToolToolLibrary(string toolName) { bool isFea = false; ILayer layer = null; switch (toolName) { case "AddPoint": MapEditing.CreateLayer pCreatePointLayer = new CreateLayer(m_mapControl); pCreatePointLayer.CreatePointLayer(); break; case "AddPolyLine": MapEditing.CreateLayer pCreatePolylineLayer = new CreateLayer(m_mapControl); pCreatePolylineLayer.CreatePolylineLayer(); break; case "AddPolygon": MapEditing.CreateLayer pCreatePolygonLayer = new CreateLayer(m_mapControl); pCreatePolygonLayer.CreatePolygonLayer(); break; case "DrawPoint": for (int i = 0; i < this.m_mapControl.LayerCount; i++) { layer = this.m_mapControl.get_Layer(i); if (layer is IFeatureLayer) { isFea = true; break; } } if (isFea == false) { MessageBox.Show("请先添加SHP数据!", "提示"); return; } TextToShapefile pTextToPoint = new TextToShapefile(m_mapControl, m_statusBar); pTextToPoint.TextToPoint(); break; case "DrawPointandAtrri": for (int i = 0; i < this.m_mapControl.LayerCount; i++) { layer = this.m_mapControl.get_Layer(i); if (layer is IFeatureLayer) { isFea = true; break; } } if (isFea == false) { MessageBox.Show("请先添加SHP数据!", "提示"); return; } //TextToShapefile pTextToPoint = new TextToShapefile(m_mapControl, m_statusBar); //pTextToPoint.TextToPoint(); frmField frmfield = new frmField(this.m_mapControl, this.m_statusBar); frmfield.ShowDialog(); break; case "DrawPolyLine": for (int i = 0; i < this.m_mapControl.LayerCount; i++) { layer = this.m_mapControl.get_Layer(i); if (layer is IFeatureLayer) { isFea = true; break; } } if (isFea == false) { MessageBox.Show("请先添加SHP数据!", "提示"); return; } TextToShapefile pTextToPolyline = new TextToShapefile(m_mapControl, m_statusBar); pTextToPolyline.TextToPolyline(); break; case "DrawPolygon": for (int i = 0; i < this.m_mapControl.LayerCount; i++) { layer = this.m_mapControl.get_Layer(i); if (layer is IFeatureLayer) { isFea = true; break; } } if (isFea == false) { MessageBox.Show("请先添加SHP数据!", "提示"); return; } TextToShapefile pTextToPolygon = new TextToShapefile(m_mapControl, m_statusBar); pTextToPolygon.TextToPolygon(); break; } }
/// <summary> /// In possible cells, remove everyone where overlap /// </summary> /// <param name="position">current position, used to calculate distance</param> /// <param name="coordinatesToAttackPosition">coordinates to attack, used to calculate distance</param> /// <param name="possibleCells">possible cells to teleport</param> public static void CheckOverlap(Vector3 position, Vector3 coordinatesToAttackPosition, List <Cell> possibleCells) { //get distance float distance = Vector3.Distance(position, coordinatesToAttackPosition); //foreach possible cell foreach (Cell cell in possibleCells.CreateCopy()) { //if overlap in new position, remove from list Vector3 newPosition = GameManager.instance.world.CoordinatesToPosition(cell.coordinates, distance); //adjacent coordinates, but same distance if (Physics.OverlapBox(newPosition, Vector3.one * 0.2f, Quaternion.identity, CreateLayer.LayerAllExcept(""), QueryTriggerInteraction.Collide).Length > 0) { possibleCells.Remove(cell); } } }