Beispiel #1
0
 public void SetLocationVisibility(bool visible, MyEntity entity, MyGuitargetMode guiTargetMode)
 {
     if (visible)
     {
         MyHud.RemoveText(entity);
         MyHud.AddText(entity, HudNameTemp ?? NameTemp, guiTargetMode);
     }
     else
     {
         entity.UpdateHudMarker(true);
     }
 }
Beispiel #2
0
 public void SetLocationVisibility(bool visible, MyEntity entity, MyGuitargetMode guiTargetMode)
 {
     if (visible)
     {
         MyHud.RemoveText(entity);
         MyHud.AddText(entity, HudNameTemp ?? NameTemp, guiTargetMode);
     }
     else
     {
         entity.UpdateHudMarker(true);
     }
 }
Beispiel #3
0
 public void ChangeHUDDisplayStatus(MyGuitargetMode targetMode, float distance, MyHudIndicatorFlagsEnum indicatorFlags)
 {
     MyHud.ChangeText(this, new StringBuilder(this.DisplayName), targetMode, distance, indicatorFlags);
 }
Beispiel #4
0
        public MyHudEntityParams(StringBuilder text, MyGuitargetMode? targetMode, float maxDistance, MyHudIndicatorFlagsEnum flagsEnum, MyHudDisplayFactionRelation? displayFactionRelation = null, MyHudMaxDistanceMultiplerTypes? maxDistanceMultiplerType = null)
            : this()
        {
            this.Text = text;
            this.FlagsEnum = flagsEnum;
            this.MaxDistance = maxDistance;
            this.TargetMode = targetMode;
            this.MaxDistanceMultiplerType = maxDistanceMultiplerType;

            if (displayFactionRelation.HasValue)
            {
                DisplayFactionRelation = displayFactionRelation.Value;
            }
            else 
            {
                DisplayFactionRelation = MyHudDisplayFactionRelation.Default;
            }
        }
Beispiel #5
0
        private static void GetGuiTargetMode(MyEntity target, MyHudEntityParams hudParams, out MyGuitargetMode hudSettingsTargetMode, out MyGuitargetMode alphaCorrectionTargetMode) 
        {
            hudSettingsTargetMode = hudParams.TargetMode != null ? hudParams.TargetMode.Value : MyGuitargetMode.Neutral;
            alphaCorrectionTargetMode = MyGuitargetMode.Neutral;

            MyFactionRelationEnum status = MyFactions.GetFactionsRelation(target, MySession.PlayerShip);
            if (MyMissions.IsMissionEntity(target))
            {                
                var mission = MyMissions.GetSubmissionByEntity(target);
                if (mission != null && mission.ShowAsOptional)
                {
                    if ((hudParams.FlagsEnum & MyHudIndicatorFlagsEnum.SHOW_MISSION_MARKER) != 0)
                    {
                        hudSettingsTargetMode = MyGuitargetMode.ObjectiveOptional;
                    }
                    alphaCorrectionTargetMode = MyGuitargetMode.ObjectiveOptional;
                }
                else
                {
                    if ((hudParams.FlagsEnum & MyHudIndicatorFlagsEnum.SHOW_MISSION_MARKER) != 0)
                    {
                        hudSettingsTargetMode = MyGuitargetMode.Objective;
                    }
                    alphaCorrectionTargetMode = MyGuitargetMode.Objective;
                }                
            }
            else
            {                
                switch (status)
                {
                    case MyFactionRelationEnum.Neutral:
                        if ((hudParams.FlagsEnum & MyHudIndicatorFlagsEnum.SHOW_FACTION_RELATION_MARKER) != 0)
                        {
                            hudSettingsTargetMode = MyGuitargetMode.Neutral;
                        }
                        alphaCorrectionTargetMode = MyGuitargetMode.Neutral;
                        break;
                    case MyFactionRelationEnum.Friend:
                        if ((hudParams.FlagsEnum & MyHudIndicatorFlagsEnum.SHOW_FACTION_RELATION_MARKER) != 0)
                        {
                            hudSettingsTargetMode = MyGuitargetMode.Friend;
                        }
                        alphaCorrectionTargetMode = MyGuitargetMode.Friend;
                        break;
                    case MyFactionRelationEnum.Enemy:
                        if ((hudParams.FlagsEnum & MyHudIndicatorFlagsEnum.SHOW_FACTION_RELATION_MARKER) != 0)
                        {
                            hudSettingsTargetMode = MyGuitargetMode.Enemy;
                        }
                        alphaCorrectionTargetMode = MyGuitargetMode.Enemy;
                        break;
                }
            }
        }
Beispiel #6
0
        public static void ChangeText(MyEntity entity, StringBuilder text, MyGuitargetMode? targetMode, float maxDistance = 0, MyHudIndicatorFlagsEnum flagsEnum = DEFAULT_FLAGS, MyHudDisplayFactionRelation? displayFactinRelation = null, MyHudMaxDistanceMultiplerTypes? maxDistanceMultiplerType = null)
        {
            RemoveText(entity);

            AddText(entity, text, targetMode, maxDistance, flagsEnum, displayFactinRelation, maxDistanceMultiplerType);
        }
Beispiel #7
0
 /// <summary>
 /// Adds the text that is displayed per entity.
 /// </summary>
 /// <param name="entity">The entity.</param>
 /// <param name="text">The text to display</param>
 public static void AddText(MyEntity entity, StringBuilder text, MyGuitargetMode? targetMode = null, float maxDistance = 0, MyHudIndicatorFlagsEnum flagsEnum = MyHudIndicatorFlagsEnum.SHOW_TEXT | MyHudIndicatorFlagsEnum.SHOW_BORDER_INDICATORS | MyHudIndicatorFlagsEnum.SHOW_DISTANCE | MyHudIndicatorFlagsEnum.ALPHA_CORRECTION_BY_DISTANCE | MyHudIndicatorFlagsEnum.SHOW_MISSION_MARKER | MyHudIndicatorFlagsEnum.SHOW_FACTION_RELATION_MARKER, MyHudDisplayFactionRelation? displayFactinRelation = null, MyHudMaxDistanceMultiplerTypes? maxDistanceMultiplerType = null)
 {
     //Why assert?
     //Debug.Assert(text.Length != 0);
     HudEntities.Add(new Tuple<WeakReference, MyHudEntityParams>(new WeakReference(entity), new MyHudEntityParams(text, targetMode, maxDistance, flagsEnum, displayFactinRelation, maxDistanceMultiplerType)));
 }