public override void Load() { bgContainer = new Sprite(); bgLayers = new Sprite[3]; AddChild(bgContainer); for (int i = 0; i < 3; ++i) { bgLayers[i] = new Sprite(); var bmp1 = new Bitmap(Assets.GetBitmapData("assets/background/1/" + (i + 1).ToString(), true)); var bmp2 = new Bitmap(Assets.GetBitmapData("assets/background/1/" + (i + 1).ToString(), true)); bmp2.X = bmp1.Width; bgLayers[i].AddChild(bmp1); bgLayers[i].AddChild(bmp2); bgContainer.AddChild(bgLayers[i]); } // GUI guiContainer = new Sprite(); AddChild(guiContainer); NetPeerConfiguration config = new NetPeerConfiguration("multiplanes-network"); client = new NetClient(config); client.Start(); client.DiscoverLocalPeers(14242); client.DiscoverKnownPeer(GameClient.NET_ADRESS, GameClient.NET_PORT); nick = NickGenerator.GenerateNick(client.UniqueIdentifier); var screenNameLabel = new TextField(); screenNameLabel.font = Assets.GetFont("assets/MainFont"); screenNameLabel.text = "HOST GAME"; screenNameLabel.X = GameMain.ScreenWidth / 2 - screenNameLabel.Width / 2; screenNameLabel.Y = 10 / GameMain.mainScale; guiContainer.AddChild(screenNameLabel); var roomNameLabel = new TextField(); roomNameLabel.font = screenNameLabel.font; roomNameLabel.text = "Room name: " + nick; roomNameLabel.X = GameMain.ScreenWidth * 0.1f; roomNameLabel.Y = GameMain.ScreenHeight / 2 - roomNameLabel.Height / 2; roomNameLabel.ScaleX = roomNameLabel.ScaleY = 0.5f; guiContainer.AddChild(roomNameLabel); waitLabel = new TextField(); waitLabel.font = roomNameLabel.font; waitLabel.text = "Waiting for other player to connect. . ."; waitLabel.X = roomNameLabel.X; waitLabel.Y = roomNameLabel.Y + roomNameLabel.Height; waitLabel.ScaleX = waitLabel.ScaleY = 0.25f; guiContainer.AddChild(waitLabel); }
public void OnSpawned(PlanetModel model, IMemoryPool pool) { _planetModel = model; _pool = pool; _currentAngleToSun = model.CurrentAngleToSun; transform.localScale = new Vector3(model.Settings.planetScale, model.Settings.planetScale, model.Settings.planetScale); _currentHud = _hudFactory.Create(); _currentRocketSettings = _rocketSettingsList[0]; _isDead = false; _planetModel.SetNickname(model.Nickname); GetComponent <MeshRenderer>().material.color = model.Color; if (string.IsNullOrEmpty(model.Nickname)) { _planetModel.SetNickname(NickGenerator.GetRandomNickname()); } _currentHud.Configure(_planetModel.Nickname, model.IsPlayer, _gameSettings.initialPlanetHP, model.Hp); }
public override void Update(float deltaTime) { NetIncomingMessage msg; while ((msg = client.ReadMessage()) != null) { switch (msg.MessageType) { case NetIncomingMessageType.DiscoveryResponse: Debug.WriteLine("Server message: " + msg.ReadString()); NetOutgoingMessage approval = client.CreateMessage(); approval.Write(GameClient.APPROVAL_BYTE); approval.Write(GameClient.HOST_BYTE); approval.Write(NickGenerator.GenerateNick(client.UniqueIdentifier)); client.Connect(msg.SenderEndPoint, approval); break; case NetIncomingMessageType.Data: byte msgType = msg.ReadByte(); if (msgType == (byte)GameClient.DataMessageTypes.ClientJoined) { string clientName = msg.ReadString(); PlayerJoined(clientName); } break; case NetIncomingMessageType.StatusChanged: NetConnectionStatus status = (NetConnectionStatus)msg.ReadByte(); if (status == NetConnectionStatus.Connected) { Debug.WriteLine("Connected"); } if (status == NetConnectionStatus.Disconnected) { Debug.WriteLine("Disconnect"); } break; } } waitLabelUpdateTime += deltaTime; if (waitLabelUpdateTime < 1) { waitLabel.text = "Waiting for other player to connect."; } else if (waitLabelUpdateTime > 1 && waitLabelUpdateTime < 2) { waitLabel.text = "Waiting for other player to connect. ."; } else if (waitLabelUpdateTime > 2 && waitLabelUpdateTime < 3) { waitLabel.text = "Waiting for other player to connect. . ."; } else { waitLabelUpdateTime = 0; } for (int i = 0; i < bgLayers.Length; ++i) { var layer = bgLayers[i]; layer.X -= 100 * deltaTime * LAYER_DEPTHS[i]; if (layer.X <= -layer.Width / 2) { layer.X += layer.Width / 2; } } }
public override void Load() { // Background bgContainer = new Sprite(); bgLayers = new Sprite[3]; AddChild(bgContainer); for (int i = 0; i < 3; ++i) { bgLayers[i] = new Sprite(); var bmp1 = new Bitmap(Assets.GetBitmapData("assets/background/1/" + (i + 1).ToString(), true)); var bmp2 = new Bitmap(Assets.GetBitmapData("assets/background/1/" + (i + 1).ToString(), true)); bmp2.X = bmp1.Width; bgLayers[i].AddChild(bmp1); bgLayers[i].AddChild(bmp2); bgContainer.AddChild(bgLayers[i]); } // GUI guiContainer = new Sprite(); AddChild(guiContainer); hosts = new List <HostLabel>(); font = Assets.GetFont("assets/MainFont"); var screenNameLabel = new TextField(); screenNameLabel.font = font; screenNameLabel.text = "JOIN GAME"; screenNameLabel.X = GameMain.ScreenWidth / 2 - screenNameLabel.Width / 2; screenNameLabel.Y = 10 / GameMain.mainScale; guiContainer.AddChild(screenNameLabel); pointerLabel = new TextField(); pointerLabel.font = screenNameLabel.font; pointerLabel.text = "Select a game to join"; pointerLabel.ScaleX = pointerLabel.ScaleY = 0.4f; pointerLabel.X = GameMain.ScreenWidth / 2 - pointerLabel.Width / 2; pointerLabel.Y = screenNameLabel.Y + screenNameLabel.Height; guiContainer.AddChild(pointerLabel); connectButton = new TextField(); connectButton.font = font; connectButton.text = "Connect"; connectButton.ScaleX = connectButton.ScaleY = 0.5f; connectButton.X = GameMain.ScreenWidth * 0.25f - connectButton.Width / 2; connectButton.Y = GameMain.ScreenHeight - connectButton.Height; connectButton.textColor = Color.DarkGray; guiContainer.AddChild(connectButton); refreshButton = new TextField(); refreshButton.font = font; refreshButton.text = "Refresh"; refreshButton.ScaleX = refreshButton.ScaleY = 0.5f; refreshButton.X = GameMain.ScreenWidth * 0.75f - refreshButton.Width / 2; refreshButton.Y = connectButton.Y; guiContainer.AddChild(refreshButton); connectButton.AddEventListener(Event.TOUCH_END, onButtonDown); refreshButton.AddEventListener(Event.TOUCH_END, onButtonDown); NetPeerConfiguration config = new NetPeerConfiguration("multiplanes-network"); client = new NetClient(config); client.Start(); nick = NickGenerator.GenerateNick((client.UniqueIdentifier)); client.DiscoverLocalPeers(14242); client.DiscoverKnownPeer(GameClient.NET_ADRESS, GameClient.NET_PORT); }