Initialer Upload neues Unity-Projekt
This commit is contained in:
8
Assets/Oculus/Platform/Samples/EntitlementCheck.meta
Normal file
8
Assets/Oculus/Platform/Samples/EntitlementCheck.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: af712c7cd7aa47a43ab6a3422bba02a5
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,100 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using Oculus.Platform;
|
||||
using Oculus.Platform.Models;
|
||||
|
||||
namespace Oculus.Platform.Samples.EntitlementCheck
|
||||
{
|
||||
public class EntitlementCheck : MonoBehaviour
|
||||
{
|
||||
// Implements a default behavior for entitlement check failures by simply exiting the app.
|
||||
// Set to false if the app wants to provide custom logic to handle entitlement check failures.
|
||||
// For example, the app can instead display a modal dialog to the user and exit gracefully.
|
||||
public bool exitAppOnFailure = true;
|
||||
|
||||
// The app can optionally subscribe to these events to do custom entitlement check logic.
|
||||
public static event Action UserFailedEntitlementCheck;
|
||||
public static event Action UserPassedEntitlementCheck;
|
||||
|
||||
void Start()
|
||||
{
|
||||
try
|
||||
{
|
||||
// Init the Oculust Platform SDK and send an entitlement check request.
|
||||
if (!Oculus.Platform.Core.IsInitialized())
|
||||
{
|
||||
Oculus.Platform.Core.Initialize();
|
||||
}
|
||||
|
||||
Entitlements.IsUserEntitledToApplication().OnComplete(EntitlementCheckCallback);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Treat any potential initialization exceptions as an entitlement check failure.
|
||||
HandleEntitlementCheckResult(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Called when the Oculus Platform completes the async entitlement check request and a result is available.
|
||||
void EntitlementCheckCallback(Message msg)
|
||||
{
|
||||
// If the user passed the entitlement check, msg.IsError will be false.
|
||||
// If the user failed the entitlement check, msg.IsError will be true.
|
||||
HandleEntitlementCheckResult(msg.IsError == false);
|
||||
}
|
||||
|
||||
void HandleEntitlementCheckResult(bool result)
|
||||
{
|
||||
if (result) // User passed entitlement check
|
||||
{
|
||||
Debug.Log("Oculus user entitlement check successful.");
|
||||
|
||||
try
|
||||
{
|
||||
// Raise the user passed entitlement check event if the app subscribed a handler to it.
|
||||
if (UserPassedEntitlementCheck != null)
|
||||
{
|
||||
UserPassedEntitlementCheck();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Suppressing any exceptions to avoid potential exceptions in the app-provided event handler.
|
||||
Debug.LogError("Suppressed exception in app-provided UserPassedEntitlementCheck() event handler.");
|
||||
}
|
||||
}
|
||||
else // User failed entitlement check
|
||||
{
|
||||
try
|
||||
{
|
||||
// Raise the user failed entitlement check event if the app subscribed a handler to it.
|
||||
if (UserFailedEntitlementCheck != null)
|
||||
{
|
||||
UserFailedEntitlementCheck();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Suppressing any exceptions to avoid potential exceptions in the app-provided event handler.
|
||||
// Ensures the default entitlement check behavior will still execute, if enabled.
|
||||
Debug.LogError("Suppressed exception in app-provided UserFailedEntitlementCheck() event handler.");
|
||||
}
|
||||
|
||||
if (exitAppOnFailure)
|
||||
{
|
||||
// Implements a default behavior for an entitlement check failure -- log the failure and exit the app.
|
||||
Debug.LogError("Oculus user entitlement check failed. Exiting now.");
|
||||
#if UNITY_EDITOR
|
||||
UnityEditor.EditorApplication.isPlaying = false;
|
||||
#else
|
||||
UnityEngine.Application.Quit();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("Oculus user entitlement check failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 75ccf1814f335d94ab1902064233299e
|
||||
timeCreated: 1543369724
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Oculus/Platform/Samples/EntitlementCheck/Main.unity
(Stored with Git LFS)
Normal file
BIN
Assets/Oculus/Platform/Samples/EntitlementCheck/Main.unity
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9df623f348e176845a764b6c2e269451
|
||||
timeCreated: 1543369713
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/GroupPresenceSample.meta
Normal file
8
Assets/Oculus/Platform/Samples/GroupPresenceSample.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acbf00a215eae834ea596a48492bc446
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0b881d95ad5c5ae4c84f4fdd765dd60f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Oculus/Platform/Samples/GroupPresenceSample/Prefabs/Group Presence Sample.prefab
(Stored with Git LFS)
Normal file
BIN
Assets/Oculus/Platform/Samples/GroupPresenceSample/Prefabs/Group Presence Sample.prefab
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a7de3e5619aa4f94c86abdaa1aad343b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0ef25c4b7b1aede43b95eeac5a1c8717
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Oculus/Platform/Samples/GroupPresenceSample/Scenes/GroupPresenceDemo.unity
(Stored with Git LFS)
Normal file
BIN
Assets/Oculus/Platform/Samples/GroupPresenceSample/Scenes/GroupPresenceDemo.unity
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 44e30fce5a7e2fd4db7c4fedc096ccf3
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 31ecfbcb5ab27e945948d9ad4b2e316f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,477 @@
|
||||
// Uncomment this if you have the Touch controller classes in your project
|
||||
//#define USE_OVRINPUT
|
||||
|
||||
using System;
|
||||
using Oculus.Platform;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
/**
|
||||
* This class shows a very simple way to integrate setting the Group Presence
|
||||
* with a destination and how to respond to a user's app launch details that
|
||||
* include the destination they wish to travel to.
|
||||
*/
|
||||
public class GroupPresenceSample : MonoBehaviour
|
||||
{
|
||||
/**
|
||||
* Sets extra fields on the rich presence
|
||||
*/
|
||||
|
||||
// A boolean to indicate whether the destination is joinable. You can check
|
||||
// the current capacity against the max capacity to determine whether the room
|
||||
// is joinable.
|
||||
public bool IsJoinable = true;
|
||||
|
||||
// Users with the same destination + session ID are considered together by Oculus
|
||||
// Users with the same destination and different session IDs are not
|
||||
public string LobbySessionID;
|
||||
public string MatchSessionID;
|
||||
|
||||
// Users can be suggested as part of the invite flow
|
||||
public UInt64 SuggestedUserID;
|
||||
|
||||
public Text InVRConsole;
|
||||
public Text DestinationsConsole;
|
||||
|
||||
private List<string> DestinationAPINames = new List<string>();
|
||||
private ulong LoggedInUserID = 0;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
UpdateConsole("Init Oculus Platform SDK...");
|
||||
Core.AsyncInitialize().OnComplete(message => {
|
||||
if (message.IsError)
|
||||
{
|
||||
// Init failed, nothing will work
|
||||
UpdateConsole(message.GetError().Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateConsole("Init complete!");
|
||||
|
||||
/**
|
||||
* Get and cache the Logged in User ID for future queries
|
||||
*/
|
||||
Users.GetLoggedInUser().OnComplete(OnLoggedInUser);
|
||||
|
||||
/**
|
||||
* Get the list of destinations defined for this app from the developer portal
|
||||
*/
|
||||
RichPresence.GetDestinations().OnComplete(OnGetDestinations);
|
||||
|
||||
/**
|
||||
* Listen for future join intents that might come in
|
||||
*/
|
||||
GroupPresence.SetJoinIntentReceivedNotificationCallback(OnJoinIntentChangeNotif);
|
||||
|
||||
/**
|
||||
* Listen for future leave that might come in
|
||||
*/
|
||||
GroupPresence.SetLeaveIntentReceivedNotificationCallback(OnLeaveIntentChangeNotif);
|
||||
|
||||
/**
|
||||
* Listen for the list of users that the current users have invitted
|
||||
*/
|
||||
GroupPresence.SetInvitationsSentNotificationCallback(OnInviteSentNotif);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Setting the group presence
|
||||
*/
|
||||
void SetPresence()
|
||||
{
|
||||
var options = new GroupPresenceOptions();
|
||||
|
||||
options.SetDestinationApiName(DestinationAPINames[DestinationIndex]);
|
||||
|
||||
if (!string.IsNullOrEmpty(MatchSessionID))
|
||||
{
|
||||
options.SetMatchSessionId(MatchSessionID);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(LobbySessionID))
|
||||
{
|
||||
options.SetLobbySessionId(LobbySessionID);
|
||||
}
|
||||
|
||||
// Set is Joinable to let other players deeplink and join this user via the presence
|
||||
options.SetIsJoinable(IsJoinable);
|
||||
|
||||
UpdateConsole("Setting Group Presence to " + DestinationAPINames[DestinationIndex] + " ...");
|
||||
|
||||
// Here we are setting the group presence then fetching it after we successfully set it
|
||||
GroupPresence.Set(options).OnComplete(message => {
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Note that Users.GetLoggedInUser() does not do a server fetch and will
|
||||
// not get an updated presence status
|
||||
Users.Get(LoggedInUserID).OnComplete(message2 =>
|
||||
{
|
||||
if (message2.IsError)
|
||||
{
|
||||
UpdateConsole("Success! But presence is unknown!");
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateConsole("Group Presence set to:\n" + message2.Data.Presence + "\n" + message2.Data.PresenceDeeplinkMessage + "\n" + message2.Data.PresenceDestinationApiName);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Clearing the rich presence
|
||||
*/
|
||||
void ClearPresence()
|
||||
{
|
||||
UpdateConsole("Clearing Group Presence...");
|
||||
GroupPresence.Clear().OnComplete(message => {
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Clearing the rich presence then fetching the user's presence afterwards
|
||||
Users.Get(LoggedInUserID).OnComplete(message2 =>
|
||||
{
|
||||
if (message2.IsError)
|
||||
{
|
||||
UpdateConsole("Group Presence cleared! But rich presence is unknown!");
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateConsole("Group Presence cleared!\n" + message2.Data.Presence + "\n");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Launch the invite panel
|
||||
*/
|
||||
void LaunchInvitePanel()
|
||||
{
|
||||
UpdateConsole("Launching Invite Panel...");
|
||||
var options = new InviteOptions();
|
||||
if (SuggestedUserID != 0)
|
||||
{
|
||||
options.AddSuggestedUser(SuggestedUserID);
|
||||
}
|
||||
GroupPresence.LaunchInvitePanel(options).OnComplete(message =>
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Launch the roster panel
|
||||
*/
|
||||
void LaunchRosterPanel()
|
||||
{
|
||||
UpdateConsole("Launching Roster Panel...");
|
||||
var options = new RosterOptions();
|
||||
if (SuggestedUserID != 0)
|
||||
{
|
||||
options.AddSuggestedUser(SuggestedUserID);
|
||||
}
|
||||
GroupPresence.LaunchRosterPanel(options).OnComplete(message =>
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// User has interacted with a deeplink outside this app
|
||||
void OnJoinIntentChangeNotif(Message<Oculus.Platform.Models.GroupPresenceJoinIntent> message)
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
} else
|
||||
{
|
||||
var joinIntent = message.Data;
|
||||
|
||||
// The deeplink message, this should give enough info on how to go the
|
||||
// destination in the app.
|
||||
var deeplinkMessage = joinIntent.DeeplinkMessage;
|
||||
|
||||
// The API Name of the destination. You can set the user to this after
|
||||
// navigating to the app
|
||||
var destinationApiName = joinIntent.DestinationApiName;
|
||||
var matchSessionID = joinIntent.MatchSessionId;
|
||||
var lobbySessionID = joinIntent.LobbySessionId;
|
||||
|
||||
var detailsString = "-Deeplink Message:\n" + deeplinkMessage + "\n-Api Name:\n" + destinationApiName + "\n-Lobby Session Id:\n" + lobbySessionID + "\n-Match Session Id:\n" + matchSessionID;
|
||||
detailsString += "\n";
|
||||
UpdateConsole("Got updated Join Intent & setting the user's presence:\n" + detailsString);
|
||||
|
||||
var options = new GroupPresenceOptions();
|
||||
|
||||
if (!string.IsNullOrEmpty(destinationApiName))
|
||||
{
|
||||
options.SetDestinationApiName(destinationApiName);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(matchSessionID))
|
||||
{
|
||||
options.SetMatchSessionId(matchSessionID);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(lobbySessionID))
|
||||
{
|
||||
options.SetLobbySessionId(lobbySessionID);
|
||||
}
|
||||
GroupPresence.Set(options);
|
||||
}
|
||||
}
|
||||
|
||||
// User has interacted with the roster to leave the current destination / lobby / match
|
||||
void OnLeaveIntentChangeNotif(Message<Oculus.Platform.Models.GroupPresenceLeaveIntent> message)
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
} else
|
||||
{
|
||||
var leaveIntent = message.Data;
|
||||
|
||||
var destinationApiName = leaveIntent.DestinationApiName;
|
||||
MatchSessionID = leaveIntent.MatchSessionId;
|
||||
LobbySessionID = leaveIntent.LobbySessionId;
|
||||
|
||||
var detailsString = "-Api Name:\n" + destinationApiName + "\n-Lobby Session Id:\n" + LobbySessionID + "\n-Match Session Id:\n" + MatchSessionID;
|
||||
detailsString += "\n";
|
||||
UpdateConsole("Clearing presence because user wishes to leave:\n" + detailsString);
|
||||
|
||||
// User left
|
||||
GroupPresence.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
// User has invited users
|
||||
void OnInviteSentNotif(Message<Oculus.Platform.Models.LaunchInvitePanelFlowResult> message)
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
} else
|
||||
{
|
||||
var users = message.Data.InvitedUsers;
|
||||
var usersCount = users.Count;
|
||||
|
||||
var usersInvitedString = "-Users:\n";
|
||||
if (usersCount > 0)
|
||||
{
|
||||
foreach(var user in users)
|
||||
{
|
||||
usersInvitedString += user.OculusID + "\n";
|
||||
}
|
||||
} else
|
||||
{
|
||||
usersInvitedString += "none\n";
|
||||
}
|
||||
|
||||
UpdateConsole("Users sent invite to:\n" + usersInvitedString);
|
||||
}
|
||||
}
|
||||
|
||||
void OnGetDestinations(Message<Oculus.Platform.Models.DestinationList> message)
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole("Could not get the list of destinations!");
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach(Oculus.Platform.Models.Destination destination in message.Data)
|
||||
{
|
||||
DestinationAPINames.Add(destination.ApiName);
|
||||
UpdateDestinationsConsole();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region Helper Functions
|
||||
|
||||
private int DestinationIndex = 0;
|
||||
private bool OnlyPushUpOnce = false;
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
if (PressAButton())
|
||||
{
|
||||
if (DestinationAPINames.Count > 0)
|
||||
{
|
||||
SetPresence();
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateConsole("No destinations to set to!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (PressBButton())
|
||||
{
|
||||
ClearPresence();
|
||||
}
|
||||
else if (PressXButton())
|
||||
{
|
||||
LaunchInvitePanel();
|
||||
}
|
||||
else if (PressYButton())
|
||||
{
|
||||
LaunchRosterPanel();
|
||||
}
|
||||
|
||||
ScrollThroughDestinations();
|
||||
}
|
||||
|
||||
private void ScrollThroughDestinations()
|
||||
{
|
||||
if (PressUp())
|
||||
{
|
||||
if (!OnlyPushUpOnce)
|
||||
{
|
||||
DestinationIndex--;
|
||||
if (DestinationIndex < 0)
|
||||
{
|
||||
DestinationIndex = DestinationAPINames.Count - 1;
|
||||
}
|
||||
OnlyPushUpOnce = true;
|
||||
UpdateDestinationsConsole();
|
||||
}
|
||||
}
|
||||
else if (PressDown())
|
||||
{
|
||||
if (!OnlyPushUpOnce)
|
||||
{
|
||||
DestinationIndex++;
|
||||
if (DestinationIndex >= DestinationAPINames.Count)
|
||||
{
|
||||
DestinationIndex = 0;
|
||||
}
|
||||
OnlyPushUpOnce = true;
|
||||
UpdateDestinationsConsole();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
OnlyPushUpOnce = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateDestinationsConsole()
|
||||
{
|
||||
if (DestinationAPINames.Count == 0)
|
||||
{
|
||||
DestinationsConsole.text = "Add some destinations to the developer dashboard first!";
|
||||
}
|
||||
string destinations = "Destination API Names:\n";
|
||||
for (int i = 0; i < DestinationAPINames.Count; i++)
|
||||
{
|
||||
if (i == DestinationIndex)
|
||||
{
|
||||
destinations += "==>";
|
||||
}
|
||||
destinations += DestinationAPINames[i] + "\n";
|
||||
}
|
||||
DestinationsConsole.text = destinations;
|
||||
}
|
||||
|
||||
private void OnLoggedInUser(Message<Oculus.Platform.Models.User> message)
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
Debug.LogError("Cannot get logged in user");
|
||||
}
|
||||
else
|
||||
{
|
||||
LoggedInUserID = message.Data.ID;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateConsole(string value)
|
||||
{
|
||||
Debug.Log(value);
|
||||
|
||||
InVRConsole.text =
|
||||
"Scroll Up/Down on Right Thumbstick\n(A) - Set Group Presence to selected\n(B) - Clear Group Presence\n(X) - Launch Invite Panel\n(Y) - Launch Roster Panel\n\n" + value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region I/O Inputs
|
||||
private bool PressAButton()
|
||||
{
|
||||
#if USE_OVRINPUT
|
||||
return OVRInput.GetUp(OVRInput.Button.One) || Input.GetKeyUp(KeyCode.A);
|
||||
#else
|
||||
return Input.GetKeyUp(KeyCode.A);
|
||||
#endif
|
||||
}
|
||||
|
||||
private bool PressBButton()
|
||||
{
|
||||
#if USE_OVRINPUT
|
||||
return OVRInput.GetUp(OVRInput.Button.Two) || Input.GetKeyUp(KeyCode.B);
|
||||
#else
|
||||
return Input.GetKeyUp(KeyCode.B);
|
||||
#endif
|
||||
}
|
||||
|
||||
private bool PressXButton()
|
||||
{
|
||||
#if USE_OVRINPUT
|
||||
return OVRInput.GetUp(OVRInput.Button.Three) || Input.GetKeyUp(KeyCode.X);
|
||||
#else
|
||||
return Input.GetKeyUp(KeyCode.X);
|
||||
#endif
|
||||
}
|
||||
|
||||
private bool PressYButton()
|
||||
{
|
||||
#if USE_OVRINPUT
|
||||
return OVRInput.GetUp(OVRInput.Button.Four) || Input.GetKeyUp(KeyCode.Y);
|
||||
#else
|
||||
return Input.GetKeyUp(KeyCode.Y);
|
||||
#endif
|
||||
}
|
||||
|
||||
private bool PressUp()
|
||||
{
|
||||
#if USE_OVRINPUT
|
||||
Vector2 axis = OVRInput.Get(OVRInput.Axis2D.SecondaryThumbstick);
|
||||
return (axis.y > 0.2 || Input.GetKeyUp(KeyCode.UpArrow));
|
||||
#else
|
||||
return Input.GetKeyUp(KeyCode.UpArrow);
|
||||
#endif
|
||||
}
|
||||
|
||||
private bool PressDown()
|
||||
{
|
||||
#if USE_OVRINPUT
|
||||
Vector2 axis = OVRInput.Get(OVRInput.Axis2D.SecondaryThumbstick);
|
||||
return (axis.y < -0.2 || Input.GetKeyUp(KeyCode.DownArrow));
|
||||
#else
|
||||
return Input.GetKeyUp(KeyCode.DownArrow);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9de13f39625194290a3f459c9513e7d2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/NetChat.meta
Normal file
8
Assets/Oculus/Platform/Samples/NetChat.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 36bbe41b5545ff8498a110c30cbf42ed
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1
Assets/Oculus/Platform/Samples/NetChat/DataEntry.cs
Normal file
1
Assets/Oculus/Platform/Samples/NetChat/DataEntry.cs
Normal file
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
11
Assets/Oculus/Platform/Samples/NetChat/DataEntry.cs.meta
Normal file
11
Assets/Oculus/Platform/Samples/NetChat/DataEntry.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bfbb4b78fb9572d4da744c39224c6f1d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bd921ec0d7d0f6843a7abbefee6127af
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c47390a2343c62e4fbb11987a08070f3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Oculus/Platform/Samples/ReportingCallbackSample/Scenes/ReportingCallbackSample.unity
(Stored with Git LFS)
Normal file
BIN
Assets/Oculus/Platform/Samples/ReportingCallbackSample/Scenes/ReportingCallbackSample.unity
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3d4fbf53e649040b698b2ba26c1531a9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3eeb4dcd2fdb97c47bb05787ba1073e0
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,66 @@
|
||||
// Uncomment this if you have the Touch controller classes in your project
|
||||
//#define USE_OVRINPUT
|
||||
|
||||
using System;
|
||||
using Oculus.Platform;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
/**
|
||||
* This class shows a very simple way to integrate the Reporting Callback
|
||||
* by registering a listener and responding to the notification
|
||||
*/
|
||||
public class ReportingCallbackSample : MonoBehaviour
|
||||
{
|
||||
public Text InVRConsole;
|
||||
public Text DestinationsConsole;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
UpdateConsole("Init Oculus Platform SDK...");
|
||||
Core.AsyncInitialize().OnComplete(message => {
|
||||
if (message.IsError)
|
||||
{
|
||||
// Init failed, nothing will work
|
||||
UpdateConsole(message.GetError().Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateConsole("Init complete!");
|
||||
|
||||
/**
|
||||
* Listen for when user clicks AUI report button
|
||||
*/
|
||||
AbuseReport.SetReportButtonPressedNotificationCallback(OnReportButtonIntentNotif);
|
||||
UpdateConsole("Registered callback");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// User has interacted with the AUI outside this app
|
||||
void OnReportButtonIntentNotif(Message<string> message)
|
||||
{
|
||||
if (message.IsError)
|
||||
{
|
||||
UpdateConsole(message.GetError().Message);
|
||||
} else
|
||||
{
|
||||
UpdateConsole("Send that response is handled");
|
||||
AbuseReport.ReportRequestHandled(ReportRequestResponse.Handled);
|
||||
UpdateConsole("Response has been handled!");
|
||||
}
|
||||
}
|
||||
|
||||
#region Helper Functions
|
||||
|
||||
private void UpdateConsole(string value)
|
||||
{
|
||||
Debug.Log(value);
|
||||
|
||||
InVRConsole.text =
|
||||
"Welcome to the Sample Reporting Callback App\n\n" + value;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9624dfcd1f9ea4397bc9a264da738b61
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/SimplePlatformSample.meta
Normal file
8
Assets/Oculus/Platform/Samples/SimplePlatformSample.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 279e53f0ff7bc93439dab3a3edc8844b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
419
Assets/Oculus/Platform/Samples/SimplePlatformSample/DataEntry.cs
Normal file
419
Assets/Oculus/Platform/Samples/SimplePlatformSample/DataEntry.cs
Normal file
@ -0,0 +1,419 @@
|
||||
namespace Oculus.Platform.Samples.SimplePlatformSample
|
||||
{
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Oculus.Platform;
|
||||
using Oculus.Platform.Models;
|
||||
|
||||
public class DataEntry : MonoBehaviour
|
||||
{
|
||||
|
||||
public Text dataOutput;
|
||||
|
||||
void Start()
|
||||
{
|
||||
Core.Initialize();
|
||||
checkEntitlement();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
string currentText = GetComponent<InputField>().text;
|
||||
|
||||
if (Input.GetKey(KeyCode.Return))
|
||||
{
|
||||
if (currentText != "")
|
||||
{
|
||||
SubmitCommand(currentText);
|
||||
}
|
||||
|
||||
GetComponent<InputField>().text = "";
|
||||
}
|
||||
|
||||
// Handle all messages being returned
|
||||
Request.RunCallbacks();
|
||||
}
|
||||
|
||||
private void SubmitCommand(string command)
|
||||
{
|
||||
string[] commandParams = command.Split(' ');
|
||||
|
||||
if (commandParams.Length > 0)
|
||||
{
|
||||
switch (commandParams[0])
|
||||
{
|
||||
case "m":
|
||||
getLoggedInUser();
|
||||
break;
|
||||
case "u":
|
||||
if (commandParams.Length > 1)
|
||||
{
|
||||
getUser(commandParams[1]);
|
||||
}
|
||||
break;
|
||||
case "d":
|
||||
getLoggedInFriends();
|
||||
break;
|
||||
case "n":
|
||||
getUserNonce();
|
||||
break;
|
||||
case "e":
|
||||
checkEntitlement();
|
||||
break;
|
||||
case "a":
|
||||
if (commandParams.Length > 1)
|
||||
{
|
||||
getAchievementDefinition(commandParams[1]);
|
||||
}
|
||||
break;
|
||||
case "b":
|
||||
if (commandParams.Length > 1)
|
||||
{
|
||||
getAchievementProgress(commandParams[1]);
|
||||
}
|
||||
break;
|
||||
case "3":
|
||||
if (commandParams.Length > 1)
|
||||
{
|
||||
unlockAchievement(commandParams[1]);
|
||||
}
|
||||
break;
|
||||
case "4":
|
||||
if (commandParams.Length > 2)
|
||||
{
|
||||
addCountAchievement(commandParams[1], commandParams[2]);
|
||||
}
|
||||
break;
|
||||
case "5":
|
||||
if (commandParams.Length > 2)
|
||||
{
|
||||
addFieldsAchievement(commandParams[1], commandParams[2]);
|
||||
}
|
||||
break;
|
||||
case "1":
|
||||
if (commandParams.Length > 2)
|
||||
{
|
||||
writeLeaderboardEntry(commandParams[1], commandParams[2]);
|
||||
}
|
||||
break;
|
||||
case "2":
|
||||
if (commandParams.Length > 1)
|
||||
{
|
||||
getLeaderboardEntries(commandParams[1]);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printOutputLine("Invalid Command");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void getLeaderboardEntries(string leaderboardName)
|
||||
{
|
||||
Leaderboards.GetEntries(leaderboardName, 10, LeaderboardFilterType.None, LeaderboardStartAt.Top).OnComplete(leaderboardGetCallback);
|
||||
}
|
||||
|
||||
void writeLeaderboardEntry(string leaderboardName, string value)
|
||||
{
|
||||
byte[] extraData = new byte[] { 0x54, 0x65, 0x73, 0x74 };
|
||||
|
||||
Leaderboards.WriteEntry(leaderboardName, Convert.ToInt32(value), extraData, false).OnComplete(leaderboardWriteCallback);
|
||||
}
|
||||
|
||||
void addFieldsAchievement(string achievementName, string fields)
|
||||
{
|
||||
Achievements.AddFields(achievementName, fields).OnComplete(achievementFieldsCallback);
|
||||
}
|
||||
|
||||
void addCountAchievement(string achievementName, string count)
|
||||
{
|
||||
Achievements.AddCount(achievementName, Convert.ToUInt64(count)).OnComplete(achievementCountCallback);
|
||||
}
|
||||
|
||||
void unlockAchievement(string achievementName)
|
||||
{
|
||||
Achievements.Unlock(achievementName).OnComplete(achievementUnlockCallback);
|
||||
}
|
||||
|
||||
void getAchievementProgress(string achievementName)
|
||||
{
|
||||
string[] Names = new string[1];
|
||||
Names[0] = achievementName;
|
||||
|
||||
Achievements.GetProgressByName(Names).OnComplete(achievementProgressCallback);
|
||||
}
|
||||
|
||||
void getAchievementDefinition(string achievementName)
|
||||
{
|
||||
string[] Names = new string[1];
|
||||
Names[0] = achievementName;
|
||||
|
||||
Achievements.GetDefinitionsByName(Names).OnComplete(achievementDefinitionCallback);
|
||||
}
|
||||
|
||||
void checkEntitlement()
|
||||
{
|
||||
Entitlements.IsUserEntitledToApplication().OnComplete(getEntitlementCallback);
|
||||
}
|
||||
|
||||
void getUserNonce()
|
||||
{
|
||||
printOutputLine("Trying to get user nonce");
|
||||
|
||||
Users.GetUserProof().OnComplete(userProofCallback);
|
||||
}
|
||||
|
||||
void getLoggedInUser()
|
||||
{
|
||||
printOutputLine("Trying to get currently logged in user");
|
||||
Users.GetLoggedInUser().OnComplete(getUserCallback);
|
||||
}
|
||||
|
||||
void getUser(string userID)
|
||||
{
|
||||
printOutputLine("Trying to get user " + userID);
|
||||
Users.Get(Convert.ToUInt64(userID)).OnComplete(getUserCallback);
|
||||
}
|
||||
|
||||
void getLoggedInFriends()
|
||||
{
|
||||
printOutputLine("Trying to get friends of logged in user");
|
||||
Users.GetLoggedInUserFriends().OnComplete(getFriendsCallback);
|
||||
}
|
||||
|
||||
void printOutputLine(String newLine)
|
||||
{
|
||||
dataOutput.text = "> " + newLine + System.Environment.NewLine + dataOutput.text;
|
||||
}
|
||||
|
||||
void outputUserArray(UserList users)
|
||||
{
|
||||
foreach (User user in users)
|
||||
{
|
||||
printOutputLine("User: " + user.ID + " " + user.OculusID + " " + user.Presence);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Callbacks
|
||||
void userProofCallback(Message<UserProof> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received user nonce generation success");
|
||||
UserProof userNonce = msg.Data;
|
||||
printOutputLine("Nonce: " + userNonce.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received user nonce generation error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void getEntitlementCallback(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("You are entitled to use this app.");
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("You are NOT entitled to use this app.");
|
||||
}
|
||||
}
|
||||
|
||||
void leaderboardGetCallback(Message<LeaderboardEntryList> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Leaderboard entry get success.");
|
||||
var entries = msg.Data;
|
||||
|
||||
foreach (var entry in entries)
|
||||
{
|
||||
printOutputLine(entry.Rank + ". " + entry.User.OculusID + " " + entry.Score + " " + entry.Timestamp);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received leaderboard get error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void leaderboardWriteCallback(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Leaderboard entry write success.");
|
||||
var didUpdate = (Message<bool>)msg;
|
||||
|
||||
if (didUpdate.Data)
|
||||
{
|
||||
printOutputLine("Score updated.");
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Score NOT updated.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received leaderboard write error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void achievementFieldsCallback(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Achievement fields added.");
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received achievement fields add error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void achievementCountCallback(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Achievement count added.");
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received achievement count add error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void achievementUnlockCallback(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Achievement unlocked");
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received achievement unlock error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void achievementProgressCallback(Message<AchievementProgressList> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received achievement progress success");
|
||||
AchievementProgressList progressList = msg.GetAchievementProgressList();
|
||||
|
||||
foreach (var progress in progressList)
|
||||
{
|
||||
if (progress.IsUnlocked)
|
||||
{
|
||||
printOutputLine("Achievement Unlocked");
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Achievement Locked");
|
||||
}
|
||||
printOutputLine("Current Bitfield: " + progress.Bitfield.ToString());
|
||||
printOutputLine("Current Count: " + progress.Count.ToString());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received achievement progress error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void achievementDefinitionCallback(Message<AchievementDefinitionList> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received achievement definitions success");
|
||||
AchievementDefinitionList definitionList = msg.GetAchievementDefinitions();
|
||||
|
||||
foreach (var definition in definitionList)
|
||||
{
|
||||
switch (definition.Type)
|
||||
{
|
||||
case AchievementType.Simple:
|
||||
printOutputLine("Achievement Type: Simple");
|
||||
break;
|
||||
case AchievementType.Bitfield:
|
||||
printOutputLine("Achievement Type: Bitfield");
|
||||
printOutputLine("Bitfield Length: " + definition.BitfieldLength.ToString());
|
||||
printOutputLine("Target: " + definition.Target.ToString());
|
||||
break;
|
||||
case AchievementType.Count:
|
||||
printOutputLine("Achievement Type: Count");
|
||||
printOutputLine("Target: " + definition.Target.ToString());
|
||||
break;
|
||||
case AchievementType.Unknown:
|
||||
default:
|
||||
printOutputLine("Achievement Type: Unknown");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received achievement definitions error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void getUserCallback(Message<User> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received get user success");
|
||||
User user = msg.Data;
|
||||
printOutputLine("User: " + user.ID + " " + user.OculusID + " " + user.Presence);
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received get user error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void getFriendsCallback(Message<UserList> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received get friends success");
|
||||
UserList users = msg.Data;
|
||||
outputUserArray(users);
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received get friends error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e10d7d54285902b48a88ddf18008a848
|
||||
timeCreated: 1446741207
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Oculus/Platform/Samples/SimplePlatformSample/MainScene.unity
(Stored with Git LFS)
Normal file
BIN
Assets/Oculus/Platform/Samples/SimplePlatformSample/MainScene.unity
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 318d73ef645634c49839069272d9e4f4
|
||||
timeCreated: 1446741350
|
||||
licenseType: Store
|
||||
DefaultImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/VrBoardGame.meta
Normal file
8
Assets/Oculus/Platform/Samples/VrBoardGame.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5f7dc8415838a204fb29cb3e8fee9179
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/VrBoardGame/Scripts.meta
Normal file
8
Assets/Oculus/Platform/Samples/VrBoardGame/Scripts.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d6843ca493b2f50498eab9bad928bd9b
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d9244e220b0fee34c98de6ed84ee6cdd
|
||||
timeCreated: 1480276073
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 96a29a99957531246921ced0fac365ab
|
||||
timeCreated: 1480201871
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 94decd43dfca0db43a3936edb109ca2e
|
||||
timeCreated: 1479840163
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e8e18544645909d4ca3288d03cc2bb95
|
||||
timeCreated: 1480276241
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4c243c46c5f7948488696c53b4fa9786
|
||||
timeCreated: 1542071393
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences:
|
||||
- m_prefabA: {instanceID: 0}
|
||||
- m_prefabB: {instanceID: 0}
|
||||
- m_prefabPower: {instanceID: 0}
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3e54f4e408fb12842b72b24ac5dcbcf6
|
||||
timeCreated: 1479423466
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e4f7411db9bf50545a8b0b3c5b3c1ff8
|
||||
timeCreated: 1479421035
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46b8fed8b150a8c4688eae89457bd466
|
||||
timeCreated: 1479414194
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/VrHoops.meta
Normal file
8
Assets/Oculus/Platform/Samples/VrHoops.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 14f11521bf6434746b4feadad51390ed
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/VrHoops/Scripts.meta
Normal file
8
Assets/Oculus/Platform/Samples/VrHoops/Scripts.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6adb4589fc569248a229c085c52622c
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 71702635af79217469ed41ba39db8d5a
|
||||
timeCreated: 1475264776
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 66d441ddf01234331b50e929139f4780
|
||||
timeCreated: 1477071923
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4164fa75939f1e46a3e36dfbdc7f821
|
||||
timeCreated: 1474514990
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ebf96caaf397684b86c4ff4d566798f
|
||||
timeCreated: 1474514266
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a63d0cd5dd6d39a4abd35114563fe347
|
||||
timeCreated: 1475105001
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc96f5380d7d743d9ae91f11379eb85b
|
||||
timeCreated: 1477078886
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fbea2c3cb080a064f84d3bd86c2f3a53
|
||||
timeCreated: 1475173562
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b5525a4fa9d4898438f479b1c25ff8b4
|
||||
timeCreated: 1476809789
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac564d79b10fc01448f93b8dcc74d3d0
|
||||
timeCreated: 1475264810
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e31d7fbc2f31b7499684c9e87fc8454
|
||||
timeCreated: 1475257003
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa69df7dcb6814fab9439789f1e23e2e
|
||||
timeCreated: 1475629968
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f418f541d32d24e7aad85c24970462d1
|
||||
timeCreated: 1475634295
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b4360c472d4f2ab498faa9c614ac7c80
|
||||
timeCreated: 1476304390
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1aef3541237f243e4856d8913668f9b8
|
||||
timeCreated: 1476575180
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 65808a6a27b5f4917a2b9a171e240753
|
||||
timeCreated: 1475341418
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
1
Assets/Oculus/Platform/Samples/VrHoops/Scripts/Player.cs
Normal file
1
Assets/Oculus/Platform/Samples/VrHoops/Scripts/Player.cs
Normal file
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9f31217f54e40894f84c58432a8f7e65
|
||||
timeCreated: 1475264829
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4bf1a3ead6c1aa341873bdfda4366001
|
||||
timeCreated: 1475265143
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 125c22697d9e63447888218eccbc7005
|
||||
timeCreated: 1475264820
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b02d3b7f6a849724695a1255745c4fa7
|
||||
timeCreated: 1475533243
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/VrVoiceChat.meta
Normal file
8
Assets/Oculus/Platform/Samples/VrVoiceChat.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dc78ae278e0ffd24288001e163b0eef4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
Assets/Oculus/Platform/Samples/VrVoiceChat/Scripts.meta
Normal file
8
Assets/Oculus/Platform/Samples/VrVoiceChat/Scripts.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 65fd13f17c14f27478afdadfdfb36df9
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0b2606dc17092048b00d7388d73fbb5
|
||||
timeCreated: 1474493601
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ffdbd4c8c89d94aae95321b8d5850c7a
|
||||
timeCreated: 1474236709
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea89826bdbe52462fb0102692abb3032
|
||||
timeCreated: 1474235953
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a66c6bd0ba312c4b8c6fd2a08491521
|
||||
timeCreated: 1473882274
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1 @@
|
||||
namespace Oculus.Platform.Deprecated { }
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 310e9262e28564c9d9b5c5a872a42e41
|
||||
timeCreated: 1474561098
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user