If the button is set to be pressed, then check if the button is pressed. If it is, then perform the function. If it's not, then do nothing. If the button is set to be released, then check if the button is released. If it is, then perform the function. If it's not, then do nothing
998 {
999 #region YBAX Keys
1000 if (ControllerFuncs.Y.State == Function.ButtonState.Released)
1001 {
1002 if (prevState.Buttons == GamepadButtonFlags.Y && state.Buttons != GamepadButtonFlags.Y)
1003 {
1005 prevState.Buttons = GamepadButtonFlags.None;
1006 YPressedLabel.Text = "Y: released";
1007 }
1008 else
1009 YPressedLabel.Text = "Y: not pressed";
1010 }
1011 else
1012 {
1013 if (state.Buttons == GamepadButtonFlags.Y)
1014 {
1016 prevState.Buttons = GamepadButtonFlags.None;
1017 YPressedLabel.Text = "Y: pressed";
1018 }
1019 else
1020 YPressedLabel.Text = "Y: not pressed";
1021 }
1022 if (ControllerFuncs.B.State == Function.ButtonState.Released)
1023 {
1024 if (prevState.Buttons == GamepadButtonFlags.B && state.Buttons != GamepadButtonFlags.B)
1025 {
1027 prevState.Buttons = GamepadButtonFlags.None;
1028 state.Buttons = GamepadButtonFlags.None;
1029 BPressedLabel.Text = "B: released";
1030 }
1031 else
1032 BPressedLabel.Text = "B: not pressed";
1033 }
1034 else
1035 {
1036 if (state.Buttons == GamepadButtonFlags.B)
1037 {
1039 prevState.Buttons = GamepadButtonFlags.None;
1040 BPressedLabel.Text = "B: pressed";
1041 }
1042 else
1043 BPressedLabel.Text = "B: not pressed";
1044 }
1045 if (ControllerFuncs.A.State == Function.ButtonState.Released)
1046 {
1047 if (prevState.Buttons == GamepadButtonFlags.A && state.Buttons != GamepadButtonFlags.A)
1048 {
1050 prevState.Buttons = GamepadButtonFlags.None;
1051 APressedLabel.Text = "A: released";
1052 }
1053 else
1054 APressedLabel.Text = "A: not pressed";
1055 }
1056 else
1057 {
1058 if (state.Buttons == GamepadButtonFlags.A)
1059 {
1061 prevState.Buttons = GamepadButtonFlags.None;
1062 APressedLabel.Text = "A: pressed";
1063 }
1064 else
1065 APressedLabel.Text = "A: not pressed";
1066 }
1067 if (ControllerFuncs.X.State == Function.ButtonState.Released)
1068 {
1069 if (prevState.Buttons == GamepadButtonFlags.X && state.Buttons != GamepadButtonFlags.X)
1070 {
1072 prevState.Buttons = GamepadButtonFlags.None;
1073 XPressedLabel.Text = "X: released";
1074 }
1075 else
1076 XPressedLabel.Text = "X: not pressed";
1077 }
1078 else
1079 {
1080 if (state.Buttons == GamepadButtonFlags.X)
1081 {
1083 prevState.Buttons = GamepadButtonFlags.None;
1084 XPressedLabel.Text = "X: pressed";
1085 }
1086 else
1087 XPressedLabel.Text = "X: not pressed";
1088 }
1089 #endregion
1090
1091 #region Back & Start Keys
1092 if (ControllerFuncs.Start.State == Function.ButtonState.Released)
1093 {
1094 if (prevState.Buttons == GamepadButtonFlags.Start && state.Buttons != GamepadButtonFlags.Start)
1095 {
1097 prevState.Buttons = GamepadButtonFlags.None;
1098 StartPressedLabel.Text = "Start: released";
1099 }
1100 else
1101 StartPressedLabel.Text = "Start: not pressed";
1102 }
1103 else
1104 {
1105 if (state.Buttons == GamepadButtonFlags.Start)
1106 {
1108 prevState.Buttons = GamepadButtonFlags.None;
1109 StartPressedLabel.Text = "Start: pressed";
1110 }
1111 else
1112 StartPressedLabel.Text = "Start: not pressed";
1113 }
1114 if (ControllerFuncs.Back.State == Function.ButtonState.Released)
1115 {
1116 if (prevState.Buttons == GamepadButtonFlags.Back && state.Buttons != GamepadButtonFlags.Back)
1117 {
1119 prevState.Buttons = GamepadButtonFlags.None;
1120 BackPressedLabel.Text = "Back: released";
1121 }
1122 else
1123 BackPressedLabel.Text = "Back: not pressed";
1124 }
1125 else
1126 {
1127 if (state.Buttons == GamepadButtonFlags.Back)
1128 {
1130 prevState.Buttons = GamepadButtonFlags.None;
1131 BackPressedLabel.Text = "Back: pressed";
1132 }
1133 else
1134 BackPressedLabel.Text = "Back: not pressed";
1135 }
1136 #endregion
1137
1138 #region Shoulders
1139 if (ControllerFuncs.RShoulder.State == Function.ButtonState.Released)
1140 {
1141 if (prevState.Buttons == GamepadButtonFlags.RightShoulder && state.Buttons != GamepadButtonFlags.RightShoulder)
1142 {
1144 prevState.Buttons = GamepadButtonFlags.None;
1145 shoulderRightLabel.Text = "Right: released";
1146 }
1147 else
1148 shoulderRightLabel.Text = "Right: not pressed";
1149 }
1150 else
1151 {
1152 if (state.Buttons == GamepadButtonFlags.RightShoulder)
1153 {
1155 prevState.Buttons = GamepadButtonFlags.None;
1156 shoulderRightLabel.Text = "Right: pressed";
1157 }
1158 else
1159 shoulderRightLabel.Text = "Right: not pressed";
1160 }
1161 if (ControllerFuncs.LShoulder.State == Function.ButtonState.Released)
1162 {
1163 if (prevState.Buttons == GamepadButtonFlags.LeftShoulder && state.Buttons != GamepadButtonFlags.LeftShoulder)
1164 {
1166 prevState.Buttons = GamepadButtonFlags.None;
1167 shoulderLeftLabel.Text = "Left: released";
1168 }
1169 else
1170 shoulderLeftLabel.Text = "Left: not pressed";
1171 }
1172 else
1173 {
1174 if (state.Buttons == GamepadButtonFlags.LeftShoulder)
1175 {
1177 prevState.Buttons = GamepadButtonFlags.None;
1178 shoulderLeftLabel.Text = "Left: pressed";
1179 }
1180 else
1181 shoulderLeftLabel.Text = "Left: not pressed";
1182 }
1183
1184 #endregion
1185
1186 #region L3 & R3
1187 if (ControllerFuncs.R3.State == Function.ButtonState.Released)
1188 {
1189 if (prevState.Buttons == GamepadButtonFlags.RightThumb && state.Buttons != GamepadButtonFlags.RightThumb)
1190 {
1192 prevState.Buttons = GamepadButtonFlags.None;
1193 r3PressedLabel.Text = "R3: released";
1194 }
1195 else
1196 r3PressedLabel.Text = "R3: not pressed";
1197 }
1198 else
1199 {
1200 if (state.Buttons == GamepadButtonFlags.RightThumb)
1201 {
1203 prevState.Buttons = GamepadButtonFlags.None;
1204 r3PressedLabel.Text = "R3: pressed";
1205 }
1206 else
1207 r3PressedLabel.Text = "R3: not pressed";
1208 }
1209
1210 if (ControllerFuncs.L3.State == Function.ButtonState.Released)
1211 {
1212 if (prevState.Buttons == GamepadButtonFlags.LeftThumb && state.Buttons != GamepadButtonFlags.LeftThumb)
1213 {
1215 prevState.Buttons = GamepadButtonFlags.None;
1216 l3PressedLabel.Text = "L3: released";
1217 }
1218 else
1219 l3PressedLabel.Text = "L3: not pressed";
1220 }
1221 else
1222 {
1223 if (state.Buttons == GamepadButtonFlags.LeftThumb)
1224 {
1226 prevState.Buttons = GamepadButtonFlags.None;
1227 l3PressedLabel.Text = "L3: pressed";
1228 }
1229 else
1230 l3PressedLabel.Text = "L3: not pressed";
1231 }
1232 #endregion
1233
1234 #region DPAD BUTTONS
1235 if (ControllerFuncs.DPadUp.State == Function.ButtonState.Released)
1236 {
1237 if (prevState.Buttons == GamepadButtonFlags.DPadUp && state.Buttons != GamepadButtonFlags.DPadUp)
1238 {
1240 prevState.Buttons = GamepadButtonFlags.None;
1241 DPadUpLabel.Text = "Up: released";
1242 }
1243 else
1244 DPadUpLabel.Text = "Up: not pressed";
1245 }
1246 else
1247 {
1248 if (state.Buttons == GamepadButtonFlags.DPadUp)
1249 {
1251 prevState.Buttons = GamepadButtonFlags.None;
1252 DPadUpLabel.Text = "Up: pressed";
1253 }
1254 else
1255 DPadUpLabel.Text = "Up: not pressed";
1256 }
1257
1258 if (ControllerFuncs.DPadRight.State == Function.ButtonState.Released)
1259 {
1260 if (prevState.Buttons == GamepadButtonFlags.DPadRight && state.Buttons != GamepadButtonFlags.DPadRight)
1261 {
1263 prevState.Buttons = GamepadButtonFlags.None;
1264 DPadRightLabel.Text = "Right: released";
1265 }
1266 else
1267 DPadRightLabel.Text = "Right: not pressed";
1268 }
1269 else
1270 {
1271 if (state.Buttons == GamepadButtonFlags.DPadRight)
1272 {
1274 prevState.Buttons = GamepadButtonFlags.None;
1275 DPadRightLabel.Text = "Right: pressed";
1276 }
1277 else
1278 DPadRightLabel.Text = "Right: not pressed";
1279 }
1280
1281 if (ControllerFuncs.DPadDown.State == Function.ButtonState.Released)
1282 {
1283 if (prevState.Buttons == GamepadButtonFlags.DPadDown && state.Buttons != GamepadButtonFlags.DPadDown)
1284 {
1286 prevState.Buttons = GamepadButtonFlags.None;
1287 DPadDownLabel.Text = "Down: released";
1288 }
1289 else
1290 DPadDownLabel.Text = "Down: not pressed";
1291 }
1292 else
1293 {
1294 if (state.Buttons == GamepadButtonFlags.DPadDown)
1295 {
1297 prevState.Buttons = GamepadButtonFlags.None;
1298 DPadDownLabel.Text = "Down: pressed";
1299 }
1300 else
1301 DPadDownLabel.Text = "Down: not pressed";
1302 }
1303
1304 if (ControllerFuncs.DPadLeft.State == Function.ButtonState.Released)
1305 {
1306 if (prevState.Buttons == GamepadButtonFlags.DPadLeft && state.Buttons != GamepadButtonFlags.DPadLeft)
1307 {
1309 prevState.Buttons = GamepadButtonFlags.None;
1310 DPadLeftLabel.Text = "Left: released";
1311 }
1312 else
1313 DPadLeftLabel.Text = "Left: not pressed";
1314 }
1315 else
1316 {
1317 if (state.Buttons == GamepadButtonFlags.DPadLeft)
1318 {
1320 prevState.Buttons = GamepadButtonFlags.None;
1321 DPadLeftLabel.Text = "Left: pressed";
1322 }
1323 else
1324 DPadLeftLabel.Text = "Left: not pressed";
1325 }
1326
1327 #endregion
1328
1329 }
object PerformFunction(Function f)