public static VrcId NewVrcId(VrcIdType t) { return(new VrcId { IdType = t, guid = Guid.NewGuid() }); }
public VrcId(string str) { if (str == null) { throw new ArgumentNullException(nameof(str)); } if (str == "none") { guid = Guid.Empty; IdType = VrcIdType.None; return; } if (str == "offline") { guid = Guid.Empty; IdType = VrcIdType.Offline; return; } string[] elements = str.Split('_'); if (elements.Length != 2) { if (str.Length != 10) { throw new ArgumentException("Input guid must be a valid Guid or 10 a char b64 string!"); } IdType = VrcIdType.LegacyUser; guid = new Guid(Convert.FromBase64String($"AAAAAAAAAAAA{str}==")); return; } switch (elements[0]) { case "avtr": // AvatarId IdType = VrcIdType.Avatar; break; case "usr": // UserId IdType = VrcIdType.User; break; case "wrld": // Post-2018 WorldId prefix IdType = VrcIdType.World; break; case "wld": // Pre-2018 WorldId prefix IdType = VrcIdType.LegacyWorld; break; case "unp": // UnityPackageId IdType = VrcIdType.UnityPackage; break; case "pmod": // Player moderation IdType = VrcIdType.PlayerModeration; break; case "not": // Notification IdType = VrcIdType.Not; break; case "authcookie": // Authcookie IdType = VrcIdType.AuthCookie; break; case "file": // File IdType = VrcIdType.AuthCookie; break; default: throw new ArgumentException("VrcId prefix is invalid!"); } guid = new Guid(elements[1]); }
public VrcId(VrcIdType type, string id) { IdType = type; guid = new Guid(id); }
public VrcId(VrcIdType type, Guid id) { IdType = type; guid = id; }