public void SetCurrentObject(GameobjectListItem objectContainer) { CurrentObject = objectContainer.Object; Ray mouseRay = Camera.main.ScreenPointToRay(Input.mousePosition); Physics.Raycast(mouseRay, out RaycastHit gridPosition, int.MaxValue, BuildMask); Destroy(ghostObject); ghostObject = Instantiate(CurrentObject, FixToGrid(gridPosition.point, CurrentObject.GetComponent <Renderer>().bounds.size.y / 2), new Quaternion()); ghostObject.GetComponent <Renderer>().materials[0].mainTexture = ObjectTexture; ghostObject.GetComponent <Renderer>().materials[0] = GhostifyMaterial(ghostObject.GetComponent <Renderer>().materials[0], 2); }
public void AddCategory(Dropdown dropDown) { dropDownMenu = dropDown; CategoryPanel.SetActive(true); foreach (GameObject listObject in ObjectList.items) { GameObject newTileItem = ListItem; CategoryObjectListItem listItemScript = newTileItem.GetComponent <CategoryObjectListItem>(); GameobjectListItem listItem = listObject.GetComponent <GameobjectListItem>(); listItemScript.ObjectThumbnail.sprite = listItem.ObjectThumbnail.sprite; listItemScript.ObjectName.text = listItem.ObjectName.text; listItemScript.Object = listItem.Object; listItemScript.Item = listObject.GetComponent <GameobjectListItem>(); newTileItem = Instantiate(newTileItem) as GameObject; newTileItem.transform.SetParent(Content.transform); newTileItem.SetActive(true); } }
public void PopulateList() { foreach (GameObject terrainTile in terrainTiles) { GameObject newTileItem = gameobjectItem; GameobjectListItem listItemScript = newTileItem.GetComponent <GameobjectListItem>(); Texture2D objectThumbnail = RuntimePreviewGenerator.GenerateModelPreview(terrainTile.transform); if (objectThumbnail != null) { listItemScript.ObjectThumbnail.sprite = Sprite.Create(objectThumbnail, new Rect(0.0f, 0.0f, objectThumbnail.width, objectThumbnail.height), new Vector2(), 100.0f); } listItemScript.ObjectName.text = terrainTile.name; listItemScript.Object = terrainTile; newTileItem = Instantiate(newTileItem) as GameObject; newTileItem.transform.SetParent(contentPanel); newTileItem.SetActive(true); items.Add(newTileItem); } }