public override void Initialize() { EnableStartLocationSelection = true; #if !WINDOWSGL disposeTextures = !UserINISettings.Instance.PreloadMapPreviews; #endif startingLocationIndicators = new PlayerLocationIndicator[MAX_STARTING_LOCATIONS]; Color nameBackgroundColor = AssetLoader.GetRGBAColorFromString( ClientConfiguration.Instance.MapPreviewNameBackgroundColor); Color nameBorderColor = AssetLoader.GetRGBAColorFromString( ClientConfiguration.Instance.MapPreviewNameBorderColor); contextMenu = new XNAContextMenu(WindowManager); contextMenu.Tag = -1; double angularVelocity = gameOptionsIni.GetDoubleValue("General", "StartingLocationAngularVelocity", 0.015); double reservedAngularVelocity = gameOptionsIni.GetDoubleValue("General", "ReservedStartingLocationAngularVelocity", -0.0075); Color hoverRemapColor = AssetLoader.GetRGBAColorFromString(ClientConfiguration.Instance.MapPreviewStartingLocationHoverRemapColor); // Init starting location indicators for (int i = 0; i < MAX_STARTING_LOCATIONS; i++) { PlayerLocationIndicator indicator = new PlayerLocationIndicator(WindowManager, mpColors, nameBackgroundColor, nameBorderColor, contextMenu); indicator.FontIndex = FontIndex; indicator.Visible = false; indicator.Enabled = false; indicator.AngularVelocity = angularVelocity; indicator.HoverRemapColor = hoverRemapColor; indicator.ReversedAngularVelocity = reservedAngularVelocity; indicator.WaypointTexture = AssetLoader.LoadTexture(string.Format("slocindicator{0}.png", i + 1)); indicator.Tag = i; indicator.LeftClick += Indicator_LeftClick; indicator.RightClick += Indicator_RightClick; startingLocationIndicators[i] = indicator; AddChild(indicator); } contextMenu.ClientRectangle = new Rectangle(0, 0, 150, 2); AddChild(contextMenu); contextMenu.Disable(); briefingBox = new CoopBriefingBox(WindowManager); AddChild(briefingBox); briefingBox.Disable(); sndClickSound = new EnhancedSoundEffect("button.wav"); sndDropdownSound = new EnhancedSoundEffect("dropdown.wav"); base.Initialize(); ClientRectangleUpdated += (s, e) => UpdateMap(); }
public void SetFields(List <PlayerInfo> players, List <PlayerInfo> aiPlayers, List <MultiplayerColor> mpColors, string[] sides, IniFile gameOptionsIni) { this.players = players; this.aiPlayers = aiPlayers; this.mpColors = mpColors; this.sides = sides; this.gameOptionsIni = gameOptionsIni; Color nameBackgroundColor = AssetLoader.GetRGBAColorFromString( ClientConfiguration.Instance.MapPreviewNameBackgroundColor); Color nameBorderColor = AssetLoader.GetRGBAColorFromString( ClientConfiguration.Instance.MapPreviewNameBorderColor); double angularVelocity = gameOptionsIni.GetDoubleValue("General", "StartingLocationAngularVelocity", 0.015); double reservedAngularVelocity = gameOptionsIni.GetDoubleValue("General", "ReservedStartingLocationAngularVelocity", -0.0075); Color hoverRemapColor = AssetLoader.GetRGBAColorFromString(ClientConfiguration.Instance.MapPreviewStartingLocationHoverRemapColor); startingLocationIndicators = new PlayerLocationIndicator[MAX_STARTING_LOCATIONS]; // Init starting location indicators for (int i = 0; i < MAX_STARTING_LOCATIONS; i++) { PlayerLocationIndicator indicator = new PlayerLocationIndicator(WindowManager, mpColors, nameBackgroundColor, nameBorderColor, contextMenu); indicator.FontIndex = FontIndex; indicator.Visible = false; indicator.Enabled = false; indicator.AngularVelocity = angularVelocity; indicator.HoverRemapColor = hoverRemapColor; indicator.ReversedAngularVelocity = reservedAngularVelocity; indicator.WaypointTexture = AssetLoader.LoadTexture(string.Format("slocindicator{0}.png", i + 1)); indicator.Tag = i; indicator.LeftClick += Indicator_LeftClick; indicator.RightClick += Indicator_RightClick; startingLocationIndicators[i] = indicator; AddChild(indicator); } briefingBox = new CoopBriefingBox(WindowManager); AddChild(briefingBox); briefingBox.Disable(); ClientRectangleUpdated += (s, e) => UpdateMap(); }