we can create rooms

This commit is contained in:
Morgan - 6 Freedom 2024-01-27 15:08:12 +01:00
parent 2620d91331
commit 6375f4a34f
3 changed files with 112 additions and 64 deletions

View File

@ -217,6 +217,65 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &1160494271
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1160494274}
- component: {fileID: 1160494273}
- component: {fileID: 1160494272}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1160494272
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1160494271}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: de098f8fd5f884a1aa55db7874246b92, type: 3}
m_Name:
m_EditorClassIdentifier:
propositionTime: 60
votingTime: 20
--- !u!114 &1160494273
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1160494271}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 153bd176c0ad8f82692512264f5245ba, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &1160494274
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1160494271}
serializedVersion: 2
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1330841196 --- !u!1 &1330841196
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -309,72 +368,10 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1963197093
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1963197096}
- component: {fileID: 1963197095}
- component: {fileID: 1963197094}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1963197094
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963197093}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0735c225bee4c490bbef74cb455fa748, type: 3}
m_Name:
m_EditorClassIdentifier:
promptList: {fileID: 11400000, guid: 21907abc84e40403ca34c4fb9ab30b06, type: 2}
addPrompt:
<id>k__BackingField: 8c52bab5-726b-42d6-bc54-42ed1898a50c
<fr>k__BackingField: hello
<en>k__BackingField: coucou
--- !u!114 &1963197095
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963197093}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 153bd176c0ad8f82692512264f5245ba, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &1963197096
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1963197093}
serializedVersion: 2
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_Roots: m_Roots:
- {fileID: 1330841199} - {fileID: 1330841199}
- {fileID: 272045953} - {fileID: 272045953}
- {fileID: 1963197096} - {fileID: 1160494274}

View File

@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine;
[System.Serializable] [System.Serializable]
public class Room public class Room
@ -7,5 +8,15 @@ public class Room
public List<Question> questions; public List<Question> questions;
public List<Player> players; public List<Player> players;
public int currentQuestion; public int currentQuestion;
public int creationDate; public double creationDate;
public Room(string _code)
{
this.code = _code;
this.creationDate = System.DateTime.Now.ToOADate();
this.players = new List<Player>();
this.questions = new List<Question>();
this.currentQuestion = 0;
}
} }

View File

@ -1,10 +1,13 @@
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using Firebase;
using Firebase.Database;
using UnityEngine; using UnityEngine;
public class RoomManager : MonoBehaviour public class RoomManager : MonoBehaviour
{ {
private RoomState currentState; private RoomState currentState;
private Room currentRoom = null;
private List<Player> players; private List<Player> players;
public float propositionTime = 60; public float propositionTime = 60;
@ -25,11 +28,48 @@ public class RoomManager : MonoBehaviour
/// </summary> /// </summary>
private int numberOfQuestionVoted = 0; private int numberOfQuestionVoted = 0;
DatabaseReference realtimeDB;
private void Awake()
{
FirebaseInitializer.Instance.onFirebaseReady += Initialize;
}
private void Start() private void Start()
{ {
propositionCurrentTime = propositionTime; propositionCurrentTime = propositionTime;
votingCurrentTime = votingTime; votingCurrentTime = votingTime;
//we need to call CreateNewRoom. but not yet
}
private void OnApplicationQuit()
{
realtimeDB.Child("rooms").Child(currentRoom.code).RemoveValueAsync();
Debug.Log($"delete room {currentRoom.code}");
currentRoom = null;
}
private void Initialize()
{
FirebaseInitializer.Instance.onFirebaseReady -= Initialize;
realtimeDB = FirebaseDatabase.DefaultInstance.RootReference;
Debug.Log("Realtime DB initialized");
}
/// <summary>
/// Automatically called at start of game
/// </summary>
[ContextMenu("Create New Room")]
public void CreateNewRoom()
{
Room newRoom = new Room(Random.Range(0, 1000).ToString("D4"));
currentRoom = newRoom;
string JSON = JsonUtility.ToJson(newRoom);
realtimeDB.Child("rooms").Child(newRoom.code).SetRawJsonValueAsync(JSON);
Debug.Log($"room {currentRoom.code} has been created on the server");
} }
public void PlayerSendProposition(Proposition _proposition) public void PlayerSendProposition(Proposition _proposition)