Exemplo n.º 1
0
    private void FireLaser(MineralController mineralController)
    {
        int minerals = mineralController.GetMinerals(LaserPower);

        MainGregorLogic.Instance.PlayerController.Minerals += minerals;
        LaserController laserController = Instantiate(LaserPrefab);

        laserController.SetLaser(FirePoint, mineralController.transform);
    }
    void OnSceneGUI()
    {
        MineralController fov = (MineralController)target;

        Handles.color = Color.blue;
        Handles.DrawWireArc(fov.transform.position, Vector3.up, Vector3.forward, 360, fov.viewRadius);

        Handles.color = Color.red;
        foreach (Transform visibleTarget in fov.visibleTargets)
        {
            Handles.DrawLine(fov.transform.position, visibleTarget.position);
        }
    }
Exemplo n.º 3
0
    public void MineMineral(Ray ray)
    {
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit))
        {
            if (hit.collider != null)
            {
                MineralController mineralController = hit.collider.GetComponent <MineralController>();
                if (mineralController != null)
                {
                    Vector3 dist = mineralController.transform.position - transform.position;
                    if (dist.magnitude < LaserRange)
                    {
                        FireLaser(mineralController);
                    }
                }
            }
        }
    }