示例#1
0
        public override MyActionDescription GetActionInfo(UseActionEnum actionEnum)
        {
            MyActionDescription description;

            if (actionEnum == UseActionEnum.Manipulate)
            {
                description = new MyActionDescription {
                    Text = MySpaceTexts.NotificationHintPressToOpenDoor
                };
                description.FormatParams         = new object[] { "[" + MyInput.Static.GetGameControl(MyControlsSpace.USE) + "]", this.Door.DefinitionDisplayNameText };
                description.IsTextControlHint    = true;
                description.JoystickFormatParams = new object[] { "[" + MyControllerHelper.GetCodeForControl(MySpaceBindingCreator.CX_CHARACTER, MyControlsSpace.USE).ToString() + "]", this.Door.DefinitionDisplayNameText };
                return(description);
            }
            if (actionEnum != UseActionEnum.OpenTerminal)
            {
                description = new MyActionDescription {
                    Text = MySpaceTexts.NotificationHintPressToOpenControlPanel
                };
                description.FormatParams      = new object[] { MyInput.Static.GetGameControl(MyControlsSpace.TERMINAL), this.Door.DefinitionDisplayNameText };
                description.IsTextControlHint = true;
                return(description);
            }
            description = new MyActionDescription {
                Text = MySpaceTexts.NotificationHintPressToOpenControlPanel
            };
            description.FormatParams         = new object[] { "[" + MyInput.Static.GetGameControl(MyControlsSpace.TERMINAL) + "]", this.Door.DefinitionDisplayNameText };
            description.IsTextControlHint    = true;
            description.JoystickText         = new MyStringId?(MySpaceTexts.NotificationHintJoystickPressToOpenControlPanel);
            description.JoystickFormatParams = new object[] { this.Door.DefinitionDisplayNameText };
            return(description);
        }
示例#2
0
        public override MyActionDescription GetActionInfo(UseActionEnum actionEnum)
        {
            MyActionDescription description = new MyActionDescription {
                Text = MySpaceTexts.NotificationHintPressToEnterCockpit
            };

            description.FormatParams         = new object[] { "[" + MyGuiSandbox.GetKeyName(MyControlsSpace.USE) + "]", ((VRage.Game.Entity.MyEntity) this.Cockpit).DisplayNameText };
            description.IsTextControlHint    = true;
            description.JoystickFormatParams = new object[] { "]" + MyControllerHelper.GetCodeForControl(MySpaceBindingCreator.CX_CHARACTER, MyControlsSpace.USE).ToString() + "]", ((VRage.Game.Entity.MyEntity) this.Cockpit).DisplayNameText };
            return(description);
        }
示例#3
0
        public override MyActionDescription GetActionInfo(UseActionEnum actionEnum)
        {
            MyActionDescription description = new MyActionDescription {
                Text = MySpaceTexts.NotificationHintPressToGetOnLadder
            };

            description.FormatParams         = new object[] { "[" + MyGuiSandbox.GetKeyName(MyControlsSpace.USE) + "]" };
            description.IsTextControlHint    = true;
            description.JoystickFormatParams = new object[] { "[" + MyControllerHelper.GetCodeForControl(MySpaceBindingCreator.CX_CHARACTER, MyControlsSpace.USE).ToString() + "]" };
            return(description);
        }
示例#4
0
            public ImmutableAttachmentInfo(MyObjectBuilder_EquiPlayerAttachmentComponentDefinition @base,
                                           MyObjectBuilder_EquiPlayerAttachmentComponentDefinition.AttachmentInfo ob)
            {
                Name               = ob.Name;
                Anchor             = ob.Anchor;
                _animations        = ob.Animations != null && ob.Animations.Length > 0 ? ob.Animations.Select(x => new AnimationDesc(x)).ToArray() : null;
                EmptyActionDesc    = (MyActionDescription)ob.EmptyAction;
                OccupiedActionDesc = (MyActionDescription)ob.OccupiedAction;
                _dummyNames.Clear();
                if (ob.DummyNames == null)
                {
                    return;
                }
                foreach (var d in ob.DummyNames)
                {
                    if (!string.IsNullOrWhiteSpace(d))
                    {
                        _dummyNames.Add(d);
                    }
                }

                var tmpOps = new List <ImmutableEffectOperations>();

                if (ob.EffectOperations != null)
                {
                    foreach (var eo in ob.EffectOperations)
                    {
                        var res = new ImmutableEffectOperations(eo);
                        if (res.IsValid)
                        {
                            tmpOps.Add(res);
                        }
                        else
                        {
                            MyDefinitionErrors.Add(@base.Package, $"{@base.Id} has an invalid effect operation", LogSeverity.Error);
                        }
                    }
                }

                EffectOperations = tmpOps;
            }
示例#5
0
        public override MyActionDescription GetActionInfo(UseActionEnum actionEnum)
        {
            MyActionDescription description;

            if ((actionEnum == UseActionEnum.OpenTerminal) || (actionEnum != UseActionEnum.OpenInventory))
            {
                description = new MyActionDescription {
                    Text = MySpaceTexts.NotificationHintPressToOpenControlPanel
                };
                description.FormatParams         = new object[] { "[" + MyInput.Static.GetGameControl(MyControlsSpace.TERMINAL) + "]", this.Block.DefinitionDisplayNameText };
                description.IsTextControlHint    = true;
                description.JoystickText         = new MyStringId?(MySpaceTexts.NotificationHintJoystickPressToOpenControlPanel);
                description.JoystickFormatParams = new object[] { this.Block.DefinitionDisplayNameText };
                return(description);
            }
            description = new MyActionDescription {
                Text = MySpaceTexts.NotificationHintPressToOpenInventory
            };
            description.FormatParams         = new object[] { "[" + MyInput.Static.GetGameControl(MyControlsSpace.INVENTORY) + "]", this.Block.DefinitionDisplayNameText };
            description.IsTextControlHint    = true;
            description.JoystickText         = new MyStringId?(MySpaceTexts.NotificationHintJoystickPressToOpenInventory);
            description.JoystickFormatParams = new object[] { this.Block.DefinitionDisplayNameText };
            return(description);
        }
示例#6
0
 private void GetNotification(IMyUseObject useObject, UseActionEnum actionType, ref MyHudNotification notification)
 {
     if ((useObject.SupportedActions & actionType) != UseActionEnum.None)
     {
         MyActionDescription actionInfo = useObject.GetActionInfo(actionType);
         base.Character.RemoveNotification(ref notification);
         notification = new MyHudNotification(actionInfo.Text, 0, "Blue", MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER, 0, actionInfo.IsTextControlHint ? MyNotificationLevel.Control : MyNotificationLevel.Normal);
         if (!MyDebugDrawSettings.DEBUG_DRAW_JOYSTICK_CONTROL_HINTS && (!MyInput.Static.IsJoystickConnected() || !MyInput.Static.IsJoystickLastUsed))
         {
             notification.SetTextFormatArguments(actionInfo.FormatParams);
         }
         else
         {
             if (actionInfo.JoystickText != null)
             {
                 notification.Text = actionInfo.JoystickText.Value;
             }
             if (actionInfo.JoystickFormatParams != null)
             {
                 notification.SetTextFormatArguments(actionInfo.JoystickFormatParams);
             }
         }
     }
 }
示例#7
0
            public ImmutableAttachmentInfo(MyObjectBuilder_EquiPlayerAttachmentComponentDefinition ob)
            {
                Name = LegacyAttachmentName;
                // ReSharper disable once PossibleInvalidOperationException
                Anchor      = ob.Anchor.Value;
                _animations = ob.Animations != null && ob.Animations.Length > 0 ? ob.Animations.Select(x => new AnimationDesc(x)).ToArray() : null;

                EmptyActionDesc    = (MyActionDescription)ob.EmptyAction;
                OccupiedActionDesc = (MyActionDescription)ob.OccupiedAction;
                _dummyNames.Clear();
                if (ob.DummyNames == null)
                {
                    return;
                }
                foreach (var d in ob.DummyNames)
                {
                    if (!string.IsNullOrWhiteSpace(d))
                    {
                        _dummyNames.Add(d);
                    }
                }

                EffectOperations = new List <ImmutableEffectOperations>();
            }