| | |
| | | |
| | | public GameObject damageTextPrefab; |
| | | public GameObject healthTextPrefab; |
| | | public GameObject lootTextPrefab; |
| | | public Canvas playerUI; |
| | | public Canvas pauseMenuUI; |
| | | public Canvas worldSpaceUI; |
| | | public GameObject levelChanger; |
| | | public Tilemap tilemap; |
| | | [NonSerialized] |
| | |
| | | tmpText.text = healthRestored.ToString(); |
| | | |
| | | } |
| | | public void CharacterLootObtained(Vector3 position, Item itemReceived, int quantity) |
| | | { |
| | | // Offset the position slightly up so it doesn't spawn inside the ground/player |
| | | position += Vector3.up * 0.5f; |
| | | |
| | | // Create text in world space (no parent needed) |
| | | GameObject textObj = Instantiate(lootTextPrefab, position, Quaternion.identity, worldSpaceUI.transform); |
| | | TextMeshProUGUI tmpText = textObj.GetComponent<TextMeshProUGUI>(); |
| | | tmpText.text = $"+{quantity} ({itemReceived.itemName})"; |
| | | |
| | | // Ensure it's visible to the camera |
| | | textObj.transform.rotation = Camera.main.transform.rotation; |
| | | |
| | | } |
| | | public void CharacterDrill(ContactPoint2D contact, DrillDirection drillDirection) |
| | | { |
| | | GridLayout grid = tilemap.transform.GetComponentInParent<GridLayout>(); |
| | |
| | | // middle of tile |
| | | cellWorldPosition.x += 0.5f; |
| | | cellWorldPosition.y += 0.5f; |
| | | if (tileGameObject?.GetComponent<Dropable>()?.isDropable ?? false) |
| | | Dropable dropable = tileGameObject?.GetComponent<Dropable>(); |
| | | if (dropable?.isDropable ?? false) |
| | | { |
| | | // Change no drops, only inventory |
| | | //Instantiate(tileGameObject?.GetComponent<Dropable>().dropable, cellWorldPosition, Quaternion.identity, pickups.transform); |
| | | Inventory playerInventory = contact.rigidbody.gameObject.GetComponent<Inventory>(); |
| | | if (playerInventory != null) |
| | | { |
| | | playerInventory.AddItem(tileGameObject?.GetComponent<Dropable>().dropable); |
| | | Item item = dropable.dropable; |
| | | playerInventory.AddItem(item, dropable.dropAmount); |
| | | Debug.Log("CellWorldPosition: " + cellWorldPosition); |
| | | Debug.Log("TileGameObjectPosition: " + tileGameObject.transform.position); |
| | | CharacterLootObtained(tileGameObject.transform.position, item, dropable.dropAmount); |
| | | } |
| | | } |
| | | tilemap.SetTile(cellCoord, null); |