public virtual void Initialize() { ComponentFactory factory = new ComponentFactory(monoNet.Content); stage = new Stage(10, new Pool <Actor>(50, 10)); // TODO: LAYERS Actor serviceActor = stage.CreateActor(0); gameManager = serviceActor.AddComponent <GameManager>(); GameManager.screenDimensions = new Vector2(monoNet.GraphicsDevice.Viewport.Width, monoNet.GraphicsDevice.Viewport.Height); Physic physic = Physic.Instance; physic.collisionRules.Add(new MultiKey <int>(GameManager.physicsPlayerLayer, GameManager.physicsWeaponLayer), false); physic.collisionRules.Add(new MultiKey <int>(GameManager.physicsBulletLayer, GameManager.physicsBulletLayer), false); tiledBase = serviceActor.AddComponent <TiledBase>(); tiledBase.Set(monoNet.Content); hitboxLoader = new HitboxLoader(stage); tiledBase.OnCollisionHitboxLoaded += hitboxLoader.OnCollisionHitboxLoaded; camera = new Camera(monoNet.GraphicsDevice.Viewport); UI = new LevelUI(); }
public void Update() { int playerNotReady = 0; for (int i = 0; i < net.ConnectedAdresses.Count; i++) { if (net.ConnectedAdresses[i].hasChangedLevel == false) { playerNotReady++; } } if (playerNotReady <= 0) { LevelUI.DisplayString("All players (" + (net.ConnectedAdresses.Count + 1) + ") ready!\nPress F5 to start the game!"); if (Input.IsKeyDownThisFrame(Microsoft.Xna.Framework.Input.Keys.F5)) { LevelUI.DisplayString(""); ServerConnectionComponent.Instance.StartGame(); Actor.Stage.DeleteActor(Actor); } } else { LevelUI.DisplayString("Still waiting on " + playerNotReady + " players!"); } }
public void Update() { if (canRestart == true && Input.IsKeyDownThisFrame(Microsoft.Xna.Framework.Input.Keys.F6)) { canRestart = false; LevelUI.DisplayString(); ServerConnectionComponent.Instance.ChangeLevel(GameManager.GetRandomLevelNumber()); } }
protected override void LoadLevel(byte levelNumber) { base.LoadLevel(levelNumber); LevelUI.DisplayString(""); clientConnection.LevelLoaded(); LevelUI.DisplayString("Level loaded\nWaiting for host to start!"); }
public void GameEnd(bool draw, string name) { if (draw == false) { LevelUI.DisplayString("Player " + name + " won!\nWaiting for game to restart!"); } else { LevelUI.DisplayString("Nobody wins!\nWaiting for game to restart"); } }
public override void Initialize() { base.Initialize(); LevelUI.DisplayString("Connecting..."); reciever = new NetManagerReciever(ip, playerName); clientConnection = stage.CreateActor(0).AddComponent <ClientConnectionComponent>(); clientConnection.Set(this); }
public void TakeControl(byte netId, Vector2 location) { NetSyncComponent nsc = NetManager.Instance.GetNetSyncComponent(netId); nsc.playerControlled = true; nsc.Actor.AddComponent <PlayerInput>(); nsc.Actor.GetComponent <Transform2>().WorldPosition = location; nsc.Actor.GetComponent <Rigidbody>().velocity = new Vector2(0); LevelUI.DisplayString(""); }
private void OnGameEnd(PlayerManager winningPlayer) { canRestart = true; if (winningPlayer != null) { LevelUI.DisplayString("Player " + winningPlayer.name + " won!\nPress F6 to restart game!"); } else { LevelUI.DisplayString("Nobody wins!\nPress F6 to restart game!"); } }
public LevelUI() { Instance = this; desktop = new Desktop(); label = new Label { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, TextAlign = TextAlign.Center, TextColor = Color.White, Padding = new Thickness(8), Background = new SolidBrush(new Color(30, 30, 30, 150)) }; desktop.Widgets.Add(label); }
public void WaitForRestart() { LevelUI.DisplayString("Game in progress.\nWaiting until the round ends!"); }