void handleInput(PlayerIndex player)
{
if(justActivated) return;
direcions.ForEach((s) => lastPushActive[s] = pushActive[s]);
float X = G.input.ThumbSticks(player).Left.X;
float Y = G.input.ThumbSticks(player).Left.Y;
if(X > THRESHOLD) pushActive["right"] = true;
else if(X < RETURN_THRESHOLD) pushActive["right"] = false;
if(X < -THRESHOLD) pushActive["left"] = true;
else if(X > -RETURN_THRESHOLD) pushActive["left"] = false;
if(Y > THRESHOLD) pushActive["up"] = true;
else if(Y < RETURN_THRESHOLD) pushActive["up"] = false;
if(Y < -THRESHOLD) pushActive["down"] = true;
else if(Y > -RETURN_THRESHOLD) pushActive["down"] = false;
direcions.ForEach((s) => {
if(!lastPushActive[s] && pushActive[s]) {
pushCallbacks[s]();
}
});
if(G.input.JustPressed(G.keyMaster, Buttons.DPadDown)) onDown();
if(G.input.JustPressed(G.keyMaster, Buttons.DPadUp)) onUp();
if(G.input.JustPressed(G.keyMaster, Buttons.DPadLeft)) onLeft();
if(G.input.JustPressed(G.keyMaster, Buttons.DPadRight)) onRight();
if(G.input.JustPressed(G.keyMaster, Buttons.A) || G.input.JustPressed(G.keyMaster, Buttons.Start)) {
onSelect();
}
}