// Update is called once per frame void Update() { GenerateAllResources(); //Resource Controller //Constantly raycasting to the resource planet; for (int i = 0; i < planets.Count; i++) { RaycastHit2D hit = Physics2D.Raycast(transform.position, planets[i].transform.position, Mathf.Infinity, onlyShieldAndResourcePlanet); if (hit.collider != null && hit.collider.tag == "ResourcePlanet") { // Add resource to resource manager. ResourcePlanet rp = planets [i].GetComponent <ResourcePlanet> (); if (rp != null && !rp.isShieldActivated && rp.isTowerActivated) { // Play Beam animations. planets [i].GetComponent <StormBeam> ().FireWeapon(gameObject.transform.position, rp.gameObject.transform.position); Debug.DrawRay(transform.position, planets [i].transform.position, Color.green); ResourceManager.instance.AddCertainResource(rp.GetResourceType(), rp.GetResourceAmount()); } else { planets [i].GetComponent <StormBeam> ().DestroyMagicBeam(); } } if (hit.collider != null && hit.collider.tag == "Shield") { planets [i].GetComponent <StormBeam> ().DestroyMagicBeam(); } } }
// Start is called before the first frame update void Start() { _maxResource = transform.childCount * (spriteIncrement); availableResources = (int)(_maxResource / 2); transform.GetChild((int)(availableResources / spriteIncrement)).gameObject.SetActive(true); planet = GetComponentInParent <ResourcePlanet>(); }
private void Start() { if (isPlebChaser) { lockOn = findClosestActiveResourcePlanet(); if (lockOn != null) { lockOnComponenet = lockOn.GetComponent <ResourcePlanet>(); } } if (lockOn == null) { lockOn = GameObject.Find("Player Objects"); } }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero); if (hit.collider != null && hit.collider.tag == "ResourcePlanet") { Debug.Log(hit.collider.gameObject.name); ResourcePlanet rp = hit.collider.gameObject.GetComponent <ResourcePlanet> (); if (rp.isDetected && !rp.isTowerActivated) { if (!rp.upgradeMenuCanvas.gameObject.activeInHierarchy) { rp.OpenUpgradeMenu(); } else { rp.CloseUpgradeMenu(); } } } if (hit.collider != null && hit.collider.tag == "Shield") { Debug.Log(hit.collider.gameObject.name); hit.collider.gameObject.GetComponent <Shield>().setActiveShield(); } if (hit.collider != null && hit.collider.tag == "Player") { Debug.Log(hit.collider.gameObject.name); ResourcePlanetFetching rpf = hit.collider.gameObject.GetComponent <ResourcePlanetFetching> (); if (!rpf.upgradeMenuCanvas.gameObject.activeInHierarchy && rpf.currentLevel - 1 < rpf.resourcePlanets.Length) { rpf.OpenUpgradeMenu(); } else { rpf.CloseUpgradeMenu(); } } } if (Input.GetMouseButtonDown(1)) { Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero); if (hit.collider != null && hit.collider.tag == "ResourcePlanet") { if (hit.collider.gameObject.GetComponent <ResourcePlanet> ().isTowerActivated) { hit.collider.gameObject.GetComponent <ResourcePlanet> ().ActivateShieldOnPlanet(); } } } }