Exemple #1
0
        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;
            }
        }
Exemple #2
0
 public static void OnInstanceChange(ApiWorld world, ApiWorldInstance instance)
 {
     if (instance != null)
     {
         currentAccessType = instance.type;
     }
 }
Exemple #3
0
        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;
 }