public void LoadFromDatabase() { PlayerConfiguration configuration = new PlayerConfiguration(); colorState = configuration.ColorID; buttons[0].SetFontColor(TileGrid.ColorComparer(configuration.ColorID)); }
public void SavePlayerInfo() { configuration.Name = banners[0].PlayerAvatarName; configuration.LoadAvatar = banners[0].ShowAvatar; configuration.ColorID = TileGrid.ColorComparer(banners[0].Color); configuration.SaveToXML(); }
private void SwitchColor() { bannerManager.SetColor(TileGrid.ColorComparer((int)activeMenu.GetInformation())); if (activeMenu is CreateLobby || activeMenu is JoinLobby) { bannerManager.OnColorSwitch(TileGrid.Player, (int)activeMenu.GetInformation(), TileGrid.ColorComparer(TileGrid.activeColor), bannerManager.LobbyBannerPos); } }
private void AddTile() { if (IsTileSpawnerFree() && deckManager.CountAll>0) { int tileID = deckManager.GetNextTile(); entities.Add(new Tile(++counter, deckManager.GetTileTexture(tileID), TileFrameTexture, TextBackground, EntityFont, Color.Black, spawner.ButtonLocation - new Vector2(100, 0), 0.6f));// - counter * layerStep)); OnRequestTile(tileID, TileGrid.ColorComparer(TileGrid.activeColor),counter); } }
private void HandleColorSwitchMessage(NetIncomingMessage im) { var message = new ColorSwitchMessage(im); bannerManager.SetColor(TileGrid.ColorComparer(message.Color), message.Pos); if (this.IsHost) { bannerManager.OnColorSwitch(message.Name, message.Color, message.OldColor, message.Pos); } }
public void Update(GameTime gameTime) { for (int i = 0; i < banners.Count; i++) { banners[i].Update(gameTime); if (banners[i] is GameBanner && banners[i].Signal) { OnUpdateScore(i, banners[i].Score, TileGrid.ColorComparer(TileGrid.activeColor)); } } }
private void HandleUpdateScoreMessage(NetIncomingMessage im) { var message = new UpdateScoreMessage(im); if (message.Color != TileGrid.ColorComparer(TileGrid.activeColor)) { bannerManager.UpdateScore(message.BannerID, message.Score); } if (this.IsHost) { bannerManager.OnUpdateScore(message.BannerID, message.Score, message.Color); } }
public void Disconnect() { OnPlayerDisconnect(TileGrid.Player, TileGrid.ColorComparer(TileGrid.activeColor), bannerManager.LobbyBannerPos); bannerManager.RemoveLobbyBanners(); if (TileGrid.GameState == GameStates.QuitGame) { bannerManager.RemoveGameBanners(); } networkManager.Disconnect(); IsDisconnected = true; }
private void HandleRequestBannerMessage(NetIncomingMessage im) { var message = new RequestBannerMessage(im); if (!(TileGrid.GameState == GameStates.Playing)) { bannerManager.AddLobbyBanner(message.Name, TileGrid.ColorComparer(message.Color), message.IsUsingAvatar); bannerManager.OnPlayerBanner(); if (this.IsHost) { bannerManager.OnSendAllBanners(); } } }
private void HandleRequestTileMessage(NetIncomingMessage im) { var message = new RequestTileMessage(im); if (message.Color != TileGrid.ColorComparer(TileGrid.activeColor)) { tileManager.AddTile(message.TileID, message.Counter); } if (this.IsHost) { tileManager.OnRequestTile(message.TileID, message.Color, message.Counter); } }
private void HandleSnapTileMessage(NetIncomingMessage im) { var message = new SnapTileMessage(im); if (message.Color != TileGrid.ColorComparer(TileGrid.activeColor)) { tileManager.SnapEntity(message.ID); } if (this.IsHost) { tileManager.OnSnapTile(message.ID, message.Name, message.Color); } }
private void HandleRemoveEntityMessage(NetIncomingMessage im) { var message = new RemoveEntityMessage(im); if (message.SenderColor != TileGrid.ColorComparer(TileGrid.activeColor)) { tileManager.RemoveEntity(message.EntityID, message.InfoID); } if (this.IsHost) { tileManager.OnRemoveEntity(message.EntityID, message.InfoID, message.SenderColor); } }
private void HandleReleaseTileMessage(NetIncomingMessage im) { var message = new ReleaseTileMessage(im); if (message.Color != TileGrid.ColorComparer(TileGrid.activeColor)) { tileManager.ReleaseEntity(message.ID, message.Name, TileGrid.ColorComparer(message.Color), message.Location, message.Scale); } if (this.IsHost) { tileManager.OnReleaseTile(message.ID, message.Name, message.Color, message.Location, message.Scale); } }
private void HandleRotateEntityMessage(NetIncomingMessage im) { var message = new RotateEntityMessage(im); if (message.Color != TileGrid.ColorComparer(TileGrid.activeColor)) { tileManager.RotateEntities(message.ID, message.Clockwise, message.Name, TileGrid.ColorComparer(message.Color)); } if (this.IsHost) { tileManager.OnRotateEntity(message.ID, message.Clockwise, message.Name, message.Color); } }
private void HandleAddPointingAnimationMessage(NetIncomingMessage im) { var message = new AddPointingAnimationMessage(im); if (message.Color != TileGrid.ColorComparer(TileGrid.activeColor)) { animationManager.AddPointingAnimation(message.Location * (Camera.Scale / message.Scale), TileGrid.ColorComparer(message.Color)); } if (this.IsHost) { animationManager.OnAddPointingAnimation(message.Location, message.Color, message.Scale); } }
public MenuStates Update(GameTime gameTime) { foreach (IButton button in buttons) { button.Update(gameTime); } if (buttons[0].IsClicked()) { int colorID = NextColorState; information = (object)colorID; buttons[0].SetFontColor(TileGrid.ColorComparer(colorID)); return(MenuStates.Color); } return(MenuStates.IDLE); }
private void CheckSelectedEntity() { int id = (int)GetSelectedEntityListID(); OnReleaseTile(entities[id].ID, TileGrid.Player, TileGrid.ColorComparer(TileGrid.activeColor),entities[id].ForcedLocation,Camera.Scale); for (int i = 0; i < entityInfo.Count; i++) { if (entityInfo[i].Equals(entities[id]) && !entities[id].HasBeenSelected && entityInfo[i].DestructionBoundaries.Intersects(entities[id].CollisionRectangle)) { OnGetEntity(id, i, TileGrid.ColorComparer(TileGrid.activeColor)); entityInfo[i].AliveEntities--; break; } } }
private void CheckEntityForRemoval() { int id = (int)GetSelectedEntityListID(); OnSnapTile(entities[id].ID, TileGrid.Player, TileGrid.ColorComparer(TileGrid.activeColor)); for (int i = 0; i < entityInfo.Count; i++) { if (entityInfo[i].Equals(entities[id]) && entityInfo[i].DestructionBoundaries.Intersects(entities[id].CollisionRectangle)) { entityInfo[i].AliveEntities++; ResetBannerEntity(entities[id], i); OnRemoveEntity((int)selectedEntityID, i, TileGrid.ColorComparer(TileGrid.activeColor)); selectedEntityID = activeEntity = null; break; } } }
public void Update(GameTime gameTime) { if (InputManager.IsKeyReleased(Microsoft.Xna.Framework.Input.Keys.LeftControl) && InputManager.MouseInBounds) { AddPointingAnimation(InputManager.MousePosition + Camera.Position, TileGrid.activeColor); OnAddPointingAnimation(InputManager.MousePosition + Camera.Position, TileGrid.ColorComparer(TileGrid.activeColor), Camera.Scale); } for (int i = 0; i < animations.Count; i++) { if (animations[i].Alive) { animations[i].Update(gameTime); } else { animations.RemoveAt(i); } } }
private void CheckEntityForForcedRemoval() { if ((InputManager.IsKeyReleased(Microsoft.Xna.Framework.Input.Keys.Delete) || InputManager.MouseMiddleButtonClicked()) && selectedEntityID != null) { for (int i = 0; i < entityInfo.Count; i++) { int id = (int)GetSelectedEntityListID(); if (entityInfo[i].Equals(entities[id])) { { entityInfo[i].AliveEntities++; ResetBannerEntity(entities[id],i); OnRemoveEntity((int)selectedEntityID, i, TileGrid.ColorComparer(TileGrid.activeColor)); selectedEntityID = null; tileState = TileState.Free; break; } } } } }
public BannerManager(ContentManager Content, GraphicsDevice graphicsDevice) { this.graphicsDevice = graphicsDevice; configuration = new PlayerConfiguration(); banners = new List <IBanner>(); bannerIDs = new List <int>(); GameBannerTexture = Content.Load <Texture2D>(@"Textures\Banners\GameBanner"); BannerTexture = Content.Load <Texture2D>(@"Textures\Banners\Banner"); LobbyBannerTexture = Content.Load <Texture2D>(@"Textures\Banners\LobbyBanner"); ButtonTexture = Content.Load <Texture2D>(@"Textures\Buttons\ScoreButton"); Font = Content.Load <SpriteFont>(@"Fonts\font"); SmallFont = Content.Load <SpriteFont>(@"Fonts\smallFont"); ScoreFont = Content.Load <SpriteFont>(@"Fonts\ScoreFont"); try { banners.Add(new MenuBanner(BannerTexture, Font, SmallFont, Vector2.Zero, configuration.Name, TileGrid.ColorComparer(configuration.ColorID))); } catch (Exception ex) { Console.WriteLine(ex.Message); configuration.CreateDefaultXML(); configuration.LoadFromXML(); banners.Add(new MenuBanner(BannerTexture, Font, SmallFont, Vector2.Zero, configuration.Name, TileGrid.ColorComparer(configuration.ColorID))); } TileGrid.Player = configuration.Name; TileGrid.activeColor = TileGrid.ColorComparer(configuration.ColorID); bannerIDs.Add(0); if (configuration.LoadAvatar) { LoadGameAvatar(); } }
private void AddSoldier(Vector2 location, Color color) { int x = TileGrid.ColorComparer(color); x -= 1; entities.Add(new Soldier(++counter, entityTextures[x].Texture, entityTextures[x].Frame, TextBackground, EntityFont, color, location, 0.4f));// - counter * layerStep)); }
private void HandleAddBannerMessage(NetIncomingMessage im) { var message = new AddBannerMessage(im); bannerManager.AddLobbyBanner(message.Name, TileGrid.ColorComparer(message.Color), message.IsUsingAvatar, message.Pos); }
private void ProcessNetworkMessages() { NetIncomingMessage im; while ((im = this.networkManager.ReadMessage()) != null) { switch (im.MessageType) { case NetIncomingMessageType.VerboseDebugMessage: case NetIncomingMessageType.DebugMessage: case NetIncomingMessageType.WarningMessage: case NetIncomingMessageType.ErrorMessage: Console.WriteLine(im.ReadString()); break; case NetIncomingMessageType.StatusChanged: switch ((NetConnectionStatus)im.ReadByte()) { case NetConnectionStatus.Connected: SetTitle(" "); if (!this.IsHost) { Console.WriteLine("Connected to {0}"); bannerManager.SavePlayerInfo(); bannerManager.OnRequestBanner(bannerManager.PlayerAvatarName, TileGrid.ColorComparer(TileGrid.activeColor), bannerManager.IsUsingAvatar); } else { if (!(TileGrid.GameState == GameStates.Playing)) { OnInitiateTitle(TileGrid.Expansions, true); } else { OnInitiateTitle("Disconnected: Game already in progress", true); tileManager.OnPlayGame(false); } Console.WriteLine("{0} Connected"); } break; case NetConnectionStatus.Disconnected: if (!this.IsHost) { bannerManager.RemoveLobbyBanners(); } Console.WriteLine( this.IsHost ? "{0} Disconnected" : "Disconnected from {0}"); break; case NetConnectionStatus.RespondedAwaitingApproval: NetOutgoingMessage hailMessage = this.networkManager.CreateMessage(); im.SenderConnection.Approve(hailMessage); break; } break; case NetIncomingMessageType.Data: var gameMessageType = (GameMessageTypes)im.ReadByte(); switch (gameMessageType) { case GameMessageTypes.RequestBannerState: this.HandleRequestBannerMessage(im); break; case GameMessageTypes.AddBannerState: this.HandleAddBannerMessage(im); break; case GameMessageTypes.ColorSwitchState: this.HandleColorSwitchMessage(im); break; case GameMessageTypes.PlayerBannerState: this.HandlePlayerBannerMessage(im); break; case GameMessageTypes.PlayerDisconnectedState: this.HandlePlayerDisconnectedMessage(im); break; case GameMessageTypes.SetTitleState: this.HandleTitleMessage(im); break; case GameMessageTypes.InGameState: this.HandlePlayGameMessage(im); break; case GameMessageTypes.UpdateEntityState: this.HandleUpdateEntityMessage(im); break; case GameMessageTypes.RequestTileState: this.HandleRequestTileMessage(im); break; case GameMessageTypes.SnapTileState: this.HandleSnapTileMessage(im); break; case GameMessageTypes.ReleaseTileState: this.HandleReleaseTileMessage(im); break; case GameMessageTypes.GetEntityState: this.HandleGetEntityMessage(im); break; case GameMessageTypes.RemoveEntityState: this.HandleRemoveEntityMessage(im); break; case GameMessageTypes.RotateEntityState: this.HandleRotateEntityMessage(im); break; case GameMessageTypes.UpdateScoreState: this.HandleUpdateScoreMessage(im); break; case GameMessageTypes.AddPointingAnimationState: this.HandleAddPointingAnimationMessage(im); break; } break; } this.networkManager.Recycle(im); } }
public void OnSendAllBanners() { EventHandler <BannerArgs> addBanner = AddBanner; for (int i = 0; i < banners.Count; i++) { if (addBanner != null) { if (banners[i] is LobbyBanner) { addBanner(addBanner, new BannerArgs(banners[i].PlayerAvatarName, TileGrid.ColorComparer(banners[i].Color), (banners[i].ShowAvatar || banners[i].AwaitAvatar), i)); } } } }
public void OnUpdateEntity() { EventHandler<UpdateEntityArgs> updateEntity = UpdateEntity; int? x = GetSelectedEntityListID(); if (updateEntity != null && x!=null) updateEntity(updateEntity, new UpdateEntityArgs(entities[(int)x].ID,bannerManager.PlayerName,TileGrid.ColorComparer(TileGrid.activeColor),entities[(int)x].ForcedLocation,Camera.Scale)); }
private void HandleSelection() { if (selectedEntityID != null) { foreach (MovingEntity entity in entities) if (entity.ID == selectedEntityID) { entity.IsSelected = true; entity.HandleEntityFeatures(); if (entity.RotateTo != null) OnRotateEntity(entity.ID, (bool)entity.RotateTo, bannerManager.PlayerName, TileGrid.ColorComparer(TileGrid.activeColor)); break; } if (InputManager.LeftButtonIsClicked() && tileState == TileState.Free) { selectedEntityID = null; } } }