public override void OnInitializeScene(GameFramework g) { Size DisplaySize = g.CANVAS.Size; BindGameController(); this.Fonts.Add("Medium", g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 12))); this.Fonts.Add("Small", g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 8))); this.Fonts.Add("Arial10B", g.CANVAS.CreateFont(new System.Drawing.Font("Arial", 10, FontStyle.Bold))); this.Fonts.Add("Arial8B", g.CANVAS.CreateFont(new System.Drawing.Font("Arial", 8, FontStyle.Bold))); this.Fonts.Add("RangeRing", g.CANVAS.CreateFont(new System.Drawing.Font("Times New Roman", 8))); _current_unit_sprite = g.CANVAS.CreateSprite(); background.X = 0; background.Y = 0; background.Height = DisplaySize.Height; background.Width = DisplaySize.Width; SetRootWindow(background); foreach (string str in g.Textures.Keys) { if (str.CompareTo("MAP") != 0) { Obj_Sprite s = CreateSprite(str, SpriteFlags.AlphaBlend); s.Initialize(g.CANVAS); s.Texture(g.Textures[str]); } } Map = CreateSprite("MAP", SpriteFlags.SortTexture | SpriteFlags.AlphaBlend); _mini_map.Width = 150; Map.Initialize(g.CANVAS); Map.Texture(g.GetTexture("MAP")); //Map.Diffuse = Color.Gray; MapTextureHeight = Map.TextureHeight; MapTextureWidth = Map.TextureWidth; _playfield = new MapPlayfield(g.CANVAS, Map, background, _commands); _playfield.WinForm_Mode = true; MinScale = _playfield.GetMinimumScale(); Map.SetPosition(background.X, background.Y, 0); SetMapScale(MinScale); _playfield.OnInitializeScene(g); _playfield.SendMapPosition(true); //attempt to resolve bug 4539, send an initial screen map position _playfield.DrawUnmanagedAssetLabels = DefaultUnmanagedUnitLabelValue; if (!DDD_Global.Instance.IsConnected) { ViewProMotionUpdate update = new ViewProMotionUpdate(); update.ObjectId = "object1"; update.Throttle = 1; update.StartX = 10; update.StartY = 10; update.StartZ = 0; update.PlayerColor = Color.White.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.BTTR.png"; ((IController)_game_control).ViewProInitializeUpdate(update); update.ObjectId = "object2"; update.Throttle = 1; update.StartX = 30; update.StartY = 30; update.StartZ = 0; update.PlayerColor = Color.Green.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.CA.png"; ((IController)_game_control).ViewProInitializeUpdate(update); update.ObjectId = "object3"; update.Throttle = 1; update.StartX = 60; update.StartY = 60; update.StartZ = 0; update.PlayerColor = Color.Yellow.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.CH47.png"; ((IController)_game_control).ViewProInitializeUpdate(update); update.ObjectId = "object4"; update.Throttle = 1; update.StartX = 90; update.StartY = 10; update.StartZ = 0; update.PlayerColor = Color.Blue.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.CMBT-ENGR-CO.png"; ((IController)_game_control).ViewProInitializeUpdate(update); update.ObjectId = "object5"; update.Throttle = 1; update.StartX = 10; update.StartY = 60; update.StartZ = 0; update.PlayerColor = Color.Black.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.DSM-TRP.png"; ((IController)_game_control).ViewProInitializeUpdate(update); update.ObjectId = "object1e"; update.Throttle = 1; update.StartX = 10; update.StartY = 30; update.StartZ = 0; update.PlayerColor = Color.Red.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.FA-BTTR.png"; ((IController)_game_control).ViewProInitializeUpdate(update); } AnimationTimer = GameFramework.QueryPerformanceTimer(); _commands.HandshakeInitializeGUIDone(DDD_Global.Instance.PlayerID); }
public override void OnInitializeScene(GameFramework g) { Size DisplaySize = g.CANVAS.Size; BindGameController(); this.Fonts.Add("Large", g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 14))); this.Fonts.Add("Medium", g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 12))); this.Fonts.Add("Small", g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 8))); int bottom = 130; background.X = 0; background.Y = 0; background.Height = DisplaySize.Height; background.Width = DisplaySize.Width; SetRootWindow(background); score.X = 0; score.Y = 0; score.Width = background.Width; score.Height = 40; time_rect.X = score.Width - 100; time_rect.Y = 0; time_rect.Width = 100; time_rect.Height = 40; information_rect.X = background.Right - 200; information_rect.Y = score.Bottom + 1; information_rect.Width = 200; information_rect.Height = background.Height - (score.Height + bottom); button_panel.X = 0; button_panel.Y = 41; button_panel.Height = 20; button_panel.Width = background.Width - information_rect.Width; frame.X = 0; frame.Y = button_panel.Bottom + 1; frame.Height = background.Height - (score.Height + bottom + button_panel.Height); frame.Width = background.Width - information_rect.Width; playfield_panel.X = frame.X + 20; playfield_panel.Y = frame.Y + 20; playfield_panel.Width = frame.Width - 40; playfield_panel.Height = frame.Height - 40; #region StatusPanel StatusPanel = new Aptima.Asim.DDD.Client.Common.GLCore.Controls.Panel( information_rect.X + 1, information_rect.Y, information_rect.Right - 1, information_rect.Y + information_rect.Height); StatusPanel.Layout = PanelLayout.VerticalFree; StatusPanel.Background = Window.BackgroundColor; StatusPanel.Hide = true; ObjectIDLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Object Name", 0, 0, StatusPanel.ClientArea.Width, 50)); ObjectIDLbl.BackgroundColor = Color.Black; ObjectIDLbl.ForegroundColor = Color.Yellow; ObjectIDLbl.Font = Fonts["Large"]; PanelLabel b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 12)); b.BackgroundColor = StatusPanel.Background; b.Font = Fonts["Medium"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Class Name", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; ObjectClassLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); ObjectClassLbl.BackgroundColor = StatusPanel.Background; ObjectClassLbl.Font = Fonts["Small"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("State", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; ObjectStateLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); ObjectStateLbl.BackgroundColor = StatusPanel.Background; ObjectStateLbl.Font = Fonts["Small"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Location", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; LocationLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); LocationLbl.ForegroundColor = Color.Lime; LocationLbl.BackgroundColor = StatusPanel.Background; LocationLbl.Font = Fonts["Small"]; AltitudeLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); AltitudeLbl.BackgroundColor = StatusPanel.Background; AltitudeLbl.Font = Fonts["Small"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Destination", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; DestinationLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); DestinationLbl.ForegroundColor = Color.Lime; DestinationLbl.BackgroundColor = StatusPanel.Background; DestinationLbl.Font = Fonts["Small"]; TtdLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); TtdLbl.ForegroundColor = Color.Lime; TtdLbl.BackgroundColor = StatusPanel.Background; TtdLbl.Font = Fonts["Medium"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Speed", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; SpeedLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); SpeedLbl.BackgroundColor = StatusPanel.Background; SpeedLbl.Font = Fonts["Small"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Maximum Speed", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; MaxSpeedLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); MaxSpeedLbl.BackgroundColor = StatusPanel.Background; MaxSpeedLbl.Font = Fonts["Small"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Throttle", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; Throttle = (PanelSlider)StatusPanel.BindPanelControl(new PanelSlider(0, 0, StatusPanel.ClientArea.Width,30)); Throttle.BackgroundColor = StatusPanel.Background; Throttle.Font = Fonts["Small"]; Throttle.Handler = new PanelSliderChangeHandler(SliderHandler); b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Fuel Amount", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; FuelAmountLbl = (PanelProgressLabel)StatusPanel.BindPanelControl(new PanelProgressLabel(0, 0, StatusPanel.ClientArea.Width, 25)); FuelAmountLbl.BackgroundColor = StatusPanel.Background; FuelAmountLbl.Font = Fonts["Small"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Fuel Capacity", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; FuelCapacityLbl = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 25)); FuelCapacityLbl.BackgroundColor = StatusPanel.Background; FuelCapacityLbl.Font = Fonts["Small"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel("Vulnerabilities", 0, 0, StatusPanel.ClientArea.Width, 25)); b.BackgroundColor = Color.Black; b.Font = Fonts["Medium"]; VulnerabilityMenu = (PanelMenu)StatusPanel.BindPanelControl(new PanelMenu(Fonts["Medium"], string.Empty, 0, 0, StatusPanel.ClientArea.Width, 75, null)); VulnerabilityMenu.BackgroundColor = Color.Black; VulnerabilityMenu.ForegroundColor = Window.CaptionColor; VulnerabilityMenu.Font = Fonts["Medium"]; b = (PanelLabel)StatusPanel.BindPanelControl(new PanelLabel(0, 0, StatusPanel.ClientArea.Width, 12)); b.BackgroundColor = StatusPanel.Background; b.Font = Fonts["Medium"]; DeSelectBtn = new PanelStaticButton(0, 0, StatusPanel.ClientArea.Width, 25); DeSelectBtn.Text = "Cancel / DeSelect"; DeSelectBtn.MouseClick = new MouseEventHandler(this.DeSelectBtnHandler); DeSelectBtn.Vertical = true; DeSelectBtn.Font = Fonts["Medium"]; StatusPanel.BindPanelControl(DeSelectBtn); #endregion #region AssetPanel AssetPanel = new Aptima.Asim.DDD.Client.Common.GLCore.Controls.Panel( information_rect.X + 1, information_rect.Y, information_rect.Right - 1, information_rect.Y + information_rect.Height); AssetPanel.Layout = PanelLayout.VerticalFree; AssetPanel.Background = Window.BackgroundColor; AssetPanel.Hide = true; AssetModeLbl = (PanelLabel)AssetPanel.BindPanelControl(new PanelLabel("Asset Menu", 0, 0, AssetPanel.ClientArea.Width, 50)); AssetModeLbl.BackgroundColor = Color.Black; AssetModeLbl.ForegroundColor = Color.Yellow; AssetModeLbl.Font = Fonts["Large"]; AssetHeaderLbl = (PanelLabel)AssetPanel.BindPanelControl(new PanelLabel("Managed Assets ...", 0, 0, AssetPanel.ClientArea.Width, 25)); AssetHeaderLbl.BackgroundColor = Color.Black; AssetHeaderLbl.Font = Fonts["Medium"]; AssetMenu = new PanelMenu(Fonts["Medium"], string.Empty, 0, 0, AssetPanel.ClientArea.Width, AssetHeaderLbl.ClientArea.Bottom, new PanelMenuSelectHandler(AssetHandler)); AssetMenu.SetHeight(information_rect.Height / 3); AssetMenu.BackgroundColor = AssetPanel.Background; AssetPanel.BindPanelControl(AssetMenu); MiscAssetHeaderLbl = (PanelLabel)AssetPanel.BindPanelControl(new PanelLabel("UnManaged Assets ...", 0, 0, AssetPanel.ClientArea.Width, 25)); MiscAssetHeaderLbl.BackgroundColor = Color.Black; MiscAssetHeaderLbl.Font = Fonts["Medium"]; MiscAssetMenu = new PanelMenu(Fonts["Medium"], string.Empty, 0, 0, AssetPanel.ClientArea.Width, MiscAssetHeaderLbl.ClientArea.Bottom, new PanelMenuSelectHandler(AssetHandler)); MiscAssetMenu.SetHeight(information_rect.Height / 3); MiscAssetMenu.BackgroundColor = AssetPanel.Background; AssetPanel.BindPanelControl(MiscAssetMenu); #endregion #region AttackPanel AttackPanel = new Aptima.Asim.DDD.Client.Common.GLCore.Controls.Panel( information_rect.X + 1, information_rect.Y, information_rect.Right - 1, information_rect.Y + information_rect.Height); AttackPanel.Layout = PanelLayout.VerticalFree; AttackPanel.Background = Window.BackgroundColor; AttackPanel.Hide = true; AttackModeLbl = (PanelLabel) AttackPanel.BindPanelControl(new PanelLabel("Object Name", 0, 0, AttackPanel.ClientArea.Width, 50)); AttackModeLbl.BackgroundColor = Color.Black; AttackModeLbl.ForegroundColor = Color.Yellow; AttackModeLbl.Font = Fonts["Large"]; AttackHeaderLbl = (PanelLabel)AttackPanel.BindPanelControl(new PanelLabel("Choose Weapon ...", 0, 0, AttackPanel.ClientArea.Width, 25)); AttackHeaderLbl.BackgroundColor = Color.Black; AttackHeaderLbl.Font = Fonts["Medium"]; AttackMenu = new PanelMenu(Fonts["Medium"], string.Empty, 0, 0, AttackPanel.ClientArea.Width, AttackModeLbl.ClientArea.Bottom, new PanelMenuSelectHandler(AttackHandler)); AttackMenu.SetHeight(information_rect.Height / 2); AttackMenu.BackgroundColor = AttackPanel.Background; AttackPanel.BindPanelControl(AttackMenu); CancelAttackBtn = new PanelStaticButton(0, 0, AttackMenu.ClientArea.Width, 25); CancelAttackBtn.Text = "Cancel"; CancelAttackBtn.MouseClick = new MouseEventHandler(this.CancelAttackBtnHandler); CancelAttackBtn.Vertical = true; CancelAttackBtn.Font = Fonts["Medium"]; AttackPanel.BindPanelControl(CancelAttackBtn); #endregion AttackPanel #region SubPPanel SubPlatformPanel = new Aptima.Asim.DDD.Client.Common.GLCore.Controls.Panel( information_rect.X + 1, information_rect.Y, information_rect.Right - 1, information_rect.Y + information_rect.Height); SubPlatformPanel.Layout = PanelLayout.VerticalFree; SubPlatformPanel.Background = Window.BackgroundColor; SubPlatformPanel.Hide = true; SubPModeLbl = (PanelLabel)SubPlatformPanel.BindPanelControl(new PanelLabel("Object Name", 0, 0, SubPlatformPanel.ClientArea.Width, 50)); SubPModeLbl.BackgroundColor = Color.Black; SubPModeLbl.ForegroundColor = Color.Yellow; SubPModeLbl.Font = Fonts["Large"]; SubPHeaderLbl = (PanelLabel)SubPlatformPanel.BindPanelControl(new PanelLabel("Choose Sub-Platform ...", 0, 0, SubPlatformPanel.ClientArea.Width, 25)); SubPHeaderLbl.BackgroundColor = Color.Black; SubPHeaderLbl.Font = Fonts["Medium"]; SubPlatformMenu = new PanelMenu(Fonts["Medium"], string.Empty, 0, 0, AttackPanel.ClientArea.Width, AttackModeLbl.ClientArea.Bottom, new PanelMenuSelectHandler(SubPHandler)); SubPlatformMenu.SetHeight(information_rect.Height / 2); SubPlatformMenu.BackgroundColor = SubPlatformPanel.Background; SubPlatformPanel.BindPanelControl(SubPlatformMenu); CancelSubPBtn = new PanelStaticButton(0, 0, SubPlatformMenu.ClientArea.Width, 25); CancelSubPBtn.Text = "Cancel SubP"; CancelSubPBtn.MouseClick = new MouseEventHandler(this.CancelSubPBtnHandler); CancelSubPBtn.Vertical = true; CancelSubPBtn.Font = Fonts["Medium"]; SubPlatformPanel.BindPanelControl(CancelSubPBtn); #endregion AttackPanel #region Misc UI PlayfieldPanel = CreatePanel(playfield_panel.X, playfield_panel.Y, playfield_panel.Right, playfield_panel.Bottom); ButtonPanel = CreatePanel(button_panel.X, button_panel.Y, button_panel.Right, button_panel.Bottom); ButtonPanel.Background = StatusPanel.Background; ButtonPanel.Layout = PanelLayout.HorizontalFree; MapNameLbl = (PanelLabel)ButtonPanel.BindPanelControl( new PanelLabel("Map: " + DDD_Global.Instance.MapName.Substring(0, DDD_Global.Instance.MapName.Length - 4) , 0, 0, ButtonPanel.ClientArea.Width, ButtonPanel.ClientArea.Height)); MapNameLbl.BackgroundColor = ButtonPanel.Background; MapNameLbl.Font = Fonts["Medium"]; MsgWindow = CreateWindow(g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 12)), "Messages", 0, frame.Bottom + 2, (int)(background.Width / 2), background.Bottom); MsgWindowPanel = (PanelTextRegion)MsgWindow.BindPanelControl(new Aptima.Asim.DDD.Client.Common.GLCore.Controls.PanelTextRegion(g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 10)) , 0, frame.Bottom + 2, (int)(background.Width / 2), background.Bottom)); MsgWindowPanel.Sticky = true; ChatWindow = CreateWindow(g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 12)), "Chat", MsgWindowPanel.ClientArea.Right + 2, frame.Bottom + 2, background.Right - 2, background.Bottom); ChatWindowPanel = (PanelTextRegion)ChatWindow.BindPanelControl(new Aptima.Asim.DDD.Client.Common.GLCore.Controls.PanelTextRegion(g.CANVAS.CreateFont(new System.Drawing.Font("MS Sans Serif", 10)), MsgWindowPanel.ClientArea.Right + 2, frame.Bottom + 2, background.Right - 2, background.Bottom)); ChatWindowPanel.HasInput = true; ChatWindowPanel.Sticky = true; ChatWindowPanel.OnTextChat = new TextChatEventHandler(this.TextChatHandler); LeftScrollPanel = CreatePanel(frame.X, playfield_panel.Y, playfield_panel.X - 1, playfield_panel.Bottom); LeftScrollBtn = (PanelDynamicButton)LeftScrollPanel.BindPanelControl(new Aptima.Asim.DDD.Client.Common.GLCore.Controls.PanelDynamicButton(frame.X, playfield_panel.Y, playfield_panel.X - 1, playfield_panel.Bottom)); LeftScrollBtn.MouseDown = new MouseEventHandler(this.LeftScroll); LeftScrollBtn.MouseUp = new MouseEventHandler(this.StopScroll); left_arrow.X = LeftScrollPanel.ClientArea.X + (LeftScrollPanel.ClientArea.Width / 2) - 6; left_arrow.Y = LeftScrollPanel.ClientArea.Top + (LeftScrollPanel.ClientArea.Height / 2) - 6; left_arrow.Width = 12; left_arrow.Height = 12; RightScrollPanel = CreatePanel(playfield_panel.Right + 1, playfield_panel.Y, frame.Right, playfield_panel.Bottom); RightScrollBtn = (PanelDynamicButton)RightScrollPanel.BindPanelControl(new Aptima.Asim.DDD.Client.Common.GLCore.Controls.PanelDynamicButton(playfield_panel.Right + 1, playfield_panel.Y, frame.Right, playfield_panel.Bottom)); RightScrollBtn.MouseDown = new MouseEventHandler(this.RightScroll); RightScrollBtn.MouseUp = new MouseEventHandler(this.StopScroll); right_arrow.X = RightScrollPanel.ClientArea.X + (RightScrollPanel.ClientArea.Width / 2) - 6; right_arrow.Y = RightScrollPanel.ClientArea.Top + (RightScrollPanel.ClientArea.Height / 2) - 6; right_arrow.Width = 12; right_arrow.Height = 12; DownScrollPanel = CreatePanel(playfield_panel.X, playfield_panel.Bottom + 1, playfield_panel.Right, frame.Bottom); DownScrollBtn = (PanelDynamicButton)DownScrollPanel.BindPanelControl(new Aptima.Asim.DDD.Client.Common.GLCore.Controls.PanelDynamicButton(playfield_panel.X, playfield_panel.Bottom + 1, playfield_panel.Right, frame.Bottom)); DownScrollBtn.MouseDown = new MouseEventHandler(this.DownScroll); DownScrollBtn.MouseUp = new MouseEventHandler(this.StopScroll); down_arrow.X = DownScrollPanel.ClientArea.X + (DownScrollPanel.ClientArea.Width / 2) - 6; down_arrow.Y = DownScrollPanel.ClientArea.Top + (DownScrollPanel.ClientArea.Height / 2) - 6; down_arrow.Width = 12; down_arrow.Height = 12; UpScrollPanel = CreatePanel(playfield_panel.X, frame.Top, playfield_panel.Right, playfield_panel.Top - 1); UpScrollBtn = (PanelDynamicButton)UpScrollPanel.BindPanelControl(new Aptima.Asim.DDD.Client.Common.GLCore.Controls.PanelDynamicButton(playfield_panel.X, frame.Top, playfield_panel.Right, playfield_panel.Top - 1)); UpScrollBtn.MouseDown = new MouseEventHandler(this.UpScroll); UpScrollBtn.MouseUp = new MouseEventHandler(this.StopScroll); up_arrow.X = UpScrollPanel.ClientArea.X + (UpScrollPanel.ClientArea.Width / 2) - 6; up_arrow.Y = UpScrollPanel.ClientArea.Top + (UpScrollPanel.ClientArea.Height / 2) - 6; up_arrow.Width = 12; up_arrow.Height = 12; #endregion foreach (string str in g.Textures.Keys) { if (str.CompareTo("MAP") != 0) { Obj_Sprite s = CreateSprite(str, SpriteFlags.AlphaBlend); s.Initialize(g.CANVAS); s.Texture(g.Textures[str]); } } Map = CreateSprite("MAP", SpriteFlags.SortTexture | SpriteFlags.AlphaBlend); Map.Initialize(g.CANVAS); Map.Texture(g.GetTexture("MAP")); Map.Diffuse = Color.Gray; MapScene = new MapPlayfield(g.CANVAS, Map, PlayfieldPanel.ClientArea, _commands); Playfield = (PanelSceneRegion)PlayfieldPanel.BindPanelControl( new Aptima.Asim.DDD.Client.Common.GLCore.Controls.PanelSceneRegion(playfield_panel.X, playfield_panel.Y, playfield_panel.Right, playfield_panel.Bottom, MapScene) ); Playfield.Sticky = false; Playfield.MouseClick = new MouseEventHandler(MapScene.OnMouseClick); Playfield.MouseWheel = new MouseEventHandler(MapScene.OnMouseWheel); Playfield.MouseDown = new MouseEventHandler(MapScene.OnMouseDown); Playfield.MouseUp = new MouseEventHandler(MapScene.OnMouseUp); Playfield.MouseMove = new MouseEventHandler(MapScene.OnMouseMove); Map.SetPosition(PlayfieldPanel.ClientArea.X, PlayfieldPanel.ClientArea.Y, 0); MapScene.OnInitializeScene(g); if (!DDD_Global.Instance.nc.IsConnected()) { ViewProMotionUpdate update = new ViewProMotionUpdate(); update.ObjectId = "object1"; update.Throttle = 1; update.StartX = 600; update.StartY = 600; update.StartZ = 0; update.PlayerColor = Color.White.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.BTTR.png"; InitializeObjects(update); update.ObjectId = "object2"; update.Throttle = 1; update.StartX = 630; update.StartY = 630; update.StartZ = 0; update.PlayerColor = Color.Green.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.CA.png"; InitializeObjects(update); update.ObjectId = "object1b"; update.Throttle = 1; update.StartX = 660; update.StartY = 660; update.StartZ = 0; update.PlayerColor = Color.Yellow.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.CH47.png"; InitializeObjects(update); update.ObjectId = "object1c"; update.Throttle = 1; update.StartX = 690; update.StartY = 690; update.StartZ = 0; update.PlayerColor = Color.Blue.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.CMBT-ENGR-CO.png"; InitializeObjects(update); update.ObjectId = "object1d"; update.Throttle = 1; update.StartX = 720; update.StartY = 720; update.StartZ = 0; update.PlayerColor = Color.Black.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.DSM-TRP.png"; InitializeObjects(update); update.ObjectId = "object1e"; update.Throttle = 1; update.StartX = 750; update.StartY = 750; update.StartZ = 0; update.PlayerColor = Color.Red.ToArgb(); update.Icon = "ImageLib.Persuade.Blue.FA-BTTR.png"; InitializeObjects(update); //update.ObjectId = update.OwnerID = update.PlayerId = "object2"; //update.Throttle = 1; //update.StartX = 30; //update.StartY = 30; //update.StartZ = 0; //InitializeObjects(update); //update.ObjectId = update.OwnerID = update.PlayerId = "object3"; //update.Throttle = 1; //update.StartX = 50; //update.StartY = 50; //update.StartZ = 0; //InitializeObjects(update); //update.ObjectId = update.OwnerID = update.PlayerId = "object4"; //update.Throttle = 1; //update.StartX = 70; //update.StartY = 70; //update.StartZ = 0; //InitializeObjects(update); //update.ObjectId = update.OwnerID = update.PlayerId = "object5"; //update.Throttle = 1; //update.StartX = 90; //update.StartY = 90; //update.StartZ = 0; //InitializeObjects(update); //MsgWindowPanel.AddText("UTM Northing units: " + UTM_Mapping.VerticalMetersPerPixel); //MsgWindowPanel.AddText("UTM Easting units: " + UTM_Mapping.HorizonalMetersPerPixel); MsgWindowPanel.AddText(DDD_Global.Instance.ScenarioDescription); //MsgWindowPanel.AddText("Demo Mode..."); } else { //MsgWindowPanel.AddText("UTM Northing units: " + UTM_Mapping.VerticalMetersPerPixel); //MsgWindowPanel.AddText("UTM Easting units: " + UTM_Mapping.HorizonalMetersPerPixel); MsgWindowPanel.AddText(DDD_Global.Instance.ScenarioDescription); //MsgWindowPanel.AddText("Connected to server..."); } ScoreHeader = string.Format("Scenario: {0} Player: {1}", DDD_Global.Instance.ScenarioName, DDD_Global.Instance.PlayerID); _commands.HandshakeInitializeGUIDone(DDD_Global.Instance.PlayerID); }