Skip to content

Commit

Permalink
Merge branch 'main' into feature/pure-openxr
Browse files Browse the repository at this point in the history
# Conflicts:
#	Assets/Plugins/Android/AndroidManifest.xml
#	Assets/Scripts/GUI/LightingPopUpWindow.cs
#	Assets/Scripts/Multiplayer/MultiplayerManager.cs
  • Loading branch information
github-bot committed Jan 23, 2025
2 parents dad9c0f + 176dcf4 commit ff72d91
Show file tree
Hide file tree
Showing 104 changed files with 16,483 additions and 1,666 deletions.
9 changes: 7 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ jobs:
with:
token: ${{ env.PHOTON_PAT }}
repository: icosa-mirror/photon-fusion
ref: v1.1.8
ref: Fusion_v2_Voice_2
path: photon-fusion-mirror/

- name: Copy photon files
Expand Down Expand Up @@ -378,6 +378,11 @@ jobs:
run: |
sed -e 's/androidUseCustomKeystore.*$/androidUseCustomKeystore: 1/' -i ProjectSettings/ProjectSettings.asset
- name: Add PHOTON_PAT specific define
if: ${{ env.PHOTON_PAT }}
run: |
echo -e "\n -define:MP_PHOTON \n -define:PHOTON_UNITY_NETWORKING \n-define:PUN_2_0_OR_NEWER \n-define:PUN_2_OR_NEWER \n-define:PUN_2_19_OR_NEWER \n-define:FUSION_WEAVER \n-define:FUSION2 \n-define:CROSS_PLATFORM_INPUT \n-define:MOBILE_INPUT \n-define:PHOTON_VOICE_DEFINED" | tee -a Assets/csc.rsp
- name: Update build matrix specific defines in csc.rsp
if: ${{ matrix.extra_defines }}
run: |
Expand Down Expand Up @@ -462,7 +467,7 @@ jobs:
du -mcsh Library/*
find Library -size +50M -exec ls -altrh {} \;
# chown all files, since some are owned by root after the docker run
docker run -v $(pwd)/Library:/mnt alpine chown $(id -u).$(id -g) -R /mnt/
docker run -v $(pwd)/Library:/mnt alpine chown $(id -u):$(id -g) -R /mnt/
# Print the files to be deleted
find Library/Bee/ -name 'symbols.zip' -or -name 'libil2cpp*.so' -or -name 'launcher-release.apk' | tee todelete.txt
cat todelete.txt | xargs -r rm
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@
/Assets/Photon/**
/Assets/Photon.meta
!/Assets/Photon/Fusion/Resources/NetworkProjectConfig.fusion*
!/Assets/Photon/Fusion/Resources/PhotonAppSettings.asset*
!/Assets/Photon/Fusion/User/NetworkPrefabAssetCollection.asset*

# Cache files
*.cache
4 changes: 2 additions & 2 deletions Assets/Editor/BuildTiltBrush.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1376,7 +1376,7 @@ static void ShowBrushExportTextures()
using (var unused = new TempHookUpSingletons())
{
// Set consultUserConfig = false to keep user config from affecting the build output.
TiltBrushManifest manifest = App.Instance.GetMergedManifest(forceExperimental: true);
TiltBrushManifest manifest = App.Instance.ManifestFull;

StringBuilder s = new StringBuilder();
foreach (BrushDescriptor desc in manifest.UniqueBrushes())
Expand Down Expand Up @@ -1488,7 +1488,7 @@ public static void DoBuild(TiltBuildOptions tiltOptions)
// to be run at build-time (ie when nobody has called Start(), Awake()).
// TempHookupSingletons() has done just enough initialization to make it happy.
// Also set consultUserConfig = false to keep user config from affecting the build output.
TiltBrushManifest manifest = App.Instance.GetMergedManifest(forceExperimental: true);
TiltBrushManifest manifest = App.Instance.ManifestFull;

// Some sanity checks
{
Expand Down
189 changes: 189 additions & 0 deletions Assets/Editor/MultiplayerManagerEditor.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
// MultiplayerManagerInspector.cs
using UnityEditor;
using UnityEngine;
using OpenBrush.Multiplayer;
using System.Threading.Tasks;
using System.ComponentModel.Composition;

#if UNITY_EDITOR
[CustomEditor(typeof(MultiplayerManager))]
public class MultiplayerManagerInspector : Editor
{
private MultiplayerManager multiplayerManager;
private string roomName = "1234";
private bool isPrivate = false;
private int maxPlayers = 4;
private bool voiceDisabled = false;

public override void OnInspectorGUI()
{
multiplayerManager = (MultiplayerManager)target;

DrawDefaultInspector();

GUILayout.Space(10);
EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
GUILayout.Space(10);

roomName = EditorGUILayout.TextField("Room Name", roomName);

//State
string connectionState = "";
if (multiplayerManager != null) connectionState = multiplayerManager.State.ToString();
else connectionState = "Not Assigned";

GUILayout.Space(10);
EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
EditorGUILayout.BeginHorizontal();
GUILayout.Label("Connection State: ", EditorStyles.boldLabel);
EditorGUILayout.LabelField($"{connectionState}");
EditorGUILayout.EndHorizontal();
GUILayout.Space(5);

if (GUILayout.Button("Connect"))
{
ConnectToLobby();
EditorUtility.SetDirty(target);
}


if (GUILayout.Button("Join Room"))
{
ConnectToRoom();
EditorUtility.SetDirty(target);
}


if (GUILayout.Button("Exit Room"))
{
DisconnectFromRoom();
EditorUtility.SetDirty(target);
}


if (GUILayout.Button("Disconnect"))
{
Disconnect();
EditorUtility.SetDirty(target);
}

if (GUILayout.Button("Refresh Room List"))
{
CheckIfRoomExists();
EditorUtility.SetDirty(target);
}

//Local Player Id
string localPlayerId = "";
if (multiplayerManager.m_LocalPlayer != null) localPlayerId = multiplayerManager.m_LocalPlayer.PlayerId.ToString();
else localPlayerId = "Not Assigned";

GUILayout.Space(10);
EditorGUILayout.LabelField("", GUI.skin.horizontalSlider);
EditorGUILayout.BeginHorizontal();
GUILayout.Label("Local Player ID: ", EditorStyles.boldLabel);
EditorGUILayout.LabelField($"{localPlayerId}");
EditorGUILayout.EndHorizontal();

//Room Ownership
string ownership = "";
if (multiplayerManager != null && multiplayerManager.IsUserRoomOwner()) ownership = "Yes";
else if (multiplayerManager != null && !multiplayerManager.IsUserRoomOwner()) ownership = "No";
else ownership = "Not Assigned";

EditorGUILayout.BeginHorizontal();
GUILayout.Label("Is Local Player Room Owner:", EditorStyles.boldLabel);
EditorGUILayout.LabelField($"{ownership}");
EditorGUILayout.EndHorizontal();

//Remote Users
string remoteUsersRegistered = "";
if (multiplayerManager.m_RemotePlayers != null && multiplayerManager.m_RemotePlayers.Count > 0)
{
remoteUsersRegistered = "UserIds:[ ";
foreach (var remotePlayer in multiplayerManager.m_RemotePlayers)
{
remoteUsersRegistered += remotePlayer.PlayerId.ToString() + ",";
}
remoteUsersRegistered += "]";
}
else remoteUsersRegistered = "Not Assigned";

//Registered remote players

EditorGUILayout.BeginHorizontal();
GUILayout.Label("Registered Remote Players IDs:", EditorStyles.boldLabel);
EditorGUILayout.LabelField($"{remoteUsersRegistered}");
EditorGUILayout.EndHorizontal();

// Display and edit Nickname
GUILayout.Space(10);
EditorGUILayout.LabelField("Nickname", GUI.skin.horizontalSlider);
string currentNickname = multiplayerManager.UserInfo.Nickname;
GUILayout.Label("Nickname", EditorStyles.boldLabel);
string newNickname = EditorGUILayout.TextField("Edit Nickname", currentNickname);
if (newNickname != currentNickname)
{
ConnectionUserInfo updatedUserInfo = multiplayerManager.UserInfo;
updatedUserInfo.Nickname = newNickname;
multiplayerManager.UserInfo = updatedUserInfo;
EditorUtility.SetDirty(target); // Mark the target as dirty to apply changes
}


Repaint();

}

private async void ConnectToLobby()
{
if (multiplayerManager != null)
{
bool success = await multiplayerManager.Connect();
}
}

private async void ConnectToRoom()
{
if (multiplayerManager != null)
{
RoomCreateData roomData = new RoomCreateData
{
roomName = roomName,
@private = isPrivate,
maxPlayers = maxPlayers,
voiceDisabled = voiceDisabled
};

bool success = await multiplayerManager.JoinRoom(roomData);

}
}

private async void DisconnectFromRoom()
{
if (multiplayerManager != null)
{
bool success = await multiplayerManager.LeaveRoom();

}
}

private async void Disconnect()
{
if (multiplayerManager != null)
{
bool success = await multiplayerManager.Disconnect();

}
}

private void CheckIfRoomExists()
{
if (multiplayerManager != null)
{
bool roomExists = multiplayerManager.DoesRoomNameExist(roomName);
}
}
}
#endif
11 changes: 11 additions & 0 deletions Assets/Editor/MultiplayerManagerEditor.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 10 additions & 2 deletions Assets/OculusMR/OculusMRController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,19 @@ public async void StartMRExperience(bool isHosting)
{
await m_SpatialAnchorManager.CreateSpatialAnchor();
m_SpatialAnchorManager.SceneLocalizeToAnchor();
MultiplayerManager.m_Instance.Connect();
MultiplayerManager.m_Instance.JoinRoom(new RoomCreateData()
{
roomName = "OculusMRRoom",
maxPlayers = 12
});
}
else
{
MultiplayerManager.m_Instance.Connect();
MultiplayerManager.m_Instance.JoinRoom(new RoomCreateData()
{
roomName = "OculusMRRoom",
maxPlayers = 12
});
}
}

Expand Down
Loading

0 comments on commit ff72d91

Please sign in to comment.