protected override void Initialize() { base.Initialize(); //health = maxHealth; conditions = Owner.FindComponents <VictoryCondition>(isExactType: false); finished = false; ns = Owner.Scene as NetworkedScene; }
/** * <summary> * Adds all the UI regarding this player (including a kick button for the host) * </summary> */ public void Set(string playerID, string playerName, bool isLocalPlayer, int number, NetworkedScene networkedScene) { serverDispatcher = networkedScene.serverDispatcher; playerIdentifier = playerID; this.playerName = playerName; this.networkService = networkedScene.networkService; pName = new TextBlock { Text = playerName, Margin = new Thickness(0, firstGUILine + (distanceBetweenPlayers * number), 0, 0) }; networkedScene.EntityManager.Add(pName); nextColor = new Button { IsBorder = isLocalPlayer, Text = "Change", Width = 100, Margin = new Thickness(300, firstGUILine + (distanceBetweenPlayers * number), 10, 10) }; networkedScene.EntityManager.Add(nextColor); toggleReady = new CustomButton() { IsBorder = isLocalPlayer, Text = "Not ready", Margin = new Thickness(450, firstGUILine + (distanceBetweenPlayers * number), 10, 10) }; networkedScene.EntityManager.Add(toggleReady); if (isLocalPlayer) { toggleReady.Click += ChangeReady; previousTeam = new Button { Text = "<", Width = 30, Height = 30, Margin = new Thickness(110, firstGUILine + (distanceBetweenPlayers * number), 0, 0) }; nextTeam = new Button { Text = ">", Width = 30, Height = 30, Margin = new Thickness(230, firstGUILine + (distanceBetweenPlayers * number), 0, 0) }; previousTeam.Click += PreviousTeam; nextTeam.Click += NextTeam; networkedScene.EntityManager.Add(previousTeam); networkedScene.EntityManager.Add(nextTeam); nextColor.Click += NextColor; } textTeam = new TextBlock { Text = "No team", Margin = new Thickness(150, firstGUILine + (distanceBetweenPlayers * number), 10, 10) }; networkedScene.EntityManager.Add(textTeam); if (networkedScene.isHost) { playerColor = networkedScene.serverDispatcher.FindNextColor(-1); nextColor.Text = ClientDispatcher.colorNames[playerColor]; nextColor.Foreground = ClientDispatcher.colors[playerColor]; nextColor.BorderColor = ClientDispatcher.colors[playerColor]; kickButton = new Button { IsVisible = !isLocalPlayer, Text = "Kick", Margin = new Thickness(600, firstGUILine + (distanceBetweenPlayers * number), 10, 10) }; kickButton.Click += Kick; networkedScene.EntityManager.Add(kickButton); } WaveServices.Layout.PerformLayout(); }
protected override void Initialize() { base.Initialize(); this.scene = (Owner.Scene as NetworkedScene); }