/// <summary> /// Creates a copy of the current <see cref="HudLayoutPlayerIconTool"/> instance /// </summary> /// <returns>Copy of the current <see cref="HudLayoutTool"/> instance</returns> public override HudLayoutTool Clone() { var cloned = new HudLayoutPlayerIconTool { Id = Id, Positions = Positions?.Select(x => x.Clone()).ToList(), UIPositions = UIPositions.Select(x => x.Clone()).ToList() }; return(cloned); }
/// <summary> /// Creates a copy of the current <see cref="HudLayoutTiltMeterTool"/> instance /// </summary> /// <returns>Copy of the current <see cref="HudLayoutTool"/> instance</returns> public override HudLayoutTool Clone() { var clone = new HudLayoutTiltMeterTool { Id = Id, Positions = Positions?.Select(x => x.Clone()).ToList(), UIPositions = UIPositions.Select(x => x.Clone()).ToList() }; return(clone); }
/// <summary> /// Creates a copy of the current <see cref="HudLayoutPlainBoxTool"/> instance /// </summary> /// <returns>Copy of the current <see cref="HudLayoutTool"/> instance</returns> public override HudLayoutTool Clone() { var cloned = new HudLayoutPlainBoxTool { Id = Id, Stats = new ReactiveList <StatInfo>(Stats.Select(x => { var statInfoBreak = x as StatInfoBreak; if (statInfoBreak != null) { return(statInfoBreak.Clone()); } return(x.Clone()); })), Positions = Positions?.Select(x => x.Clone()).ToList(), UIPositions = UIPositions.Select(x => x.Clone()).ToList() }; return(cloned); }
private static void SetupBackgroundSettings() { RadioBackgroundTexture = Game.CreateTextureFromFile(PathModifier + "Background" + DisplayExtension); MasterScalingFactor = DisplayIni.ReadSingle("DisplayConfig", "DisplayScalingFactor", 1.0f); RadioBackgroundTextureWidth = RadioBackgroundTexture.Size.Width * MasterScalingFactor; RadioBackgroundTextureHeight = RadioBackgroundTexture.Size.Height * MasterScalingFactor; UIPositions Position = DisplayIni.ReadEnum <UIPositions>("DisplayConfig", "DisplayPosition", UIPositions.BottomRight); if (!string.IsNullOrWhiteSpace(DisplayIni.ReadString("DisplaySpecificPositioning", "X", "")) && !string.IsNullOrWhiteSpace(DisplayIni.ReadString("DisplaySpecificPositioning", "Y", ""))) { BaseX = DisplayIni.ReadInt32("DisplaySpecificPositioning", "X"); BaseY = DisplayIni.ReadInt32("DisplaySpecificPositioning", "Y"); Game.LogTrivial("Setting Display position to specifics: " + BaseX + ":" + BaseY); } else { switch (Position) { case UIPositions.BottomRight: BaseX = Game.Resolution.Width - (Int32)RadioBackgroundTextureWidth; BaseY = Game.Resolution.Height - (Int32)RadioBackgroundTextureHeight; break; case UIPositions.BottomLeft: BaseX = 0; BaseY = Game.Resolution.Height - (Int32)RadioBackgroundTextureHeight; break; case UIPositions.TopLeft: BaseX = 0; BaseY = 0; break; case UIPositions.TopRight: BaseX = Game.Resolution.Width - (Int32)RadioBackgroundTextureWidth; BaseY = 0; break; case UIPositions.CentreLeft: BaseX = 0; BaseY = Game.Resolution.Height / 2 - (Int32)RadioBackgroundTextureHeight / 2; break; case UIPositions.CentreRight: BaseX = Game.Resolution.Width - (Int32)RadioBackgroundTextureWidth; BaseY = Game.Resolution.Height / 2 - (Int32)RadioBackgroundTextureHeight / 2; break; case UIPositions.CentreBottom: BaseX = Game.Resolution.Width / 2 - (Int32)RadioBackgroundTextureWidth / 2; BaseY = Game.Resolution.Height - (Int32)RadioBackgroundTextureHeight; break; case UIPositions.CentreTop: BaseX = Game.Resolution.Width / 2 - (Int32)RadioBackgroundTextureWidth / 2; BaseY = 0; break; } Game.LogTrivial("Setting Display position to " + Position.ToString()); Game.LogTrivial(BaseX + ":" + BaseY); } }
private static void SetupTextures() { ini.Create(); PositioningIni.Create(); UIBackground = Game.CreateTextureFromFile(PathModifier + "PanelBlank" + UIExtension); SirenActive = new UIButton("SirenActive"); Siren1 = new UIButton("Siren1"); Siren2 = new UIButton("Siren2"); Siren3 = new UIButton("Siren3"); Siren4 = new UIButton("Siren4"); Siren5 = new UIButton("Siren5"); Siren6 = new UIButton("Siren6"); Siren7 = new UIButton("Siren7"); Siren8 = new UIButton("Siren8"); Siren9 = new UIButton("Siren9"); Siren10 = new UIButton("Siren10"); Mute = new UIButton("Mute"); Reset = new UIButton("Reset"); Blip = new UIButton("Blip"); Dual = new UIButton("Dual"); Manual = new UIButton("Manual"); Horn = new UIButton("Horn"); SirenButtons = new List <UIButton>() { Siren1, Siren2, Siren3, Siren4, Siren5, Siren6, Siren7, Siren8, Siren9, Siren10 }; AllUIButtons = new List <UIButton>(); AllUIButtons.AddRange(SirenButtons); AllUIButtons.AddRange(new List <UIButton>() { SirenActive, Mute, Reset, Blip, Dual, Manual, Horn }); ScaleFactor = ini.ReadSingle("UIConfig", "UIScalingFactor", 0.4f); UIEnabledWhenEnteringVehicle = ini.ReadBoolean("UIConfig", "ShowUIWhenEnteringVehicle", true); UIPositions Position = ini.ReadEnum <UIPositions>("UIConfig", "UIPosition", UIPositions.BottomRight); if (!string.IsNullOrWhiteSpace(PositioningIni.ReadString("UISpecificPositioning", "X", "")) && !string.IsNullOrWhiteSpace(PositioningIni.ReadString("UISpecificPositioning", "Y", ""))) { BaseX = PositioningIni.ReadInt32("UISpecificPositioning", "X"); BaseY = PositioningIni.ReadInt32("UISpecificPositioning", "Y"); Game.LogTrivial("Setting UI position to specifics: " + BaseX + ":" + BaseY); } else { switch (Position) { case UIPositions.BottomRight: BaseX = Game.Resolution.Width - (Int32)(UIBackground.Size.Width * ScaleFactor); BaseY = Game.Resolution.Height - (Int32)(UIBackground.Size.Height * ScaleFactor); break; case UIPositions.BottomLeft: BaseX = 0; BaseY = Game.Resolution.Height - (Int32)(UIBackground.Size.Height * ScaleFactor); break; case UIPositions.TopLeft: BaseX = 0; BaseY = 0; break; case UIPositions.TopRight: BaseX = Game.Resolution.Width - (Int32)(UIBackground.Size.Width * ScaleFactor); BaseY = 0; break; case UIPositions.CentreLeft: BaseX = 0; BaseY = Game.Resolution.Height / 2 - (Int32)(UIBackground.Size.Height * ScaleFactor) / 2; break; case UIPositions.CentreRight: BaseX = Game.Resolution.Width - (Int32)(UIBackground.Size.Width * ScaleFactor); BaseY = Game.Resolution.Height / 2 - (Int32)(UIBackground.Size.Height * ScaleFactor) / 2; break; } Game.LogTrivial("Setting UI position to " + Position.ToString()); Game.LogTrivial(BaseX + ":" + BaseY); } }