static void box_RequestCoordItem(ItemBox _sender, ref IntCoord _coord, bool _drag) { _coord.left = 0; _coord.top = 0; _coord.width = 70; _coord.height = 70; }
public void OnTapInput(Vector2 tap) { RaycastHit hit; if (Physics.Raycast(GameManager.cam.ScreenPointToRay(tap), out hit, 500, layermask)) { IntCoord hexCoordSelected = new IntCoord(Hex.TileAt(hit.point)); if (hexCoordSelected.x == -1) return; //actorSpawner.SpawnUnit(null, unitToSpawn, hexCoordSelected); Debug.Log("Ray at "+hexCoordSelected.x+","+hexCoordSelected.y); } else { Debug.Log("No ray hit on Tap"); } }
public static void Test() { Widget widget = Gui.Instance.CreateWidget <Widget>("Button", new IntCoord(20, 220, 100, 100), Align.Default, "Main"); Widget child = widget.CreateWidget <Widget>("Button", new IntCoord(10, 10, 26, 26), Align.Default, "name1"); widget.EventActionInfo += new Widget.HandleActionInfo(widget_EventActionInfo); widget.EventToolTip += new Widget.HandleToolTip(widget_EventToolTip); widget.EventRootKeyChangeFocus += new Widget.HandleRootKeyChangeFocus(widget_EventRootKeyChangeFocus); widget.EventRootMouseChangeFocus += new Widget.HandleRootMouseChangeFocus(widget_EventRootMouseChangeFocus); widget.EventKeyButtonPressed += new Widget.HandleKeyButtonPressed(widget_EventKeyButtonPressed); widget.EventKeyButtonReleased += new Widget.HandleKeyButtonReleased(widget_EventKeyButtonReleased); widget.EventKeySetFocus += new Widget.HandleKeySetFocus(widget_EventKeySetFocus); widget.EventKeyLostFocus += new Widget.HandleKeyLostFocus(widget_EventKeyLostFocus); widget.EventMouseButtonDoubleClick += new Widget.HandleMouseButtonDoubleClick(widget_EventMouseButtonDoubleClick); widget.EventMouseButtonClick += new Widget.HandleMouseButtonClick(widget_EventMouseButtonClick); widget.EventMouseButtonPressed += new Widget.HandleMouseButtonPressed(widget_EventMouseButtonPressed); widget.EventMouseButtonReleased += new Widget.HandleMouseButtonReleased(widget_EventMouseButtonReleased); widget.EventMouseWheel += new Widget.HandleMouseWheel(widget_EventMouseWheel); widget.EventMouseMove += new Widget.HandleMouseMove(widget_EventMouseMove); widget.EventMouseDrag += new Widget.HandleMouseDrag(widget_EventMouseDrag); widget.EventMouseSetFocus += new Widget.HandleMouseSetFocus(widget_EventMouseSetFocus); widget.EventMouseLostFocus += new Widget.HandleMouseLostFocus(widget_EventMouseLostFocus); bool flag = widget.IsUserString("key"); widget.SetUserString("key", "value"); flag = widget.IsUserString("key"); string name = widget.GetUserString("key"); widget.ClearUserString("key"); flag = widget.IsUserString("key"); name = widget.GetUserString("key"); int height = widget.GetHeight(); int width = widget.GetWidth(); int rigth = widget.GetRight(); int bottom = widget.GetBottom(); int top = widget.GetTop(); top = widget.GetAbsoluteTop(); int left = widget.GetLeft(); left = widget.GetAbsoluteLeft(); IntCoord coord = widget.GetAbsoluteCoord(); IntRect rect = widget.GetAbsoluteRect(); IntPoint point = widget.GetAbsolutePosition(); Align align = widget.Align; widget.Align = Align.Center; widget.EnableToolTip = !widget.EnableToolTip; widget.NeedToolTip = !widget.NeedToolTip; Widget client = widget.GetClientWidget(); coord = widget.GetClientCoord(); string pointer = widget.Pointer; widget.Pointer = "Beam"; widget.SetEnabledSilent(true); widget.Enabled = !widget.Enabled; widget.Enabled = !widget.Enabled; widget.SetMaskPick(""); widget.InheritsPick = !widget.InheritsPick; widget.NeedMouseFocus = !widget.NeedMouseFocus; widget.NeedMouseFocus = !widget.NeedMouseFocus; widget.NeedKeyFocus = !widget.NeedKeyFocus; widget.NeedKeyFocus = !widget.NeedKeyFocus; Widget find = widget.FindWidget("name1"); uint count = widget.GetChildCount(); Widget childat = widget.GetChildAt(0); Widget parent = widget.GetParent(); parent = childat.GetParent(); flag = widget.IsRootWidget(); flag = childat.IsRootWidget(); childat.SetState("disabled"); childat.InheritsAlpha = !childat.InheritsAlpha; widget.Alpha = 0.5f; widget.Caption = "Widget"; widget.Visible = !widget.Visible; widget.Visible = !widget.Visible; widget.SetRealCoord(0, 0, 0.1f, 0.1f); widget.SetRealSize(0.2f, 0.2f); widget.SetRealPosition(0.1f, 0.1f); widget.SetPosition(10, 10); widget.SetSize(10, 10); widget.SetCoord(21, 221, 101, 101); widget.Position = new IntPoint(11, 11); widget.Size = new IntSize(12, 12); widget.Coord = new IntCoord(20, 220, 100, 100); name = widget.GetName(); }
static void container_RequestDragWidgetInfo(DDContainer _sender, ref Widget _item, ref IntCoord _dimension) { mWidget.Visible = true; _item = mWidget; _dimension = new IntCoord(0, 0, 20, 20); }
public static Vector3 TileCenter(IntCoord tileCoordinate) { return(TileOrigin(tileCoordinate) + new Vector3(halfWidth, 0, height / 2)); }
//public Transform waterTrans; public List <GameObject> RenderZone(Zone zone, TileSet tileSet) { // Set water //waterTrans.position = new Vector3(waterTrans.position.x, zone.waterHeight, waterTrans.position.z); List <GameObject> output = new List <GameObject>(); // Determine int maxWidth = 55; int sectionsWide = 1; if (zone.width > maxWidth) { sectionsWide = (int)Mathf.Ceil(zone.width / (float)maxWidth); } for (int secX = 0; secX < sectionsWide; secX++) { for (int secY = 0; secY < sectionsWide; secY++) { // Copy a section of tiles from zone Tile[,] tileSection = new Tile[maxWidth, maxWidth]; for (int tx = secX * maxWidth; tx < secX * maxWidth + maxWidth && tx < zone.width; tx++) { for (int ty = secY * maxWidth; ty < secY * maxWidth + maxWidth && ty < zone.width; ty++) { tileSection[tx - secX * maxWidth, ty - secY * maxWidth] = zone.tiles[tx, ty]; } } float xOff = 0; if (secY % 2 == 1) { xOff += Hex.bisect; } Vector3 zonePlacement = new Vector3(Hex.bisect * 2 * maxWidth * secX + xOff, 0, Hex.sideAndAHalf * maxWidth * secY); GameObject render = (GameObject)Instantiate(boardPrefab, zonePlacement, Quaternion.identity); MeshFilter myFilter = render.GetComponent <MeshFilter>(); MeshCollider myCollider = render.GetComponent <MeshCollider>(); Renderer myRend = render.GetComponent <Renderer>(); List <Vector3> vertices = new List <Vector3>(); List <int> triangles = new List <int>(); List <Vector3> normals = new List <Vector3>(); List <Vector2> uvs = new List <Vector2>(); Vector3 origin, v1 = new Vector3(0, 0, Hex.edge), v2 = new Vector3(Hex.bisect, 0, Hex.halfSide), v3 = new Vector3(Hex.bisect, 0, -Hex.halfSide), v4 = new Vector3(0, 0, -Hex.edge), v5 = new Vector3(-Hex.bisect, 0, -Hex.halfSide), v6 = new Vector3(-Hex.bisect, 0, Hex.halfSide); float texHeight = tileSet.texture.height; float texWidth = tileSet.texture.width; //float root3 = Mathf.Sqrt(3); float uvTileWidth = 1f / 42f; //tileSet.tileWidth/texWidth; float uvTileHeight = 1f / 42f; //tileSet.tileWidth/texHeight; float side = uvTileWidth / 2; float radius = Mathf.Sqrt((3 * side * side) / 4); /* OLD UVS * Vector2 uv0 = new Vector2(side,side), * uv1 = new Vector2(side, side+side), * uv2 = new Vector2(side+radius, side+side/2), * uv3 = new Vector2(side+radius, side/2), * uv4 = new Vector2(side, 0), * uv5 = new Vector2(side-radius, side/2), * uv6 = new Vector2(side-radius, side+side/2); */ Vector2 uv0 = new Vector2(uvTileWidth / 2.0f, uvTileHeight / 2.0f), uv1 = new Vector2(10 / texWidth, 98 / texHeight), uv2 = new Vector2(54 / texWidth, 22 / texHeight), uv3 = new Vector2(141 / texWidth, 22 / texHeight), uv4 = new Vector2(185 / texWidth, 98 / texHeight), uv5 = new Vector2(141 / texWidth, 173 / texHeight), uv6 = new Vector2(54 / texWidth, 173 / texHeight); int counter = 0; for (int x = 0; x < zone.width && x < tileSection.GetLength(0); x++) { for (int y = 0; y < zone.width && y < tileSection.GetLength(1); y++) { if (tileSection[x, y] == null) { continue; } TileType tileType = tileSection[x, y].type; if (tileType == TileType.None) { continue; } /* * 1 = 0,side * 6 2=height, side/2 * origin(0) * 5 3=height, -side/2 * 4= 0,-side */ IntCoord uvCoord = tileSet.GetUVForType(tileType); Vector2 uvOffset = new Vector2(uvCoord.x * uvTileWidth, uvCoord.y * uvTileHeight); IntCoord sideUV = tileSet.GetSideUVForType(tileType); Vector2 sideUVOffset = new Vector2(sideUV.x * uvTileWidth, sideUV.y * uvTileHeight); float xOffset = x * Hex.doubleHeight; Vector3 tileHeight = Vector3.up * tileSection[x, y].height; if (y % 2 == 1) { xOffset += Hex.bisect; } origin = new Vector3(xOffset, 0, y * Hex.sideAndAHalf); // Add the first hexagon (top) vertices.Add(origin + tileHeight); normals.Add(Vector3.up); uvs.Add(uv0 + uvOffset); //1 vertices.Add(origin + v1 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv1 + uvOffset); //2 vertices.Add(origin + v2 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv2 + uvOffset); //3 vertices.Add(origin + v3 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv3 + uvOffset); //4 vertices.Add(origin + v4 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv4 + uvOffset); //5 vertices.Add(origin + v5 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv5 + uvOffset); //6 vertices.Add(origin + v6 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv6 + uvOffset); /* * ..... * / 6| /\ * / \ |1/ \ * / 5 \|/ 2 \ \ /4|3\ / \/..|..\/ */ // Hex 1 (top) // Triangle 1 triangles.Add(counter); triangles.Add(counter + 1); triangles.Add(counter + 2); // Triangle 2 triangles.Add(counter); triangles.Add(counter + 2); triangles.Add(counter + 3); // Triangle 3 triangles.Add(counter); triangles.Add(counter + 3); triangles.Add(counter + 4); // Triangle 4 triangles.Add(counter); triangles.Add(counter + 4); triangles.Add(counter + 5); // Triangle 5 triangles.Add(counter); triangles.Add(counter + 5); triangles.Add(counter + 6); // Triangle 6 triangles.Add(counter); triangles.Add(counter + 6); triangles.Add(counter + 1); counter += 7; // Don't render sides if it's water if (tileType != TileType.Water) { // Second hex (bottom) vertices.Add(origin); normals.Add(Vector3.up); uvs.Add(uv0 + sideUVOffset); //8 vertices.Add(origin + v1); normals.Add(Vector3.up); uvs.Add(uv1 + sideUVOffset); //9 vertices.Add(origin + v2); normals.Add(Vector3.up); uvs.Add(uv2 + sideUVOffset); //10 vertices.Add(origin + v3); normals.Add(Vector3.up); uvs.Add(uv3 + sideUVOffset); //11 vertices.Add(origin + v4); normals.Add(Vector3.up); uvs.Add(uv4 + sideUVOffset); //12 vertices.Add(origin + v5); normals.Add(Vector3.up); uvs.Add(uv5 + sideUVOffset); //13 vertices.Add(origin + v6); normals.Add(Vector3.up); uvs.Add(uv6 + sideUVOffset); // Third hex for black border (top with black UVs) vertices.Add(origin + tileHeight); normals.Add(Vector3.up); uvs.Add(uv0 + sideUVOffset); //15 vertices.Add(origin + v1 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv4 + sideUVOffset); //16 vertices.Add(origin + v2 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv5 + sideUVOffset); //17 vertices.Add(origin + v3 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv6 + sideUVOffset); //18 vertices.Add(origin + v4 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv1 + sideUVOffset); //19 vertices.Add(origin + v5 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv2 + sideUVOffset); //20 vertices.Add(origin + v6 + tileHeight); normals.Add(Vector3.up); uvs.Add(uv3 + sideUVOffset); // The 6 Parallelograms (12 triangles) which complete the hexagon // Edge 1-2 on top triangles.Add(counter + 1); triangles.Add(counter + 8); triangles.Add(counter + 13); triangles.Add(counter + 1); triangles.Add(counter + 13); triangles.Add(counter + 6); triangles.Add(counter + 2); triangles.Add(counter + 8); triangles.Add(counter + 1); triangles.Add(counter + 2); triangles.Add(counter + 9); triangles.Add(counter + 8); triangles.Add(counter + 3); triangles.Add(counter + 9); triangles.Add(counter + 2); triangles.Add(counter + 3); triangles.Add(counter + 10); triangles.Add(counter + 9); triangles.Add(counter + 4); triangles.Add(counter + 10); triangles.Add(counter + 3); triangles.Add(counter + 4); triangles.Add(counter + 11); triangles.Add(counter + 10); triangles.Add(counter + 5); triangles.Add(counter + 11); triangles.Add(counter + 4); triangles.Add(counter + 5); triangles.Add(counter + 12); triangles.Add(counter + 11); triangles.Add(counter + 6); triangles.Add(counter + 12); triangles.Add(counter + 5); triangles.Add(counter + 6); triangles.Add(counter + 13); triangles.Add(counter + 12); counter += 14; } } } Mesh m = new Mesh(); m.vertices = vertices.ToArray(); m.triangles = triangles.ToArray(); m.normals = normals.ToArray(); m.uv = uvs.ToArray(); myCollider.sharedMesh = m; myFilter.sharedMesh = m; myRend.material.mainTexture = tileSet.texture; output.Add(render); } } return(output); }
public Site(int i, string n, IntCoord c, List<int> ne, List<Line> e) { id = i; name = n; coordLocation = c; neighbors = ne; edges = e; }
public abstract void setTextureInfo(String name, IntCoord coord);
public override void setTextureInfo(string name, IntCoord coord) { window.setTextureInfo(name, coord); }
public GameObject HexPlate(World world, TileSet tileSet, int i) { GameObject output = (GameObject)Instantiate(worldPrefab, Vector3.zero, Quaternion.identity); output.layer = 0; MeshFilter myFilter = output.GetComponent <MeshFilter>(); MeshCollider myCollider = output.GetComponent <MeshCollider>(); SerializableVector3 origin = world.origin; List <Vector3> vertices = new List <Vector3>(); List <int> triangles = new List <int>(); List <Vector3> normals = new List <Vector3>(); List <Vector2> uvs = new List <Vector2>(); //Switch between UV Modes if (hexagonal) //Hexagonal uvs { //Copypasta from worldrenderer float texHeight = 8192f; //tileSet.texture.height; float texWidth = 8192f; //tileSet.texture.width; //float root3 = Mathf.Sqrt(3); uvTileWidth = 1.0f / 42.0f; //tileSet.tileWidth / texWidth; uvTileHeight = 1.0f / 42.0f; //tileSet.tileHeight / texHeight; //float side = uvTileWidth / 2.0f; // float radius = Mathf.Sqrt((3.0f * side * side) / 4.0f); /* * Vector2 uv0 = new Vector2(side, side), * uv1 = new Vector2(side, side + side), * uv2 = new Vector2(side + radius, side + side / 2.0f), * uv3 = new Vector2(side + radius, side / 2.0f), * uv4 = new Vector2(side, 0), * uv5 = new Vector2(side - radius, side / 2.0f), * uv6 = new Vector2(side - radius, side + side / 2.0f); */ uv0 = new Vector2(uvTileWidth / 2.0f, uvTileHeight / 2.0f); uv1 = new Vector2(10 / texWidth, 98 / texHeight); uv2 = new Vector2(54 / texWidth, 22 / texHeight); uv3 = new Vector2(141 / texWidth, 22 / texHeight); uv4 = new Vector2(185 / texWidth, 98 / texHeight); uv5 = new Vector2(141 / texWidth, 173 / texHeight); uv6 = new Vector2(54 / texWidth, 173 / texHeight); //Debug.Log (uv0.x + " " + uv0.y); //Debug.Log(uv1.x + " " + uv1.y); //Debug.Log(uv2.x + " " + uv2.y); //Debug.Log(uv3.x + " " + uv3.y); //Debug.Log(uv4.x + " " + uv4.y); //Debug.Log(uv5.x + " " + uv5.y); //Debug.Log (uv6.x + " " + uv6.y); foreach (HexTile ht in world.tiles) { if (ht.plate == i) { IntCoord uvCoord = tileSet.GetUVForType(ht.type); //Debug.Log("xCoord: "+ uvCoord.x + " type: "+ ht.type); Vector2 uvOffset = new Vector2(uvCoord.x * uvTileWidth, ht.generation * uvTileHeight); //uvCoord.y * uvTileHeight); // Origin point, every tile unfortunately repeats origin (@TODO and one vertex) for uv purposes int originIndex = vertices.Count; vertices.Add(origin); uvs.Add(uv0 + uvOffset); normals.Add(ht.hexagon.center - origin); // Center of hexagon int centerIndex = vertices.Count; ht.hexagon.uv0i = uvs.Count; // Triangle 1 vertices.Add(ht.hexagon.center); normals.Add((origin + ht.hexagon.center)); uvs.Add(uv0 + uvOffset); ht.hexagon.uv1i = uvs.Count; vertices.Add(ht.hexagon.v1); normals.Add((origin + ht.hexagon.v1)); uvs.Add(uv1 + uvOffset); ht.hexagon.uv2i = uvs.Count; vertices.Add(ht.hexagon.v2); normals.Add((origin + ht.hexagon.v2)); uvs.Add(uv2 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T2 ht.hexagon.uv3i = uvs.Count; vertices.Add(ht.hexagon.v3); normals.Add((origin + ht.hexagon.v3)); uvs.Add(uv3 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T3 ht.hexagon.uv4i = uvs.Count; vertices.Add(ht.hexagon.v4); normals.Add((origin + ht.hexagon.v4)); uvs.Add(uv4 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T4 ht.hexagon.uv5i = uvs.Count; vertices.Add(ht.hexagon.v5); normals.Add((origin + ht.hexagon.v5)); uvs.Add(uv5 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T5 ht.hexagon.uv6i = uvs.Count; vertices.Add(ht.hexagon.v6); normals.Add((origin + ht.hexagon.v6)); uvs.Add(uv6 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T6 triangles.Add(centerIndex); triangles.Add(vertices.Count - 1); //1 triangles.Add(vertices.Count - 6); //6 // Side 1 triangles.Add(originIndex); triangles.Add(vertices.Count - 1); triangles.Add(vertices.Count - 2); // Side 2 triangles.Add(originIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 3); // Side 3 triangles.Add(originIndex); triangles.Add(vertices.Count - 3); triangles.Add(vertices.Count - 4); // Side 4 triangles.Add(originIndex); triangles.Add(vertices.Count - 4); triangles.Add(vertices.Count - 5); // Side 5 triangles.Add(originIndex); triangles.Add(vertices.Count - 5); triangles.Add(vertices.Count - 6); // Side 6 extra vertex triangles.Add(originIndex); triangles.Add(vertices.Count - 6); triangles.Add(vertices.Count - 1); } } } else //Triangle, assumed that the texture's tiles have equilateral triangle dimensions { Debug.Log("triangle uvs"); float uv2x = 1.0f / tileCountW; float uv1x = uv2x / 2; float uv1y = 1.0f / tileCountH; Vector2 uv0 = Vector2.zero, uv2 = new Vector2(uv2x, 0), uv1 = new Vector2(uv1x, uv1y); //Generate quadrant foreach (HexTile ht in world.tiles) { if (ht.plate == i) { IntCoord uvCoord = tileSet.GetUVForType(ht.type); //Debug.Log("xCoord: "+ uvCoord.x + " type: "+ ht.type); Vector2 uvOffset = new Vector2((uvCoord.x * uv2.x), (uvCoord.y * uv1.y)); // Origin point int originIndex = vertices.Count; vertices.Add(origin); uvs.Add(uv1 + uvOffset); normals.Add(ht.hexagon.center - origin); // Center of hexagon int centerIndex = vertices.Count; // Triangle 1 vertices.Add(ht.hexagon.center); normals.Add((origin + ht.hexagon.center)); uvs.Add(uv1 + uvOffset); vertices.Add(ht.hexagon.v1); normals.Add((origin + ht.hexagon.v1)); uvs.Add(uv0 + uvOffset); vertices.Add(ht.hexagon.v2); normals.Add((origin + ht.hexagon.v2)); uvs.Add(uv2 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T2 vertices.Add(ht.hexagon.v3); normals.Add((origin + ht.hexagon.v3)); uvs.Add(uv0 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T3 vertices.Add(ht.hexagon.v4); normals.Add((origin + ht.hexagon.v4)); uvs.Add(uv2 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T4 vertices.Add(ht.hexagon.v5); normals.Add((origin + ht.hexagon.v5)); uvs.Add(uv0 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T5 vertices.Add(ht.hexagon.v6); normals.Add((origin + ht.hexagon.v6)); uvs.Add(uv2 + uvOffset); triangles.Add(centerIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 1); // T6 triangles.Add(centerIndex); triangles.Add(vertices.Count - 1); triangles.Add(vertices.Count - 6); // Side 1 triangles.Add(originIndex); triangles.Add(vertices.Count - 1); triangles.Add(vertices.Count - 2); // Side 2 triangles.Add(originIndex); triangles.Add(vertices.Count - 2); triangles.Add(vertices.Count - 3); // Side 3 triangles.Add(originIndex); triangles.Add(vertices.Count - 3); triangles.Add(vertices.Count - 4); // Side 4 triangles.Add(originIndex); triangles.Add(vertices.Count - 4); triangles.Add(vertices.Count - 5); // Side 5 triangles.Add(originIndex); triangles.Add(vertices.Count - 5); triangles.Add(vertices.Count - 6); // Side 6 triangles.Add(originIndex); triangles.Add(vertices.Count - 6); triangles.Add(vertices.Count - 1); } } } //Debug.Log(uv1); //Debug.Log(uv2); //Debug.Log(uv0); //LabelCenters(sphere.finalTris); //LabelNeighbors(sphere); //GameObject centerMarker = (GameObject)GameObject.Instantiate(centerMarkerPrefab, tri.center, Quaternion.identity); Mesh m = new Mesh(); m.vertices = vertices.ToArray(); m.triangles = triangles.ToArray(); m.normals = normals.ToArray(); m.uv = uvs.ToArray(); myCollider.sharedMesh = m; myFilter.sharedMesh = m; return(output); }
public void setImageCoord(IntCoord intCoord) { ImageBox_setImageCoord(WidgetPtr, ref intCoord); }
public void setImageInfo(String texture, IntCoord coord, IntSize2 tile) { ImageBox_setImageInfo(WidgetPtr, texture, ref coord, ref tile); }
private static extern void ImageBox_setImageCoord(IntPtr staticImage, ref IntCoord coord);
private static extern void ImageBox_setImageInfo(IntPtr staticImage, String _texture, ref IntCoord _coord, ref IntSize2 _tile);
public static Vector3 TileOrigin(IntCoord tileCoordinate) { return new Vector3( (tileCoordinate.x * width) + ((tileCoordinate.y % 2 == 1) ? halfWidth : 0), GameManager.currentZone.tiles[tileCoordinate.x,tileCoordinate.y].height, tileCoordinate.y * rowHeight); }
public static Vector3 TileCenter(IntCoord tileCoordinate) { return TileOrigin(tileCoordinate) + new Vector3(halfWidth, 0, height/2); }
/// <summary> /// Get chunk by it's coordinate /// Complexity = O(1) /// </summary> public Chunk GetChunk(IntCoord chunkCoord) { return(new Chunk(this, chunkCoord, new IntCoord(chunkCoord.x * (chunkSize - 1), chunkCoord.y * (chunkSize - 1)))); }
internal void setTextureInfo(string name, IntCoord coord) { thumbnailImage.setImageTexture(name); thumbnailImage.setImageCoord(coord); }