clean project
This commit is contained in:
836
Assets/Oculus/Platform/Samples/NetChat/DataEntry.cs
Normal file
836
Assets/Oculus/Platform/Samples/NetChat/DataEntry.cs
Normal file
@@ -0,0 +1,836 @@
|
||||
namespace Oculus.Platform.Samples.NetChat
|
||||
{
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using Oculus.Platform;
|
||||
using Oculus.Platform.Models;
|
||||
|
||||
enum states
|
||||
{
|
||||
NOT_INIT = 0,
|
||||
IDLE,
|
||||
REQUEST_FIND,
|
||||
FINDING_ROOM,
|
||||
REQUEST_CREATE,
|
||||
REQUEST_JOIN,
|
||||
REQUEST_LEAVE,
|
||||
IN_EMPTY_ROOM,
|
||||
IN_FULL_ROOM
|
||||
}
|
||||
|
||||
// Pools are defined on the Oculus developer portal
|
||||
//
|
||||
// For this test we have a pool created with the pool key set as 'filter_pool'
|
||||
// Mode is set to 'Room'
|
||||
// Skill Pool is set to 'None'
|
||||
// We are not considering Round Trip Time
|
||||
// The following Data Settings are set:
|
||||
// key: map_name, Type: STRING, String options: Small_Map, Big_Map, Really_Big_Map
|
||||
// key: game_type, Type: STRING, String Options: deathmatch, CTF
|
||||
//
|
||||
// We also have the following two queries defined:
|
||||
// Query Key: map
|
||||
// Template: Set (String)
|
||||
// Key: map_name
|
||||
// Wildcards: map_param_1, map_param_2
|
||||
//
|
||||
// Query Key: game_type
|
||||
// Template: Set (String)
|
||||
// Key: game_type_name
|
||||
// Wildcards: game_type_param
|
||||
//
|
||||
// For this test we have a pool created with the pool key set as 'bout_pool'
|
||||
// Mode is set to 'Bout'
|
||||
// Skill Pool is set to 'None'
|
||||
// We are not considering Round Trip Time
|
||||
// No Data Settings are set:
|
||||
//
|
||||
|
||||
public static class Constants
|
||||
{
|
||||
public const int BUFFER_SIZE = 512;
|
||||
public const string BOUT_POOL = "bout_pool";
|
||||
public const string FILTER_POOL = "filter_pool";
|
||||
}
|
||||
|
||||
public class chatPacket
|
||||
{
|
||||
public int packetID { get; set; }
|
||||
public string textString { get; set; }
|
||||
|
||||
public byte[] Serialize()
|
||||
{
|
||||
using (MemoryStream m = new MemoryStream())
|
||||
{
|
||||
using (BinaryWriter writer = new BinaryWriter(m))
|
||||
{
|
||||
// Limit our string to BUFFER_SIZE
|
||||
if (textString.Length > Constants.BUFFER_SIZE)
|
||||
{
|
||||
textString = textString.Substring(0, Constants.BUFFER_SIZE-1);
|
||||
}
|
||||
writer.Write(packetID);
|
||||
writer.Write(textString.ToCharArray());
|
||||
writer.Write('\0');
|
||||
}
|
||||
return m.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public static chatPacket Deserialize(byte[] data)
|
||||
{
|
||||
chatPacket result = new chatPacket();
|
||||
using (MemoryStream m = new MemoryStream(data))
|
||||
{
|
||||
using (BinaryReader reader = new BinaryReader(m))
|
||||
{
|
||||
result.packetID = reader.ReadInt32();
|
||||
result.textString = System.Text.Encoding.Default.GetString(reader.ReadBytes(Constants.BUFFER_SIZE));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public class DataEntry : MonoBehaviour {
|
||||
|
||||
public Text dataOutput;
|
||||
|
||||
states currentState;
|
||||
User localUser;
|
||||
User remoteUser;
|
||||
Room currentRoom;
|
||||
int lastPacketID;
|
||||
bool ratedMatchStarted;
|
||||
|
||||
// Use this for initialization
|
||||
void Start () {
|
||||
currentState = states.NOT_INIT;
|
||||
localUser = null;
|
||||
remoteUser = null;
|
||||
currentRoom = null;
|
||||
lastPacketID = 0;
|
||||
ratedMatchStarted = false;
|
||||
|
||||
Core.Initialize();
|
||||
|
||||
// Setup our room update handler
|
||||
Rooms.SetUpdateNotificationCallback(updateRoom);
|
||||
// Setup our match found handler
|
||||
Matchmaking.SetMatchFoundNotificationCallback(foundMatch);
|
||||
|
||||
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 = "";
|
||||
}
|
||||
|
||||
processNetPackets();
|
||||
// Handle all messages being returned
|
||||
Request.RunCallbacks();
|
||||
}
|
||||
|
||||
void SubmitCommand(string command)
|
||||
{
|
||||
string[] commandParams = command.Split('!');
|
||||
|
||||
if (commandParams.Length > 0)
|
||||
{
|
||||
switch (commandParams[0])
|
||||
{
|
||||
case "c":
|
||||
requestCreateRoom();
|
||||
break;
|
||||
case "d":
|
||||
requestCreateFilterRoom();
|
||||
break;
|
||||
case "f":
|
||||
requestFindMatch();
|
||||
break;
|
||||
case "g":
|
||||
requestFindRoom();
|
||||
break;
|
||||
case "i":
|
||||
requestFindFilteredRoom();
|
||||
break;
|
||||
case "s":
|
||||
if (commandParams.Length > 1)
|
||||
{
|
||||
sendChat(commandParams[1]);
|
||||
}
|
||||
break;
|
||||
case "l":
|
||||
requestLeaveRoom();
|
||||
break;
|
||||
case "1":
|
||||
requestStartRatedMatch();
|
||||
break;
|
||||
case "2":
|
||||
requestReportResults();
|
||||
break;
|
||||
default:
|
||||
printOutputLine("Invalid Command");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void printOutputLine(String newLine)
|
||||
{
|
||||
dataOutput.text = "> " + newLine + System.Environment.NewLine + dataOutput.text;
|
||||
}
|
||||
|
||||
void checkEntitlement()
|
||||
{
|
||||
Entitlements.IsUserEntitledToApplication().OnComplete(getEntitlementCallback);
|
||||
}
|
||||
|
||||
void getEntitlementCallback(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("You are entitled to use this app.");
|
||||
Users.GetLoggedInUser().OnComplete(init);
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("You are NOT entitled to use this app.");
|
||||
}
|
||||
}
|
||||
|
||||
void init(Message<User> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
User user = msg.Data;
|
||||
localUser = user;
|
||||
|
||||
currentState = states.IDLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received get current user error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
|
||||
// Retry getting the current user
|
||||
Users.GetLoggedInUser().OnComplete(init);
|
||||
currentState = states.NOT_INIT;
|
||||
}
|
||||
}
|
||||
|
||||
void requestCreateRoom()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
case states.IDLE:
|
||||
printOutputLine("Trying to create a matchmaking room");
|
||||
Matchmaking.CreateAndEnqueueRoom(Constants.FILTER_POOL, 8, true, null).OnComplete(createRoomResponse);
|
||||
currentState = states.REQUEST_CREATE;
|
||||
break;
|
||||
case states.REQUEST_FIND:
|
||||
printOutputLine("You have already made a request to find a room. Please wait for that request to complete.");
|
||||
break;
|
||||
case states.FINDING_ROOM:
|
||||
printOutputLine("You have already currently looking for a room. Please wait for the match to be made.");
|
||||
break;
|
||||
case states.REQUEST_JOIN:
|
||||
printOutputLine("We are currently trying to join a room. Please wait to see if we can join it.");
|
||||
break;
|
||||
case states.REQUEST_LEAVE:
|
||||
printOutputLine("We are currently trying to leave a room. Please wait to see if we can leave it.");
|
||||
break;
|
||||
case states.REQUEST_CREATE:
|
||||
printOutputLine("You have already requested a matchmaking room to be created. Please wait for the room to be made.");
|
||||
break;
|
||||
case states.IN_EMPTY_ROOM:
|
||||
printOutputLine("You have already in a matchmaking room. Please wait for an opponent to join.");
|
||||
break;
|
||||
case states.IN_FULL_ROOM:
|
||||
printOutputLine("You have already in a match.");
|
||||
break;
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void createRoomResponse(Message<MatchmakingEnqueueResultAndRoom> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received create matchmaking room success");
|
||||
Room room = msg.Data.Room;
|
||||
currentRoom = room;
|
||||
|
||||
printOutputLine("RoomID: " + room.ID.ToString());
|
||||
currentState = states.IN_EMPTY_ROOM;
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received create matchmaking room Error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
printOutputLine("You can only create a matchmaking room for pools of mode Room. Make sure you have an appropriate pool setup on the Developer portal.\n");
|
||||
currentState = states.IDLE;
|
||||
}
|
||||
}
|
||||
|
||||
void requestCreateFilterRoom()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.\n");
|
||||
break;
|
||||
|
||||
case states.IDLE:
|
||||
printOutputLine("Trying to create a matchmaking room");
|
||||
|
||||
// We're going to create a room that has the following values set:
|
||||
// game_type_name = "CTF"
|
||||
// map_name = "Really_Big_Map"
|
||||
//
|
||||
|
||||
Matchmaking.CustomQuery roomCustomQuery = new Matchmaking.CustomQuery();
|
||||
|
||||
roomCustomQuery.criteria = null;
|
||||
roomCustomQuery.data = new Dictionary<string, object>();
|
||||
|
||||
roomCustomQuery.data.Add("game_type_name", "CTF");
|
||||
roomCustomQuery.data.Add("map_name", "Really_Big_Map");
|
||||
|
||||
Matchmaking.CreateAndEnqueueRoom(Constants.FILTER_POOL, 8, true, roomCustomQuery).OnComplete(createRoomResponse);
|
||||
currentState = states.REQUEST_CREATE;
|
||||
break;
|
||||
|
||||
case states.REQUEST_FIND:
|
||||
printOutputLine("You have already made a request to find a room. Please wait for that request to complete.\n");
|
||||
break;
|
||||
case states.FINDING_ROOM:
|
||||
printOutputLine("You have already currently looking for a room. Please wait for the match to be made.\n");
|
||||
break;
|
||||
case states.REQUEST_JOIN:
|
||||
printOutputLine("We are currently trying to join a room. Please wait to see if we can join it.\n");
|
||||
break;
|
||||
case states.REQUEST_LEAVE:
|
||||
printOutputLine("We are currently trying to leave a room. Please wait to see if we can leave it.\n");
|
||||
break;
|
||||
case states.REQUEST_CREATE:
|
||||
printOutputLine("You have already requested a matchmaking room to be created. Please wait for the room to be made.\n");
|
||||
break;
|
||||
case states.IN_EMPTY_ROOM:
|
||||
printOutputLine("You have already in a matchmaking room. Please wait for an opponent to join.\n");
|
||||
break;
|
||||
case states.IN_FULL_ROOM:
|
||||
printOutputLine("You have already in a match.\n");
|
||||
break;
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void requestFindRoom()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
|
||||
case states.IDLE:
|
||||
printOutputLine("\nTrying to find a matchmaking room\n");
|
||||
|
||||
Matchmaking.Enqueue(Constants.FILTER_POOL, null).OnComplete(searchingStarted);
|
||||
currentState = states.REQUEST_FIND;
|
||||
break;
|
||||
|
||||
case states.REQUEST_FIND:
|
||||
printOutputLine("You have already made a request to find a room. Please wait for that request to complete.");
|
||||
break;
|
||||
|
||||
case states.FINDING_ROOM:
|
||||
printOutputLine("You have already currently looking for a room. Please wait for the match to be made.");
|
||||
break;
|
||||
|
||||
case states.REQUEST_JOIN:
|
||||
printOutputLine("We are currently trying to join a room. Please wait to see if we can join it.");
|
||||
break;
|
||||
|
||||
case states.REQUEST_LEAVE:
|
||||
printOutputLine("We are currently trying to leave a room. Please wait to see if we can leave it.");
|
||||
break;
|
||||
|
||||
case states.REQUEST_CREATE:
|
||||
printOutputLine("You have already requested a matchmaking room to be created. Please wait for the room to be made.");
|
||||
break;
|
||||
|
||||
case states.IN_EMPTY_ROOM:
|
||||
printOutputLine("You have already in a matchmaking room. Please wait for an opponent to join.");
|
||||
break;
|
||||
|
||||
case states.IN_FULL_ROOM:
|
||||
printOutputLine("You have already in a match.");
|
||||
break;
|
||||
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void requestFindFilteredRoom()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
|
||||
case states.IDLE:
|
||||
printOutputLine("Trying to find a matchmaking room");
|
||||
|
||||
// Our search filter criterion
|
||||
//
|
||||
// We're filtering using two different queries setup on the developer portal
|
||||
//
|
||||
// map - query to filter by map. The query allows you to filter with up to two different maps using keys called 'map_1' and 'map_2'
|
||||
// game_type - query to filter by game type. The query allows you to filter with up to two different game types using keys called 'type_1' and 'type_2'
|
||||
//
|
||||
// In the example below we are filtering for matches that are of type CTF and on either Big_Map or Really_Big_Map.
|
||||
//
|
||||
|
||||
Matchmaking.CustomQuery roomCustomQuery = new Matchmaking.CustomQuery();
|
||||
Matchmaking.CustomQuery.Criterion[] queries = new Matchmaking.CustomQuery.Criterion[2];
|
||||
|
||||
queries[0].key = "map";
|
||||
queries[0].importance = MatchmakingCriterionImportance.Required;
|
||||
queries[0].parameters = new Dictionary<string, object>();
|
||||
queries[0].parameters.Add("map_param_1","Really_Big_Map");
|
||||
queries[0].parameters.Add("map_param_2", "Big_Map");
|
||||
|
||||
queries[1].key = "game_type";
|
||||
queries[1].importance = MatchmakingCriterionImportance.Required;
|
||||
queries[1].parameters = new Dictionary<string, object>();
|
||||
queries[1].parameters.Add("game_type_param", "CTF");
|
||||
|
||||
roomCustomQuery.criteria = queries;
|
||||
roomCustomQuery.data = null;
|
||||
|
||||
Matchmaking.Enqueue(Constants.FILTER_POOL, roomCustomQuery);
|
||||
currentState = states.REQUEST_FIND;
|
||||
break;
|
||||
|
||||
case states.REQUEST_FIND:
|
||||
printOutputLine("You have already made a request to find a room. Please wait for that request to complete.");
|
||||
break;
|
||||
|
||||
case states.FINDING_ROOM:
|
||||
printOutputLine("You have already currently looking for a room. Please wait for the match to be made.");
|
||||
break;
|
||||
|
||||
case states.REQUEST_JOIN:
|
||||
printOutputLine("We are currently trying to join a room. Please wait to see if we can join it.");
|
||||
break;
|
||||
|
||||
case states.REQUEST_LEAVE:
|
||||
printOutputLine("We are currently trying to leave a room. Please wait to see if we can leave it.");
|
||||
break;
|
||||
|
||||
case states.REQUEST_CREATE:
|
||||
printOutputLine("You have already requested a matchmaking room to be created. Please wait for the room to be made.");
|
||||
break;
|
||||
|
||||
case states.IN_EMPTY_ROOM:
|
||||
printOutputLine("You have already in a matchmaking room. Please wait for an opponent to join.");
|
||||
break;
|
||||
|
||||
case states.IN_FULL_ROOM:
|
||||
printOutputLine("You have already in a match.");
|
||||
break;
|
||||
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void foundMatch(Message<Room> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received find match success. We are now going to request to join the room.");
|
||||
Room room = msg.Data;
|
||||
|
||||
Rooms.Join(room.ID, true).OnComplete(joinRoomResponse);
|
||||
currentState = states.REQUEST_JOIN;
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received find match error");
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
currentState = states.IDLE;
|
||||
}
|
||||
}
|
||||
|
||||
void joinRoomResponse(Message<Room> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received join room success.");
|
||||
currentRoom = msg.Data;
|
||||
|
||||
currentState = states.IN_EMPTY_ROOM;
|
||||
|
||||
// Try to pull out remote user's ID if they have already joined
|
||||
if (currentRoom.UsersOptional != null)
|
||||
{
|
||||
foreach (User element in currentRoom.UsersOptional)
|
||||
{
|
||||
if (element.ID != localUser.ID)
|
||||
{
|
||||
remoteUser = element;
|
||||
currentState = states.IN_FULL_ROOM;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received join room error");
|
||||
printOutputLine("It's possible the room filled up before you could join it.");
|
||||
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
currentState = states.IDLE;
|
||||
}
|
||||
}
|
||||
|
||||
void requestFindMatch()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
case states.IDLE:
|
||||
printOutputLine("Trying to find a matchmaking room");
|
||||
Matchmaking.Enqueue(Constants.BOUT_POOL, null).OnComplete(searchingStarted);
|
||||
currentState = states.REQUEST_FIND;
|
||||
break;
|
||||
case states.REQUEST_FIND:
|
||||
printOutputLine("You have already made a request to find a room. Please wait for that request to complete.");
|
||||
break;
|
||||
case states.FINDING_ROOM:
|
||||
printOutputLine("You have already currently looking for a room. Please wait for the match to be made.");
|
||||
break;
|
||||
case states.REQUEST_JOIN:
|
||||
printOutputLine("We are currently trying to join a room. Please wait to see if we can join it.");
|
||||
break;
|
||||
case states.REQUEST_LEAVE:
|
||||
printOutputLine("We are currently trying to leave a room. Please wait to see if we can leave it.");
|
||||
break;
|
||||
case states.REQUEST_CREATE:
|
||||
printOutputLine("You have already requested a matchmaking room to be created. Please wait for the room to be made.");
|
||||
break;
|
||||
case states.IN_EMPTY_ROOM:
|
||||
printOutputLine("You have already in a matchmaking room. Please wait for an opponent to join.");
|
||||
break;
|
||||
case states.IN_FULL_ROOM:
|
||||
printOutputLine("You have already in a match.");
|
||||
break;
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void searchingStarted(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Searching for a match successfully started");
|
||||
currentState = states.REQUEST_FIND;
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Searching for a match error");
|
||||
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void updateRoom(Message<Room> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Received room update notification");
|
||||
Room room = msg.Data;
|
||||
|
||||
if (currentState == states.IN_EMPTY_ROOM)
|
||||
{
|
||||
// Check to see if this update is another user joining
|
||||
if (room.UsersOptional != null)
|
||||
{
|
||||
foreach (User element in room.UsersOptional)
|
||||
{
|
||||
if (element.ID != localUser.ID)
|
||||
{
|
||||
remoteUser = element;
|
||||
currentState = states.IN_FULL_ROOM;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Check to see if this update is another user leaving
|
||||
if (room.UsersOptional != null && room.UsersOptional.Count == 1)
|
||||
{
|
||||
printOutputLine("User ID: " + remoteUser.ID.ToString() + "has left");
|
||||
remoteUser = null;
|
||||
currentState = states.IN_EMPTY_ROOM;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Received room update error");
|
||||
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
}
|
||||
|
||||
void sendChat(string chatMessage)
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
|
||||
case states.IDLE:
|
||||
case states.REQUEST_FIND:
|
||||
case states.FINDING_ROOM:
|
||||
case states.REQUEST_JOIN:
|
||||
case states.REQUEST_CREATE:
|
||||
case states.REQUEST_LEAVE:
|
||||
case states.IN_EMPTY_ROOM:
|
||||
printOutputLine("You need to be in a room with another player to send a message.");
|
||||
break;
|
||||
|
||||
case states.IN_FULL_ROOM:
|
||||
{
|
||||
chatPacket newMessage = new chatPacket();
|
||||
|
||||
// Create a packet to send with the packet ID and string payload
|
||||
lastPacketID++;
|
||||
newMessage.packetID = lastPacketID;
|
||||
newMessage.textString = chatMessage;
|
||||
|
||||
Oculus.Platform.Net.SendPacket(remoteUser.ID, newMessage.Serialize(), SendPolicy.Reliable);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void processNetPackets()
|
||||
{
|
||||
Packet incomingPacket = Net.ReadPacket();
|
||||
|
||||
while (incomingPacket != null)
|
||||
{
|
||||
byte[] rawBits = new byte[incomingPacket.Size];
|
||||
incomingPacket.ReadBytes(rawBits);
|
||||
|
||||
chatPacket newMessage = chatPacket.Deserialize(rawBits);
|
||||
|
||||
printOutputLine("Chat Text: " + newMessage.textString.ToString());
|
||||
printOutputLine("Received Packet from UserID: " + incomingPacket.SenderID.ToString());
|
||||
printOutputLine("Received Packet ID: " + newMessage.packetID.ToString());
|
||||
|
||||
// Look to see if there's another packet waiting
|
||||
incomingPacket = Net.ReadPacket();
|
||||
}
|
||||
}
|
||||
|
||||
void requestLeaveRoom()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
|
||||
case states.IDLE:
|
||||
case states.REQUEST_FIND:
|
||||
case states.FINDING_ROOM:
|
||||
case states.REQUEST_JOIN:
|
||||
case states.REQUEST_CREATE:
|
||||
printOutputLine("You are currently not in a room to leave.");
|
||||
break;
|
||||
|
||||
case states.REQUEST_LEAVE:
|
||||
printOutputLine("We are currently trying to leave a room. Please wait to see if we can leave it.");
|
||||
break;
|
||||
|
||||
case states.IN_EMPTY_ROOM:
|
||||
case states.IN_FULL_ROOM:
|
||||
printOutputLine("Trying to leave room.");
|
||||
Rooms.Leave(currentRoom.ID).OnComplete(leaveRoomResponse);
|
||||
break;
|
||||
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void leaveRoomResponse(Message<Room> msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("We were able to leave the room");
|
||||
currentRoom = null;
|
||||
remoteUser = null;
|
||||
currentState = states.IDLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("Leave room error");
|
||||
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Error: " + error.Message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void requestStartRatedMatch()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
|
||||
case states.IDLE:
|
||||
case states.REQUEST_FIND:
|
||||
case states.FINDING_ROOM:
|
||||
case states.REQUEST_JOIN:
|
||||
case states.REQUEST_CREATE:
|
||||
case states.REQUEST_LEAVE:
|
||||
case states.IN_EMPTY_ROOM:
|
||||
printOutputLine("You need to be in a room with another player to start a rated match.");
|
||||
break;
|
||||
|
||||
case states.IN_FULL_ROOM:
|
||||
printOutputLine("Trying to start a rated match. This call should be made once a rated match begins so we will be able to submit results after the game is done.");
|
||||
|
||||
Matchmaking.StartMatch(currentRoom.ID).OnComplete(startRatedMatchResponse);
|
||||
break;
|
||||
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void startRatedMatchResponse(Message msg)
|
||||
{
|
||||
if(!msg.IsError)
|
||||
{
|
||||
printOutputLine("Started a rated match");
|
||||
ratedMatchStarted = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Received starting rated match failure: " + error.Message);
|
||||
printOutputLine("Your matchmaking pool needs to have a skill pool associated with it to play rated matches");
|
||||
}
|
||||
}
|
||||
|
||||
void requestReportResults()
|
||||
{
|
||||
switch (currentState)
|
||||
{
|
||||
case states.NOT_INIT:
|
||||
printOutputLine("The app has not initialized properly and we don't know your userID.");
|
||||
break;
|
||||
|
||||
case states.IDLE:
|
||||
case states.REQUEST_FIND:
|
||||
case states.FINDING_ROOM:
|
||||
case states.REQUEST_JOIN:
|
||||
case states.REQUEST_CREATE:
|
||||
case states.REQUEST_LEAVE:
|
||||
printOutputLine("You need to be in a room with another player to report results on a rated match.");
|
||||
break;
|
||||
|
||||
case states.IN_EMPTY_ROOM:
|
||||
case states.IN_FULL_ROOM:
|
||||
if (ratedMatchStarted)
|
||||
{
|
||||
printOutputLine("Submitting rated match results.");
|
||||
|
||||
Dictionary <string, int> results = new Dictionary<string, int>();
|
||||
results.Add(localUser.ID.ToString(), 1);
|
||||
results.Add(remoteUser.ID.ToString(), 2);
|
||||
|
||||
Matchmaking.ReportResultsInsecure(currentRoom.ID, results).OnComplete(reportResultsResponse);
|
||||
}
|
||||
else
|
||||
{
|
||||
printOutputLine("You can't report results unless you've already started a rated match");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
printOutputLine("You have hit an unknown state.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void reportResultsResponse(Message msg)
|
||||
{
|
||||
if (!msg.IsError)
|
||||
{
|
||||
printOutputLine("Rated match results reported. Now attempting to leave room.");
|
||||
ratedMatchStarted = false;
|
||||
requestLeaveRoom();
|
||||
}
|
||||
else
|
||||
{
|
||||
Error error = msg.GetError();
|
||||
printOutputLine("Received reporting rated match failure: " + error.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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:
|
||||
961
Assets/Oculus/Platform/Samples/NetChat/MainScene.unity
Normal file
961
Assets/Oculus/Platform/Samples/NetChat/MainScene.unity
Normal file
@@ -0,0 +1,961 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 9
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.44657874, g: 0.49641275, b: 0.57481706, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &4
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 11
|
||||
m_GIWorkflowMode: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 1
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 0
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_FinalGather: 0
|
||||
m_FinalGatherFiltering: 1
|
||||
m_FinalGatherRayCount: 1024
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 1
|
||||
m_BakeBackend: 0
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 500
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 500
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 0
|
||||
m_PVRDenoiserTypeDirect: 0
|
||||
m_PVRDenoiserTypeIndirect: 0
|
||||
m_PVRDenoiserTypeAO: 0
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 0
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 0}
|
||||
m_UseShadowmask: 0
|
||||
--- !u!196 &5
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 2
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
accuratePlacement: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &71451189
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 71451191}
|
||||
- component: {fileID: 71451190}
|
||||
m_Layer: 0
|
||||
m_Name: Directional Light
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!108 &71451190
|
||||
Light:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 71451189}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 10
|
||||
m_Type: 1
|
||||
m_Shape: 0
|
||||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
|
||||
m_Intensity: 1
|
||||
m_Range: 10
|
||||
m_SpotAngle: 30
|
||||
m_InnerSpotAngle: 21.802082
|
||||
m_CookieSize: 10
|
||||
m_Shadows:
|
||||
m_Type: 2
|
||||
m_Resolution: -1
|
||||
m_CustomResolution: -1
|
||||
m_Strength: 1
|
||||
m_Bias: 0.05
|
||||
m_NormalBias: 0.4
|
||||
m_NearPlane: 0.2
|
||||
m_CullingMatrixOverride:
|
||||
e00: 1
|
||||
e01: 0
|
||||
e02: 0
|
||||
e03: 0
|
||||
e10: 0
|
||||
e11: 1
|
||||
e12: 0
|
||||
e13: 0
|
||||
e20: 0
|
||||
e21: 0
|
||||
e22: 1
|
||||
e23: 0
|
||||
e30: 0
|
||||
e31: 0
|
||||
e32: 0
|
||||
e33: 1
|
||||
m_UseCullingMatrixOverride: 0
|
||||
m_Cookie: {fileID: 0}
|
||||
m_DrawHalo: 0
|
||||
m_Flare: {fileID: 0}
|
||||
m_RenderMode: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingLayerMask: 1
|
||||
m_Lightmapping: 4
|
||||
m_LightShadowCasterMode: 0
|
||||
m_AreaSize: {x: 1, y: 1}
|
||||
m_BounceIntensity: 1
|
||||
m_ColorTemperature: 6570
|
||||
m_UseColorTemperature: 0
|
||||
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_UseBoundingSphereOverride: 0
|
||||
m_ShadowRadius: 0
|
||||
m_ShadowAngle: 0
|
||||
--- !u!4 &71451191
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 71451189}
|
||||
m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.109381676, w: 0.87542605}
|
||||
m_LocalPosition: {x: 0, y: 3, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &226720192
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 226720193}
|
||||
- component: {fileID: 226720196}
|
||||
- component: {fileID: 226720195}
|
||||
- component: {fileID: 226720194}
|
||||
m_Layer: 5
|
||||
m_Name: Canvas
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &226720193
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 226720192}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0, y: 0, z: 0}
|
||||
m_Children:
|
||||
- {fileID: 1737575280}
|
||||
- {fileID: 1536036709}
|
||||
- {fileID: 1288670679}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0}
|
||||
--- !u!114 &226720194
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 226720192}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!114 &226720195
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 226720192}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UiScaleMode: 0
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 800, y: 600}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
--- !u!223 &226720196
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 226720192}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 0
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_AdditionalShaderChannelsFlag: 25
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!1 &457622391
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 457622396}
|
||||
- component: {fileID: 457622395}
|
||||
- component: {fileID: 457622393}
|
||||
- component: {fileID: 457622392}
|
||||
m_Layer: 0
|
||||
m_Name: Main Camera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &457622392
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 457622391}
|
||||
m_Enabled: 1
|
||||
--- !u!124 &457622393
|
||||
Behaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 457622391}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &457622395
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 457622391}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_FocalLength: 50
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 0
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &457622396
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 457622391}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &761396705
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 761396708}
|
||||
- component: {fileID: 761396707}
|
||||
- component: {fileID: 761396706}
|
||||
m_Layer: 5
|
||||
m_Name: Placeholder
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &761396706
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 761396705}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 2
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Enter command
|
||||
--- !u!222 &761396707
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 761396705}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!224 &761396708
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 761396705}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1737575280}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_SizeDelta: {x: -20, y: -13}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &1288670678
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1288670679}
|
||||
- component: {fileID: 1288670681}
|
||||
- component: {fileID: 1288670680}
|
||||
m_Layer: 5
|
||||
m_Name: Commands
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1288670679
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1288670678}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 226720193}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 50, y: 150}
|
||||
m_SizeDelta: {x: 700, y: 450}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1288670680
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1288670678}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: "List of Commands\r\n----------------\r-----\nc - create chat room for
|
||||
matchmaking (Room Mode)\nd - create filtered chat room for matchmaking (Room
|
||||
Mode)\nf - find chat room for matchmaking (Bout Mode)\ng - find chat room for
|
||||
matchmaking w/o filters (Room Mode)\ni - find chat room for matchmaking using
|
||||
filters (Room Mode)\nl - Leave current room\n1 - Start a rated match\n2- Report
|
||||
match results\ns!<chat message> - Send chat message\n"
|
||||
--- !u!222 &1288670681
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1288670678}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1536036708
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1536036709}
|
||||
- component: {fileID: 1536036711}
|
||||
- component: {fileID: 1536036710}
|
||||
m_Layer: 5
|
||||
m_Name: Output
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1536036709
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1536036708}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 226720193}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -300}
|
||||
m_SizeDelta: {x: 600, y: 300}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1536036710
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1536036708}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: '>
|
||||
|
||||
'
|
||||
--- !u!222 &1536036711
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1536036708}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1737575279
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1737575280}
|
||||
- component: {fileID: 1737575284}
|
||||
- component: {fileID: 1737575283}
|
||||
- component: {fileID: 1737575282}
|
||||
- component: {fileID: 1737575281}
|
||||
m_Layer: 5
|
||||
m_Name: InputField
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1737575280
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1737575279}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 761396708}
|
||||
- {fileID: 1773483966}
|
||||
m_Father: {fileID: 226720193}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: -100}
|
||||
m_SizeDelta: {x: 400, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1737575281
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1737575279}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bfbb4b78fb9572d4da744c39224c6f1d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
dataOutput: {fileID: 1536036710}
|
||||
--- !u!114 &1737575282
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1737575279}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Highlighted
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 1737575283}
|
||||
m_TextComponent: {fileID: 1773483967}
|
||||
m_Placeholder: {fileID: 761396706}
|
||||
m_ContentType: 0
|
||||
m_InputType: 0
|
||||
m_AsteriskChar: 42
|
||||
m_KeyboardType: 0
|
||||
m_LineType: 0
|
||||
m_HideMobileInput: 0
|
||||
m_CharacterValidation: 0
|
||||
m_CharacterLimit: 0
|
||||
m_OnEndEdit:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_OnValueChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_CustomCaretColor: 0
|
||||
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
|
||||
m_Text:
|
||||
m_CaretBlinkRate: 0.85
|
||||
m_CaretWidth: 1
|
||||
m_ReadOnly: 0
|
||||
--- !u!114 &1737575283
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1737575279}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &1737575284
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1737575279}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &1773483965
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1773483966}
|
||||
- component: {fileID: 1773483968}
|
||||
- component: {fileID: 1773483967}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1773483966
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1773483965}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1737575280}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -0.5}
|
||||
m_SizeDelta: {x: -20, y: -13}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1773483967
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1773483965}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 0
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text:
|
||||
--- !u!222 &1773483968
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1773483965}
|
||||
m_CullTransparentMesh: 0
|
||||
--- !u!1 &2040691524
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2040691528}
|
||||
- component: {fileID: 2040691527}
|
||||
- component: {fileID: 2040691526}
|
||||
- component: {fileID: 2040691525}
|
||||
m_Layer: 0
|
||||
m_Name: EventSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &2040691525
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2040691524}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2d49b7c1bcd2e07499844da127be038d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_ForceModuleActive: 0
|
||||
--- !u!114 &2040691526
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2040691524}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalAxis: Horizontal
|
||||
m_VerticalAxis: Vertical
|
||||
m_SubmitButton: Submit
|
||||
m_CancelButton: Cancel
|
||||
m_InputActionsPerSecond: 10
|
||||
m_RepeatDelay: 0.5
|
||||
m_ForceModuleActive: 0
|
||||
--- !u!114 &2040691527
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2040691524}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 5
|
||||
--- !u!4 &2040691528
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2040691524}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4a5c060329791374cba1196f7ac36ef5
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user