public void OnEndDrag(PointerEventData eventData) { if (Thing.FixedPosition) { return; } RaycastHit2D raycastHit2D = Physics2D.Raycast(this.transform.position, this.transform.position + Vector3.forward * 10, 10f); if (raycastHit2D.collider != null) { if (Thing.GridBlock != null && Thing.GridBlock != raycastHit2D.collider.GetComponent <GridBlock>()) { Thing.GridBlock.ListAddedThings.Remove(Thing); } Thing.Init(raycastHit2D.collider.GetComponent <GridBlock>()); TryToApplyFigure(); } else { TryToClearListAddedThings(); OnReset(); } }
protected void AddedThingsFixed1x2Or2x1(List <DataIndex> dataIndices, ThingFull thingFull, int indexGridBlock) { //if (thingFull.TypeThing== TypeThing.Type1x2) //{ // thingFull.SetBack(IconManager.GetRandomSprite1x2()); //} //if (thingFull.TypeThing==TypeThing.Type2x1) //{ // thingFull.SetBack(IconManager.GetRandomSprite2x1()); //} thingFull.Init(gridBlocks[indexGridBlock]); Vector2 Center = Vector2.zero; for (int i = 0; i < dataIndices.Count; i++) { thingFull.GridBlock.gridCells[dataIndices[i].indexI, dataIndices[i].indexJ].SetOccupied(thingFull.thingCells[i]); thingFull.GridBlock.gridCells[dataIndices[i].indexI, dataIndices[i].indexJ].SetNonDelete(); Center += thingFull.GridBlock .gridCells[dataIndices[i].indexI, dataIndices[i].indexJ] .Coordinates; } thingFull.SetFix(); thingFull.transform.SetParent(thingFull.GridBlock.transform); thingFull.transform.localPosition = Center / dataIndices.Count; thingFull.transform.localScale = Vector3.one; }
protected void AddedThingsFixed1x1(int indexI, int indexJ, ThingFull thingFull, int indexGridBlock) { //TODO //thingFull.SetBack(IconManager.GetRandomSprite1x1()); thingFull.Init(gridBlocks[indexGridBlock]); thingFull.GridBlock.gridCells[indexI, indexJ].SetOccupied(thingFull.thingCells[0]); thingFull.GridBlock.gridCells[indexI, indexJ].SetNonDelete(); thingFull.SetFix(); thingFull.transform.SetParent(thingFull.GridBlock.transform); thingFull.transform.localPosition = thingFull.GridBlock .gridCells[indexI, indexJ] .Coordinates; thingFull.transform.localScale = Vector3.one; }