void IExamine.Examine(FormattedMessage message, bool inDetailsRange)
        {
            if (Appearance == null)
            {
                return;
            }

            if (inDetailsRange)
            {
                if (Appearance.TryGetData(MorgueVisuals.HasSoul, out bool hasSoul) && hasSoul)
                {
                    message.AddMarkup(Loc.GetString("The content light is [color=green]green[/color], this body might still be saved!"));
                }
                else if (Appearance.TryGetData(MorgueVisuals.HasMob, out bool hasMob) && hasMob)
                {
                    message.AddMarkup(Loc.GetString("The content light is [color=red]red[/color], there's a dead body in here! Oh wait..."));
                }
                else if (Appearance.TryGetData(MorgueVisuals.HasContents, out bool hasContents) && hasContents)
                {
                    message.AddMarkup(Loc.GetString("The content light is [color=yellow]yellow[/color], there's something in here."));
                }
                else
                {
                    message.AddMarkup(Loc.GetString("The content light is off, there's nothing in here."));
                }
            }
        }
        public void Examine(FormattedMessage message, bool inDetailsRange)
        {
            if (!ShowExamineInfo || !inDetailsRange)
            {
                return;
            }

            var dead =
                Owner.TryGetComponent <IMobStateComponent>(out var state) &&
                state.IsDead();

            if (!HasMind)
            {
                var aliveText =
                    $"[color=purple]{Loc.GetString("comp-mind-examined-catatonic", ("ent", Owner))}[/color]";
                var deadText = $"[color=red]{Loc.GetString("comp-mind-examined-dead", ("ent", Owner))}[/color]";

                message.AddMarkup(dead ? deadText : aliveText);
            }
            else if (Mind?.Session == null)
            {
                if (dead)
                {
                    return;
                }

                var text =
                    $"[color=yellow]{Loc.GetString("comp-mind-examined-ssd", ("ent", Owner))}[/color]";

                message.AddMarkup(text);
            }
        }
        void IExamine.Examine(FormattedMessage message, bool inDetailsRange)
        {
            if (Appearance == null)
            {
                return;
            }

            if (inDetailsRange)
            {
                if (Appearance.TryGetData(MorgueVisuals.HasSoul, out bool hasSoul) && hasSoul)
                {
                    message.AddMarkup(Loc.GetString("morgue-entity-storage-component-on-examine-details-body-has-soul"));
                }
                else if (Appearance.TryGetData(MorgueVisuals.HasMob, out bool hasMob) && hasMob)
                {
                    message.AddMarkup(Loc.GetString("morgue-entity-storage-component-on-examine-details-body-has-no-soul"));
                }
                else if (Appearance.TryGetData(MorgueVisuals.HasContents, out bool hasContents) && hasContents)
                {
                    message.AddMarkup(Loc.GetString("morgue-entity-storage-component-on-examine-details-has-contents"));
                }
                else
                {
                    message.AddMarkup(Loc.GetString("morgue-entity-storage-component-on-examine-details-empty"));
                }
            }
        }
Esempio n. 4
0
        public void Examine(FormattedMessage message, bool inDetailsRange)
        {
            if (!ShowExamineInfo || !inDetailsRange)
            {
                return;
            }

            var dead =
                Owner.TryGetComponent <IMobStateComponent>(out var state) &&
                state.IsDead();

            if (!HasMind)
            {
                var aliveText =
                    $"[color=red]{Loc.GetString("{0:They} {0:are} totally catatonic. The stresses of life in deep-space must have been too much for {0:them}. Any recovery is unlikely.", Owner)}[/color]";
                var deadText = $"[color=purple]{Loc.GetString("{0:Their} soul has departed.", Owner)}[/color]";

                message.AddMarkup(dead ? deadText : aliveText);
            }
            else if (Mind?.Session == null)
            {
                if (dead)
                {
                    return;
                }

                var text =
                    $"[color=yellow]{Loc.GetString("{0:They} {0:have} a blank, absent-minded stare and appears completely unresponsive to anything. {0:They} may snap out of it soon.", Owner)}[/color]";

                message.AddMarkup(text);
            }
        }
Esempio n. 5
0
        public void Examine(FormattedMessage message, bool inDetailsRange)
        {
            if (!inDetailsRange)
            {
                return;
            }

            if (Seed == null)
            {
                message.AddMarkup(Loc.GetString("It doesn't seem to contain any seeds.\n"));
                return;
            }

            message.AddMarkup(Loc.GetString($"It has a picture of [color=yellow]{Seed.DisplayName}[/color] on the front.\n"));

            if (!Seed.RoundStart)
            {
                message.AddMarkup(Loc.GetString($"It's tagged as variety [color=lightgray]no. {Seed.Uid}[/color].\n"));
            }
            else
            {
                message.AddMarkup(Loc.GetString($"Plant Yield:    [color=lightblue]{Seed.Yield}[/color]\n"));
                message.AddMarkup(Loc.GetString($"Plant Potency: [color=lightblue]{Seed.Potency}[/color]\n"));
            }
        }
        public bool DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent <MachineFrameComponent>(out var machineFrame))
            {
                return(false);
            }

            if (!machineFrame.HasBoard)
            {
                message.AddMarkup(Loc.GetString("Insert [color=cyan]any machine circuit board[/color]."));
                return(true);
            }

            if (machineFrame.IsComplete)
            {
                return(false);
            }

            message.AddMarkup(Loc.GetString("Requires:\n"));
            foreach (var(part, required) in machineFrame.Requirements)
            {
                var amount = required - machineFrame.Progress[part];

                if (amount == 0)
                {
                    continue;
                }

                message.AddMarkup(Loc.GetString("[color=yellow]{0}x[/color] [color=green]{1}[/color]\n", amount, Loc.GetString(part.ToString())));
            }

            foreach (var(material, required) in machineFrame.MaterialRequirements)
            {
                var amount = required - machineFrame.MaterialProgress[material];

                if (amount == 0)
                {
                    continue;
                }

                message.AddMarkup(Loc.GetString("[color=yellow]{0}x[/color] [color=green]{1}[/color]\n", amount, Loc.GetString(material.ToString())));
            }

            foreach (var(compName, info) in machineFrame.ComponentRequirements)
            {
                var amount = info.Amount - machineFrame.ComponentProgress[compName];

                if (amount == 0)
                {
                    continue;
                }

                message.AddMarkup(Loc.GetString("[color=yellow]{0}x[/color] [color=green]{1}[/color]\n", info.Amount, Loc.GetString(info.ExamineName)));
            }

            return(true);
        }
Esempio n. 7
0
 public void Examine(FormattedMessage message, bool inDetailsRange)
 {
     message.AddMarkup(Loc.GetString("Pressure: [color=orange]{0}[/color] kPa.\n",
                                     Math.Round(Air?.Pressure ?? 0)));
     if (IsConnected)
     {
         message.AddMarkup(Loc.GetString("Connected to external component"));
     }
 }
        public override void DoExamine(FormattedMessage message, bool inDetailsRange)
        {
            if (!string.IsNullOrEmpty(ExamineOverride))
            {
                message.AddMarkup(Loc.GetString(ExamineOverride));
                return;
            }

            message.AddMarkup(Loc.GetString($"Next, use a [color=cyan]{Tool.GetToolName()}[/color]."));
        }
 void IExamine.Examine(FormattedMessage message, bool inDetailsRange)
 {
     if (Activated)
     {
         message.AddMarkup(Loc.GetString("handheld-light-component-on-examine-is-on-message"));
     }
     else
     {
         message.AddMarkup(Loc.GetString("handheld-light-component-on-examine-is-off-message"));
     }
 }
        public override void Examine(FormattedMessage message, bool inDetailsRange)
        {
            base.Examine(message, inDetailsRange);

            message.AddMarkup(Loc.GetString("\nIt uses [color=white]{0}[/color] ammo.", Caliber));

            foreach (var magazineType in GetMagazineTypes())
            {
                message.AddMarkup(Loc.GetString("\nIt accepts [color=white]{0}[/color] magazines.", magazineType));
            }
        }
 void IExamine.Examine(FormattedMessage message, bool inDetailsRange)
 {
     if (Activated)
     {
         message.AddMarkup(Loc.GetString("The light is currently [color=darkgreen]on[/color]."));
     }
     else
     {
         message.AddMarkup(Loc.GetString("The light is currently [color=darkred]off[/color]."));
     }
 }
 void IExamine.Examine(FormattedMessage message, bool inDetailsRange)
 {
     if (inDetailsRange)
     {
         message.AddMarkup(Loc.GetString($"The charge indicator reads {CurrentCharge / MaxCharge * 100:F0} %."));
     }
 }
Esempio n. 13
0
 void IExamine.Examine(FormattedMessage message, bool inDetailsRange)
 {
     //No details check, since the sprite updates to show the side.
     message.AddMarkup(Loc.GetString(
                           "A dice with [color=lightgray]{0}[/color] sides.\n" + "It has landed on a [color=white]{1}[/color].",
                           _sides, _currentSide));
 }
Esempio n. 14
0
        void IExamine.Examine(FormattedMessage message)
        {
            var loc = IoCManager.Resolve <ILocalizationManager>();

            message.AddMarkup(loc.GetString("A dice with [color=lightgray]{0}[/color] sides.\n" +
                                            "It has landed on a [color=white]{1}[/color].", _sides, _currentSide));
        }
Esempio n. 15
0
        public void DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent(out ServerDoorComponent doorComponent))
            {
                return;
            }

            if (doorComponent.State == ServerDoorComponent.DoorState.Closed && Welded)
            {
                message.AddMarkup(Loc.GetString("First, weld the door.\n"));
            }
            else if (doorComponent.IsWeldedShut && !Welded)
            {
                message.AddMarkup(Loc.GetString("First, unweld the door.\n"));
            }
        }
Esempio n. 16
0
        public void ReceiveLine(string text)
        {
            var formatted = new FormattedMessage(1);

            formatted.AddMarkup(text);
            TextOutput.AddMessage(formatted);
        }
Esempio n. 17
0
        public void DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent(out IPhysicsComponent physics))
            {
                return;
            }

            if (Anchored && !physics.Anchored)
            {
                message.AddMarkup("First, anchor it.\n");
            }

            if (!Anchored && physics.Anchored)
            {
                message.AddMarkup("First, unanchor it.\n");
            }
        }
        public void DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent(out ICollidableComponent collidable))
            {
                return;
            }

            if (Anchored && !collidable.Anchored)
            {
                message.AddMarkup("First, anchor it.\n");
            }

            if (!Anchored && collidable.Anchored)
            {
                message.AddMarkup("First, unanchor it.\n");
            }
        }
        public void DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent(out WiresComponent wires))
            {
                return;
            }

            if (Open && !wires.IsPanelOpen)
            {
                message.AddMarkup(Loc.GetString("First, open the maintenance panel.\n"));
            }

            if (!Open && wires.IsPanelOpen)
            {
                message.AddMarkup(Loc.GetString("First, close the maintenance panel.\n"));
            }
        }
Esempio n. 20
0
 public void Examine(FormattedMessage message, bool inDetailsRange)
 {
     message.AddMarkup(Loc.GetString("gas-tank-examine", ("pressure", Math.Round(Air?.Pressure ?? 0))));
     if (IsConnected)
     {
         message.AddMarkup(Loc.GetString("gas-tank-connected"));
     }
 }
Esempio n. 21
0
        public void Examine(FormattedMessage message, bool inDetailsRange)
        {
            message.AddMarkup(Loc.GetString("Requires:\n"));
            foreach (var(part, amount) in Requirements)
            {
                message.AddMarkup(Loc.GetString("[color=yellow]{0}x[/color] [color=green]{1}[/color]\n", amount, Loc.GetString(part.ToString())));
            }

            foreach (var(material, amount) in MaterialRequirements)
            {
                message.AddMarkup(Loc.GetString("[color=yellow]{0}x[/color] [color=green]{1}[/color]\n", amount, Loc.GetString(material.ToString())));
            }

            foreach (var(_, info) in ComponentRequirements)
            {
                message.AddMarkup(Loc.GetString("[color=yellow]{0}x[/color] [color=green]{1}[/color]\n", info.Amount, Loc.GetString(info.ExamineName)));
            }
        }
Esempio n. 22
0
        public void Examine(FormattedMessage message)
        {
            var loc = IoCManager.Resolve <ILocalizationManager>();

            if (Activated)
            {
                message.AddMarkup(loc.GetString("The light is currently [color=darkgreen]on[/color]."));
            }
        }
Esempio n. 23
0
        public void Examine(FormattedMessage message, bool inDetailsRange)
        {
            if (!inDetailsRange)
            {
                return;
            }

            message.AddMarkup(_content);
        }
        public override void DoExamine(FormattedMessage message, bool inDetailsRange)
        {
            if (!string.IsNullOrEmpty(ExamineOverride))
            {
                message.AddMarkup(Loc.GetString(ExamineOverride));
                return;
            }

            message.AddMarkup(Loc.GetString("construction-use-tool-entity", ("toolName", Tool.GetToolName())));
        }
 public void Examine(FormattedMessage message, bool inDetailsRange)
 {
     if (inDetailsRange && LidOpen)
     {
         if (_secretStash.HasItemInside())
         {
             message.AddMarkup(Loc.GetString("toilet-component-on-examine-found-hidden-item"));
         }
     }
 }
Esempio n. 26
0
        public void Populate(SharedPaperComponent.PaperBoundUserInterfaceState state)
        {
            if (state.Mode == SharedPaperComponent.PaperAction.Write)
            {
                Input.Visible = true;
            }
            var msg = new FormattedMessage();

            msg.AddMarkup(state.Text);
            _label.SetMessage(msg);
        }
        public void Examine(FormattedMessage message, bool inDetailsRange)
        {
            if (!Opened || !inDetailsRange)
            {
                return;
            }
            var color      = Empty ? "gray" : "yellow";
            var openedText = Loc.GetString(Empty ? "Empty" : "Opened");

            message.AddMarkup(Loc.GetString("[color={0}]{1}[/color]", color, openedText));
        }
Esempio n. 28
0
        public bool DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent(out WiresComponent? wires))
            {
                return(false);
            }

            switch (Open)
            {
            case true when !wires.IsPanelOpen:
                message.AddMarkup(Loc.GetString("construction-condition-wire-panel-open") + "\n");
                return(true);

            case false when wires.IsPanelOpen:
                message.AddMarkup(Loc.GetString("construction-condition-wire-panel-close") + "\n");
                return(true);
            }

            return(false);
        }
Esempio n. 29
0
        public bool DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent(out IPhysicsComponent physics))
            {
                return(false);
            }

            switch (Anchored)
            {
            case true when !physics.Anchored:
                message.AddMarkup("First, anchor it.\n");
                return(true);

            case false when physics.Anchored:
                message.AddMarkup("First, unanchor it.\n");
                return(true);
            }

            return(false);
        }
Esempio n. 30
0
        public bool DoExamine(IEntity entity, FormattedMessage message, bool inDetailsRange)
        {
            if (!entity.TryGetComponent(out WiresComponent? wires))
            {
                return(false);
            }

            switch (Open)
            {
            case true when !wires.IsPanelOpen:
                message.AddMarkup(Loc.GetString("First, open the maintenance panel.\n"));
                return(true);

            case false when wires.IsPanelOpen:
                message.AddMarkup(Loc.GetString("First, close the maintenance panel.\n"));
                return(true);
            }

            return(false);
        }