public static void CheckAccessType(InstanceAccessType accessType) { switch (accessType) { case InstanceAccessType.Public: SetCloning(PublicCloningSetting.Value); break; case InstanceAccessType.FriendsOfGuests: SetCloning(FriendsPlusCloningSetting.Value); break; case InstanceAccessType.FriendsOnly: SetCloning(FriendsCloningSetting.Value); break; case InstanceAccessType.InvitePlus: SetCloning(InvitePlusCloningSetting.Value); break; case InstanceAccessType.InviteOnly: SetCloning(InviteCloningSetting.Value); break; } }
public static void OnInstanceChange(ApiWorld world, ApiWorldInstance instance) { if (instance != null) { currentAccessType = instance.type; } }
public static void HandleInvite(Notification notification) { currentNotification = notification; worldId = notification.details["worldId"].ToString().Split(':')[0]; // hmm it gets sent but it's not included when accepting an invite..... if (notification.details.ContainsKey("instanceId")) { string[] instanceIdDetails = notification.details["instanceId"].ToString().Split(':'); instanceIdWithTags = instanceIdDetails.Length > 0 ? instanceIdDetails[1] : instanceIdDetails[0]; } else { instanceIdWithTags = notification.details["worldId"].ToString().Split(':')[1]; } InstanceAccessType accessType = Utilities.GetAccessType(instanceIdWithTags); Utilities.InstanceRegion region = Utilities.GetInstanceRegion(instanceIdWithTags); var worldName = notification.details["worldName"].ToString(); string instanceType = Utilities.GetAccessName(accessType); switch (accessType) { case InstanceAccessType.Public: case InstanceAccessType.FriendsOfGuests: case InstanceAccessType.InvitePlus: Utilities.ShowPopupWindow( Localization.GetTitle(notification.senderUsername, worldName, instanceType, Utilities.RegionToName(region)), Localization.GetPublicPopup(notification.senderUsername, worldName, instanceType, Utilities.RegionToName(region)), Localization.GetJoinButton(), JoinYourself, Localization.GetDropPortalButton(), DropPortal); break; case InstanceAccessType.FriendsOnly: case InstanceAccessType.InviteOnly: Utilities.ShowPopupWindow( Localization.GetTitle(notification.senderUsername, worldName, instanceType, Utilities.RegionToName(region)), Localization.GetPrivatePopup(notification.senderUsername, worldName, instanceType, Utilities.RegionToName(region)), Localization.GetJoinButton(), JoinYourself); break; default: Utilities.ShowAlert("Error Getting AccessType", "Did you accept a message?"); break; } }
public WorldInstanceCache(ApiWorldInstance instance) { InstanceId = instance.instanceId; OwnerId = instance.ownerId; AccessType = instance.type; }