Skip to content
This repository has been archived by the owner on Jan 24, 2023. It is now read-only.

Commit

Permalink
Always allow risky functions in Friends, Invite+ and Invite only worlds.
Browse files Browse the repository at this point in the history
  • Loading branch information
RequiDev committed Jun 11, 2022
1 parent d0207cf commit 003fd15
Showing 1 changed file with 24 additions and 12 deletions.
36 changes: 24 additions & 12 deletions ReModCE/Managers/RiskyFunctionsManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using ReMod.Core;
using UnityEngine;
using UnityEngine.SceneManagement;
using VRC.Core;

namespace ReModCE.Managers
{
Expand Down Expand Up @@ -42,24 +43,35 @@ public override void OnSceneWasInitialized(int buildIndex, string sceneName)
private IEnumerator CheckWorld()
{
while (RoomManager.field_Internal_Static_ApiWorld_0 == null) yield return new WaitForEndOfFrame();

var apiWorld = RoomManager.field_Internal_Static_ApiWorld_0;
var apiWorldInstance = RoomManager.field_Internal_Static_ApiWorldInstance_0;

var worldName = apiWorld.name.ToLower();
var tags = new List<string>();
foreach (var tag in apiWorld.tags)
bool riskyFunctionAllowed;
if (apiWorldInstance.type <= InstanceAccessType.FriendsOfGuests)
{
tags.Add(tag.ToLower());
}
var worldName = apiWorld.name.ToLower();
var tags = new List<string>();
foreach (var tag in apiWorld.tags)
{
tags.Add(tag.ToLower());
}

var hasBlacklistedTag = _blacklistedTags.Any(tag => tags.Contains(tag));
var riskyFunctionAllowed = !worldName.Contains("club") && !worldName.Contains("game") && !hasBlacklistedTag;
var hasBlacklistedTag = _blacklistedTags.Any(tag => tags.Contains(tag));
riskyFunctionAllowed =
!worldName.Contains("club") && !worldName.Contains("game") && !hasBlacklistedTag;

var rootGameObjects = SceneManager.GetActiveScene().GetRootGameObjects();
if (rootGameObjects.Any(go => go.name is "eVRCRiskFuncDisable" or "UniversalRiskyFuncDisable"))
{
riskyFunctionAllowed = false;
var rootGameObjects = SceneManager.GetActiveScene().GetRootGameObjects();
if (rootGameObjects.Any(go => go.name is "eVRCRiskFuncDisable" or "UniversalRiskyFuncDisable"))
{
riskyFunctionAllowed = false;
}
else if (rootGameObjects.Any(go => go.name is "eVRCRiskFuncEnable" or "UniversalRiskyFuncEnable"))
{
riskyFunctionAllowed = true;
}
}
else if (rootGameObjects.Any(go => go.name is "eVRCRiskFuncEnable" or "UniversalRiskyFuncEnable"))
else
{
riskyFunctionAllowed = true;
}
Expand Down

0 comments on commit 003fd15

Please sign in to comment.