Example #1
0
 public static bool IsAnimal(this CommandArg arg, out AnimalAsset value)
 {
     if (arg.IsUInt16(out ushort id))
     {
         Asset asset = Assets.find(EAssetType.ANIMAL, id);
         if (asset == null)
         {
             value = null;
             return(false);
         }
         value = (AnimalAsset)asset;
         return(value != null);
     }
     else if (arg.IsGuid(out Guid guid))
     {
         value = AssetUtil.GetAnimalAssets().FirstOrDefault(d => d.GUID == guid);
         return(value != null);
     }
     else
     {
         string search = arg.RawValue.StartsWith("@") ? arg.RawValue.Substring(1) : arg.RawValue;
         value = AssetUtil.GetAnimalAsset(search);
         return(value != null);
     }
 }