Ejemplo n.º 1
0
    // 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();
            }
        }
    }
Ejemplo n.º 2
0
    // 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>();
    }
Ejemplo n.º 3
0
    private void Start()
    {
        if (isPlebChaser)
        {
            lockOn = findClosestActiveResourcePlanet();

            if (lockOn != null)
            {
                lockOnComponenet = lockOn.GetComponent <ResourcePlanet>();
            }
        }

        if (lockOn == null)
        {
            lockOn = GameObject.Find("Player Objects");
        }
    }
Ejemplo n.º 4
0
    // 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();
                }
            }
        }
    }