public void DestroyObject() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { gameData = gameObject.GetComponent <BuildingManager>().gameData; objectResources = hit.collider.gameObject.GetComponent <ObjectResources>(); if (hit.collider.tag == "Resources") { for (int i = 0; i < gameData.playerResources.Length; i++) { for (int p = 0; p < objectResources.resources.Count; p++) { if (gameData.playerResources[i].resourceName == objectResources.resources[p].resourceName) { gameData.playerResources[i].resourceAmount += objectResources.resources[p].resourceAmount; } } } } Destroy(hit.collider.gameObject); } }
internal static ObjectResources CalculateResourceStates(Dictionary <byte, Resource> resourcesPresent, float surfaceTemperature) { ObjectResources objectResources = new ObjectResources(); foreach (KeyValuePair <byte, Resource> resource in resourcesPresent) { if (surfaceTemperature < resource.Value.MeltingPoint) { objectResources.Solids.Add(resource.Key, resource.Value); } else if (surfaceTemperature < resource.Value.BoilingPoint) { objectResources.Liquids.Add(resource.Key, resource.Value); } else { objectResources.Atmospherics.Add(resource.Key, resource.Value); } } return(objectResources); }