I have multiple Images in one script and an array of sprites in another. I assign each image a specific sprite if a specific controller is connected. If I don’t have an image on the script I attach on the game object, it gives me errors about object not in scene.
So im still learning unity and C#, and this is what I have now, and it works. Just wondering if there’s a cleaner way to do this null check with a loop, which kind of loop and how?
Thanks in advance!
public GameManager gameManager;
public UIMananger uIMananger;
public Image[] moveImg;
public Image RunImg;
public Image jumpImg;
public Image mainAttackImg;
public Image secondAttackImg;
public Image PauseImg;
public Image SelectImg;
public Image recenterCameraImg;
public Image showUiImg;
public Image chaosTestImg;
public Image firstPersonCameraImg;
public Image EnterImg;
public Image BackImg;
void Update()
{
if (gameManager.UsingXboxController)
{
XboxMap();
}
}
public void XboxMap()
{
if (moveImg[0] != null)
{
moveImg[0].sprite = uIMananger.controllerButtons[10];
}
if (moveImg[1] != null)
{
moveImg[1].sprite = uIMananger.controllerButtons[11];
}
if (moveImg[2] != null)
{
moveImg[2].sprite = uIMananger.controllerButtons[12];
}
if (moveImg[3] != null)
{
moveImg[3].sprite = uIMananger.controllerButtons[13];
}
if (RunImg != null)
{
RunImg.sprite = uIMananger.controllerButtons[3];
}
if (jumpImg != null)
{
jumpImg.sprite = uIMananger.controllerButtons[0]; ;
}
if (mainAttackImg != null)
{
mainAttackImg.sprite = uIMananger.controllerButtons[2];
}
if (secondAttackImg != null)
{
secondAttackImg.sprite = uIMananger.controllerButtons[1];
}
if (PauseImg != null)
{
PauseImg.sprite = uIMananger.controllerButtons[22];
}
if (SelectImg != null)
{
SelectImg.sprite = uIMananger.controllerButtons[23];
}
if (recenterCameraImg != null)
{
recenterCameraImg.sprite = uIMananger.controllerButtons[6];
}
if (showUiImg != null)
{
showUiImg.sprite = uIMananger.controllerButtons[5];
}
if (chaosTestImg != null)
{
chaosTestImg.sprite = uIMananger.controllerButtons[18];
}
if (firstPersonCameraImg != null)
{
firstPersonCameraImg.sprite = uIMananger.controllerButtons[8];
}
if (EnterImg != null)
{
EnterImg.sprite = uIMananger.controllerButtons[0];
}
if (BackImg != null)
{
BackImg.sprite = uIMananger.controllerButtons[1];
}
}