public override void Start() { Players = new TemporaryPlayer[4]; for (int i = 0; i < Players.Length; i++) { Players[i] = new TemporaryPlayer("COM " + (i + 1), Difficulty.Medium, (Microsoft.Xna.Framework.PlayerIndex)i); Players[i].PlayerColor = Color.Gray; } PlayerAreas = new Rectangle[4]; int AreaOver5 = Settings.GP_X / 5; for (int i = 0; i < PlayerAreas.Length; i++) { PlayerAreas[i] = new Rectangle((AreaOver5 / 5) + ((AreaOver5 + (AreaOver5 / 5)) * i), 100, AreaOver5, 700); } Console.Out.WriteLine(PlayerAreas[0]); }
public override void Update(GameTime time, GameScreenManager Manager) { for (int i = 0; i < Players.Length; i++) { if (Players[i].IsComputer) { if (GamePad.GetState((PlayerIndex)i).IsButtonDown(Buttons.Start)) { Players[i] = new TemporaryPlayer("", Difficulty.NON_COMP, (PlayerIndex)i); int color = 0; for (int j = 0; j < Players.Length; j++) { if (Players[j].PlayerColor == PCLR[color]) { color++; j = -1; } } Players[i].PlayerColor = PCLR[color]; } } else { Players[i].MenuUpdate(this); } } if (Players.Any(x => !x.IsComputer) && Players.Where(x => !x.IsComputer).All(x => x.isReady)) { // EVERYONE READY foreach (TemporaryPlayer p in Players) { p.isReady = true; } Player[] ActualPlayers = new Player[4]; for (int i = 0; i < 4; i++) { ActualPlayers[i] = Players[i].GetFinalizedPlayer(); } GameManager.Setup(ActualPlayers); GameTimer.AddStaticTimer(time, new TimeSpan(0, 0, 1), x => { Manager.ChangeScreen(new SetupScreen()); }); } }