public void RevisarLugarDeOrganos() { int _organospuestos = 0; for (int i = 0; i < ListaDeOrganos.Length; i++) { Organo _revisarorgano = ListaDeOrganos[i].GetComponent <Organo>(); if (_revisarorgano.Puesto == true) { _organospuestos++; if (_organospuestos == ListaDeOrganos.Length) { Ganar = true; for (int j = 0; j < ListaDeOrganos.Length; j++) { Organo __organos = ListaDeOrganos[i].GetComponent <Organo>(); __organos.enabled = false; } } } } }
void Update() { if (GrabingOrgan == false) //SI NO ESTA AGARRANDO ALGO EL RAYCAST ES CORTO { GrabIndicator.sprite = HandOpen; HandOutline.sprite = HandOpenOutline; if (Cam.transform.localEulerAngles.x > AngleToStartGrab) { GrabRange = LookingDownGrabRange; } else { GrabRange = ForwardGrabRange; } } if (GrabingOrgan) //SI SE ESTA AGARRANDO ALGO EL RAYCAST SE HACE LARGO { GrabIndicator.sprite = HandClose; HandOutline.sprite = HandCloseOutline; GrabRange = PlaceOrgenRange; } RaycastHit hit; //CREA EL RAYCAST if (Physics.Raycast(Cam.transform.position, Cam.transform.forward, out hit, GrabRange)) //REVISA SI EL RAYCAST TOCA ALGO { //Debug.Log(hit.transform.name); if (hit.transform.tag == "Organo") //SI EL RAYCASR TOCA A UN ORGANO { OrganInRange = true; HandOutline.enabled = true; HandOutline.color = MyGreen; } if (hit.transform.tag == "PuestoOrgano" && GrabingOrgan) { HandOutline.color = MyBlue; HandOutline.enabled = true; } } else { OrganInRange = false; HandOutline.enabled = false; HandOutline.color = Color.red; } if (Input.GetMouseButtonDown(0) && OrganInRange) { if (hit.transform.GetComponent <Organo>() != null) { GrabingOrgan = true; OrganoAgarrando = hit.transform.GetComponent <Organo>(); if (OrganoAgarrando.Puesto == false) { OrganoAgarrando.Agarrar(Hand); } } } if (GrabingOrgan) { if (Input.GetMouseButtonUp(0)) { GrabingOrgan = false; OrganInRange = false; OrganoAgarrando.Soltar(CheckForOrganPlacement()); OrganoAgarrando = null; } } if (GrabingOrgan) { Debug.DrawRay(Cam.transform.position, Cam.transform.forward * GrabRange, Color.blue); } else { Debug.DrawRay(Cam.transform.position, Cam.transform.forward * GrabRange, Color.red); } }