private static void DrawResourcesWarning(Rect position, SerializedProperty property, ref int line) { var subfolder = PhotonSyncManager.GetResourcesSubfolder(property.GetParent().GetType()); if (property.IsInResourcesFolder(subfolder)) { return; } EditorGUI.HelpBox(position.GetLines(line, 2), PhotonSync.WARNING_ASSET_NOT_IN_RESOURCES_FOLDER(subfolder), MessageType.Error); line += 2; }
/// <summary> /// Sends an event with the given sync settings. /// </summary> /// <param name="settings">This defines sync settings</param> /// <param name="eventCode"></param> /// <param name="name">The name of the ScriptableObject. It is used to Load the Resource at the remote.</param> /// <param name="keyID">This is used to identify instanced Objects.</param> public static void SendEvent(PhotonSync settings, byte eventCode, string name, int keyID) { if (!settings.PUNSync || !PhotonNetwork.inRoom || settings.MuteNetworkBroadcasting) { return; } var raiseEventOptions = new RaiseEventOptions() { CachingOption = settings.cachingOptions, Receivers = ReceiverGroup.Others }; var content = new object[] { name, keyID, }; PhotonNetwork.RaiseEvent(eventCode, content, true, raiseEventOptions); }
/// <summary> /// Sends a parameter event with the given sync settings. /// </summary> /// <param name="settings"></param> /// <param name="name"></param> /// <param name="keyID"></param> /// <param name="parameter"></param> /// <typeparam name="T"></typeparam> public static void SendEventParam <T>(PhotonSync settings, string name, int keyID, T parameter) { if (!settings.PUNSync || !PhotonNetwork.inRoom || settings.MuteNetworkBroadcasting) { return; } var raiseEventOptions = new RaiseEventOptions() { CachingOption = settings.cachingOptions, Receivers = ReceiverGroup.Others }; var content = new object[] { name, keyID, parameter }; PhotonNetwork.RaiseEvent(TypeToCode(typeof(T)), content, true, raiseEventOptions); }