This repository has been archived by the owner on Jan 24, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathModComponent.cs
71 lines (64 loc) · 3.39 KB
/
ModComponent.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using ExitGames.Client.Photon;
using HarmonyLib;
using MelonLoader;
using Photon.Pun;
using Photon.Realtime;
using ReMod.Core.Managers;
using System;
using System.Reflection;
using VRC.Core;
using VRC.DataModel;
using VRC.SDKBase;
using Player = VRC.Player;
namespace ReMod.Core
{
public class ComponentDisabled : Attribute
{
}
public class ComponentPriority : Attribute
{
public int Priority;
public ComponentPriority(int priority = 0) => Priority = priority;
}
public class ModComponent
{
public bool Enabled { get; set; } = true;
public virtual void OnUiManagerInitEarly(){}
public virtual void OnUiManagerInit(UiManager uiManager){}
public virtual void OnFixedUpdate(){}
public virtual void OnUpdate(){}
public virtual void OnLateUpdate(){}
public virtual void OnGUI(){}
public virtual void OnSceneWasLoaded(int buildIndex, string sceneName){}
public virtual void OnSceneWasInitialized(int buildIndex, string sceneName){}
public virtual void OnApplicationQuit(){}
public virtual void OnPreferencesSaved(){}
public virtual void OnPreferencesLoaded(){ }
public virtual void OnPhotonPlayerJoined(int actorNr, Il2CppSystem.Collections.Hashtable propertiesTable) { }
public virtual void OnPhotonPlayerLeft(int actorNr, Photon.Realtime.Player player) { }
public virtual void OnPlayerJoined(Player player){}
public virtual void OnPlayerLeft(Player player){}
public virtual void OnAvatarIsReady(VRCPlayer player){ }
public virtual void OnAvatarChanged(APIUser apiUser, ApiAvatar apiAvatar) { }
public virtual void OnEnterWorld(ApiWorld world, ApiWorldInstance instance){}
public virtual void OnSelectUser(IUser user, bool isRemote){ }
public virtual void OnSetupUserInfo(APIUser apiUser){ }
// return value determines whether it found something malicious and should block the original function
public virtual bool ExecuteEvent(Player player, VRC_EventHandler.VrcEvent evt, VRC_EventHandler.VrcBroadcastType broadcastType, int instagatorId, float fastForward) { return false; }
public virtual bool OnPhotonEvent(LoadBalancingClient loadBalancingClient, ref EventData eventData) { return false; }
public virtual bool OnDownloadAvatar(ApiAvatar apiAvatar) { return false; }
public virtual bool OnRaiseEvent(byte eventCode, ref Il2CppSystem.Object content, RaiseEventOptions raiseEventOptions, SendOptions sendOptions) { return false; }
public virtual void OnOwnershipTransferred(Photon.Realtime.Player player, PhotonView photonView, bool isMaster, bool isRequest){}
public virtual void OnBlockStateChange(Photon.Realtime.Player instigator, bool blocked){ }
public virtual void OnMuteStateChange(Photon.Realtime.Player instigator, bool muted) { }
public virtual void OnRenderObject() { }
public virtual void OnOperationResponse(LoadBalancingClient loadBalancingClient, OperationResponse operationResponse) { }
public virtual void OnJoinedRoom() { }
public virtual void OnLeftRoom() { }
public virtual void OnModulesLoaded() { }
protected HarmonyMethod GetLocalPatch(string methodName)
{
return GetType().GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Static).ToNewHarmonyMethod();
}
}
}