#10979 no te vamso a convencer de que te apuntes a la jam, no? Hay un juego y un CT de premio, a elegir como en la anterior
#10981 no programo ni cosas normales en mi tiempo libre, me voy a poner a programar juegos, hulio.
public List<InputDevice> GetPlayerDevices(int playerId)
{
PlayerInputConfig playerConfig = this.GetPlayerOptions(playerId);
List<InputDevice> requiredDevices = GetRequiredDevicesFromControlScheme(playerConfig.mapping);
return requiredDevices;
}
private List<InputDevice> GetRequiredDevicesFromControlScheme(string mapping)
{
List<InputDevice> requiredDevices = new List<InputDevice>();
HashSet<InputBinding> bindings = new HashSet<InputBinding>();
// Obtenemos el action map del mapping
InputControlScheme? scheme = inputActionAsset.FindControlScheme(mapping);
if (scheme == null)
{
Debug.LogError("Scheme Not Found");
}
var actionMaps = inputActionAsset.actionMaps;
foreach (var actionMap in actionMaps)
{
if (actionMap.name != "Car" && actionMap.name != "Radio")
{
continue;
}
foreach (var binding in actionMap.bindings)
{
if (binding.groups.Contains(scheme.Value.bindingGroup))
{
string deviceType = binding.effectivePath.Split('/')[0].Trim('<', '>');
var matchingDevices = InputSystem.devices.Where(device => IsDeviceOfTypeOrRelated(device, deviceType));
foreach (var device in matchingDevices)
{
if (!requiredDevices.Contains(device))
{
requiredDevices.Add(device);
}
}
}
}
}
return requiredDevices;
}
private bool IsDeviceOfTypeOrRelated(InputDevice device, string deviceType)
{
if (device.layout == deviceType)
{
return true;
};
var baseLayout = InputSystem.TryFindMatchingLayout(device.description);
if(IsDeviceOfType(device, deviceType))
{
return true;
}
if (baseLayout != null && baseLayout.ToString() == deviceType)
{
return true;
}
return false;
}
private bool IsDeviceOfType(InputDevice device, string deviceType)
{
return deviceType switch
{
"Gamepad" => device is Gamepad,
"Joystick" => device is Joystick,
"Keyboard" => device is Keyboard,
_ => false
};
}
No acepto preguntas
#10985 Los volantes se identifican con el poder del amor
No, en verdad es porque saltan porque el baseLayout es el mismo.
var baseLayout = InputSystem.TryFindMatchingLayout(device.description);
if (baseLayout != null && baseLayout.ToString() == deviceType)
{
return true;
}
Por como funciona la librería de DirectInput cada dispositivo es su propio "Layout", así que el Layout de un Binding que es <PollasPollas>...sera el dispositivo que tiene el layout <PollasPollas>
Originalmente esto me lo cargue para que todo fuera "DirectInput", y así poder filtrarlo en los dispositivos de cada Mapping...pero esto revienta el sistema en caso de necesitar varios mandos para un mismo jugador.
Así que me toco encontrar lo de "dar prioridad" a ciertos dispositivos en el caso de un binding, para evitar que saltará el dispositivo SIN DirectInput
Justamente son los teclados, joystick y demases lo jodido, porque el Mando de Xbox no es "Gamepad" es Xinput pollas y ahí es donde entra la traducción rara
Esto en el caso de dejar la lista "vacía", si seleccionas dispositivos en tu perfil más te vale que coincidían en nombre la próxima vez o la cagaste
...para variar todo funciona, incluso los controles y la BD, hasta la radio
...pero el nuevo nivel esta sencillamente reventado. Las particulas aparecen y desaparecen, y el cielo esta gris y no se el motivo...solo pasa en la versión "build"
Es desesperante.
Bueno, lo he estabilizado para que ya solo me fallen las particulas...pero no tengo ni zorra de porque "parpadean"
Es como si al estar en X posición Unity asimila que ya no tiene que usarlas y las apaga
EDIT: Vengo a editar este comentario para decir a algun ingenerio de Unity que ha hecho el sistema de particulas, que es libre tambien de comerme los cojones. Las putas particulas transparentes estan rotas jodio por culo
#11008 el drama viene un poco debido a que todo ha sido automatizado por un "servicio IA", que en base a unas reglas ha realizado la petición de cierre y el registrar también ha procedido a cerrar el dominio de forma automática, sin intervención humana, etc...
Y la peña en twitter/reddit bastante cabreada diciendo que este tipo de gestiones jamás deberían estar automatizadas y tal.