Example #1
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        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);
            }
        }
Example #5
0
        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);
            }
        }