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); } }
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); } } } } }