예제 #1
0
        static string GetStateKey(TargetStateTarget target, string key, ItemId itemId)
        {
            switch (target)
            {
            case TargetStateTarget.Item: return(RoomStateKey.GetItemKey(itemId.Value, key));

            case TargetStateTarget.Player: return(RoomStateKey.GetPlayerKey(key));

            case TargetStateTarget.Global: return(RoomStateKey.GetGlobalKey(key));

            default: throw new NotImplementedException();
            }
        }
예제 #2
0
        public override string FormatTargetStateTarget(TargetStateTarget target)
        {
            switch (target)
            {
            case TargetStateTarget.Item:
                return("This");

            case TargetStateTarget.Player:
                return("Owner");

            default:
                return(target.ToString());
            }
        }
예제 #3
0
        public static Target Convert(TargetStateTarget target)
        {
            switch (target)
            {
            case TargetStateTarget.Item:
                return(Target.Item);

            case TargetStateTarget.Player:
                return(Target.Player);

            case TargetStateTarget.Global:
                return(Target.Global);

            default:
                throw new ArgumentOutOfRangeException(nameof(target), target, null);
            }
        }
예제 #4
0
 public static TriggerTarget ToTriggerTarget(this TargetStateTarget targetStateTarget)
 => _TargetStateTargetToTriggerTarget.TryGetValue(targetStateTarget, out var res) ? res : default;
예제 #5
0
 public virtual string FormatTargetStateTarget(TargetStateTarget target)
 {
     return(target.ToString());
 }
예제 #6
0
 public TargetState(TargetStateTarget target, string key, ParameterType parameterType)
 {
     Target        = target;
     Key           = key;
     ParameterType = parameterType;
 }