void Recorrer(Interactable[] interactables) { /* * * * * * * * SE RECORRE PARA CADA SCRIPT DENTRO DEL OBJETO * * * * * * */ for (int i = 0; i < interactables.Length; i++) // { Interactable interactable = interactables[i]; // se asigna uno solo de ellos en cada iteracion for (int b = 0; b < buttonsTracked.Count; b++) // se recorren los botones rastreados (3 solamente) { EVRButtonId button = buttonsTracked[b]; // se guarda en la variable button al boton rastreado if (device.GetPressDown(button)) // si se está presionando ese boton { if (!scriptButtons.ContainsKey(button) || !scriptButtons[button].Contains(interactable)) // si el boton no es una clave del diccionario aun o // si el boton si está en el diccionario pero no tiene asigando ese script actual { interactable.ButtonPressDown(button, this); // se envía la información del boton presionado al script actual if (!scriptButtons.ContainsKey(button)) // Si es la primera vez que se usa el boton { scriptButtons.Add(button, new List <Interactable>()); // se agrega dicho boton a la lista de botones utilizado } scriptButtons[button].Add(interactable); // se agrega el script a la lista de scripts que usa ese boton } } } } }