Files
RobustToolbox/Robust.Shared/Toolshed/Commands/Generic/AsCommand.cs
T
Leon FriedrichandGitHub 9af119f57a Toolshed Rejig (#5455)
* Toolshed Rejig

* shorten hint string

* Try fix conflicts. Ill make with work later

* bodge

* Fix ProtoIdTypeParser assert

* comment

* AllEntities

* Remove more linq from WhereCommand

* better help strings

* Add ContainsCommand

* loc strings

* Add contains command description

* Add $self variable

* Errors for writing to readonly variables

* A
2024-12-21 17:49:11 +11:00

20 lines
705 B
C#

using System;
using Robust.Shared.Toolshed.TypeParsers;
namespace Robust.Shared.Toolshed.Commands.Generic;
[ToolshedCommand]
public sealed class AsCommand : ToolshedCommand
{
private static Type[] _parsers = [typeof(TypeTypeParser)];
public override Type[] TypeParameterParsers => _parsers;
/// <summary>
/// Uses a typecast to convert a type. It does not handle implicit casts, nor explicit ones.
/// If you're thinking to extend this, you probably want to look into making a <see cref="TypeParser{T}"/>
/// </summary>
[CommandImplementation, TakesPipedTypeAsGeneric]
public TOut? As<TOut, TIn>([PipedArgument] TIn value)
=> (TOut?)(object?)value;
}