// Start is called before the first frame update void Start() { OldTree[] oldTrees = new OldTree[transform.childCount]; for (int i = 0; i < transform.childCount; i++) { if (transform.GetChild(i).name == "Tree1(Clone)") { oldTrees[i] = new OldTree(1, transform.GetChild(i).transform); } else if (transform.GetChild(i).name == "Tree2(Clone)") { oldTrees[i] = new OldTree(2, transform.GetChild(i).transform); } else if (transform.GetChild(i).name == "Tree3(Clone)") { oldTrees[i] = new OldTree(3, transform.GetChild(i).transform); } } for (int i = transform.childCount - 1; i >= 0; i--) { Destroy(transform.GetChild(i).gameObject); } for (int i = 0; i < oldTrees.Length; i++) { GameObject gameObject; Transform newTransform = oldTrees[i].transform; newTransform.localScale = new Vector3(1f, 1f, 1f); Debug.Log(newTransform.localScale); if (oldTrees[i].i == 1) { gameObject = Instantiate <GameObject>(Tree1, newTransform); } else if (oldTrees[i].i == 2) { gameObject = Instantiate <GameObject>(Tree2, newTransform); } else { gameObject = Instantiate <GameObject>(Tree3, newTransform); } gameObject.transform.parent = this.transform; } }
public static void Gather(Unit worker, Resource resource) { if (PlayerResources.hasStorageRoom(resource.type, 1)) { if (worker.remainingMoves >= resource.CostWork) { worker.remainingMoves -= resource.CostWork; resource.Amount--; if (resource.type == ResourceManager.ResourceType.Wood) { var resourceObjToReplace = resource.resourceObjects[0]; // OldTree if (resourceObjToReplace.transform.parent.tag == TagHandler.magicTreeString) { OldTree oldTree = resource.resourceObjects[0].GetComponent <OldTree>(); var sun = GameObject.Find("Sun").GetComponent <LightSource>(); if (resource.Amount == 9) { Talker.TypeThis("Kablang..."); sun.LightRange--; oldTree.minimum = -0.8f; } if (resource.Amount == 8) { Talker.TypeThis("Mortal, you are way out of line!"); sun.LightRange--; oldTree.minimum = -0.6f; } if (resource.Amount == 7) { Talker.TypeThis("Hold on for a second, I must warn you!"); sun.LightRange--; oldTree.minimum = -0.4f; } if (resource.Amount == 6) { Talker.TypeThis("Felling this tree will lead down a path of darkness..."); sun.LightRange--; oldTree.minimum = -0.2f; } if (resource.Amount == 5) { Talker.TypeThis("The last person that tried to cut me down somehow seemed more sensible than you."); } if (resource.Amount < 5 && resource.Amount > 0) { AddRemoveResource(resource.type, 1, MethodHandler.Command.Add); EventHandler.current.ResourceGathered(worker, resource.type); Debug.Log("Gathered: " + resource.type); Talker.TypeThis("Gathered: " + resource.type); sun.LightRange--; oldTree.minimum = +0.2f; } if (resource.Amount == 0) { AddRemoveResource(resource.type, 1, MethodHandler.Command.Add); EventHandler.current.ResourceGathered(worker, resource.type); Debug.Log("Gathered: " + resource.type); Talker.TypeThis("Gathered: " + resource.type); resource.resourceObjects.Remove(resourceObjToReplace); Destroy(resourceObjToReplace); if (resource.resourceObjects.Count == 0) { Destroy(resource); } sun.LightRange = 0; GameObject.Destroy(sun.gameObject); GameObject stump = Instantiate((GameObject)Resources.Load("Nature/OldTreeDark"), resourceObjToReplace.transform.position, resourceObjToReplace.transform.rotation, resource.transform); } } else { AddRemoveResource(resource.type, 1, MethodHandler.Command.Add); EventHandler.current.ResourceGathered(worker, resource.type); Debug.Log("Gathered: " + resource.type); Talker.TypeThis("Gathered: " + resource.type); GameObject stump = Instantiate((GameObject)Resources.Load("Nature/Stump"), resourceObjToReplace.transform.position, resourceObjToReplace.transform.rotation, resource.transform); GameObject treeFall = Instantiate((GameObject)Resources.Load("Nature/TreeFall"), resourceObjToReplace.transform.position, resourceObjToReplace.transform.rotation, resource.transform); treeFall.transform.localScale += new Vector3(1, 1, 1); resource.resourceObjects.Remove(resourceObjToReplace); Destroy(resourceObjToReplace); if (resource.resourceObjects.Count == 0) { Destroy(resource); } } } else if (resource.type == ResourceManager.ResourceType.Stone) { AddRemoveResource(resource.type, 1, MethodHandler.Command.Add); EventHandler.current.ResourceGathered(worker, resource.type); Debug.Log("Gathered: " + resource.type); Talker.TypeThis("Gathered: " + resource.type); var resourceObjToReplace = resource.resourceObjects[0]; //GameObject stump = Instantiate((GameObject)Resources.Load("Nature/Stump"), resourceObjToReplace.transform.position, resourceObjToReplace.transform.rotation, resource.transform); //resource.resourceObjects.Remove(resourceObjToReplace); if (resource.Amount < 1) { Destroy(resourceObjToReplace); Destroy(resource); } } } else { Debug.Log("No remaining Moves: " + resource.type + " not gathered"); } } else { Debug.Log("No Storage rooom for: " + resource.type + " not gathered"); } }