Merge branch 'main' of https://git.crystalyx.net/GameJams/Snaparazzi
This commit is contained in:
commit
e105360132
@ -8,16 +8,15 @@ public class Question
|
||||
{
|
||||
public string id;
|
||||
public string promptId;
|
||||
public Dictionary<string, Proposition> propositions;
|
||||
public Dictionary<int, Proposition> propositions;
|
||||
public double creationDate;
|
||||
|
||||
public Proposition GetFirstProposition()
|
||||
{
|
||||
return propositions["0"];
|
||||
return propositions[0];
|
||||
}
|
||||
public Proposition GetSecondProposition()
|
||||
{
|
||||
return propositions["1"];
|
||||
return propositions[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
public class Room
|
||||
{
|
||||
public string code;
|
||||
public Dictionary<string, Question> questions;
|
||||
public Dictionary<int, Question> questions;
|
||||
public Dictionary<string, Player> players;
|
||||
public string currentQuestionId;
|
||||
public double creationDate;
|
||||
@ -19,7 +19,7 @@ public Room(string _code)
|
||||
code = _code;
|
||||
creationDate = DateTime.Now.ToOADate();
|
||||
players = new Dictionary<string, Player>();
|
||||
questions = new Dictionary<string, Question>();
|
||||
questions = new Dictionary<int, Question>();
|
||||
currentQuestionId = "";
|
||||
currentState = 1; //default by PC
|
||||
}
|
||||
@ -47,28 +47,23 @@ public List<Player> GetOrderedPlayerList()
|
||||
return players.Values.OrderBy(x => x.creationDate).ToList();
|
||||
}
|
||||
|
||||
public List<Question> GetQuestionList()
|
||||
{
|
||||
return new List<Question>(questions.Values);
|
||||
}
|
||||
|
||||
public List<Question> GetQuestionsByPlayer(Player player)
|
||||
{
|
||||
List<Question> questions = new();
|
||||
List<Question> playerQuestions = new();
|
||||
|
||||
foreach (Question question in GetQuestionList())
|
||||
foreach (Question question in new List<Question>(questions.Values))
|
||||
{
|
||||
foreach (Proposition proposition in new List<Proposition>(question.propositions.Values))
|
||||
{
|
||||
if (proposition.owner.id == player.id)
|
||||
{
|
||||
questions.Add(question);
|
||||
playerQuestions.Add(question);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return questions;
|
||||
return playerQuestions;
|
||||
}
|
||||
|
||||
|
||||
@ -79,21 +74,21 @@ public void SetPlayersAreReady(int _state)
|
||||
|
||||
public List<Proposition> GetPropositionsByPlayer(Player player)
|
||||
{
|
||||
List<Proposition> propositions = new();
|
||||
List<Proposition> playerPropositions = new();
|
||||
|
||||
foreach (Question question in GetQuestionList())
|
||||
foreach (Question question in new List<Question>(questions.Values))
|
||||
{
|
||||
foreach (Proposition proposition in new List<Proposition>(question.propositions.Values))
|
||||
{
|
||||
if (proposition.owner.id == player.id)
|
||||
{
|
||||
propositions.Add(proposition);
|
||||
playerPropositions.Add(proposition);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return propositions;
|
||||
return playerPropositions;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -32,9 +32,9 @@ void Redraw(int currentQuestion)
|
||||
cameraManager.WebcamResume();
|
||||
}
|
||||
|
||||
string GetPropRef(string playerId)
|
||||
int GetPropRef(Player player)
|
||||
{
|
||||
return gameManager.myRoom.questions[(currentQuestion - 1).ToString()].propositions.First(x => x.Value.owner.id == playerId).Key;
|
||||
return gameManager.myRoom.questions[currentQuestion - 1].propositions.First(x => x.Value.owner.id == player.id).Key;
|
||||
}
|
||||
|
||||
public void OnSubmitButton()
|
||||
@ -44,7 +44,7 @@ public void OnSubmitButton()
|
||||
gameManager.myRoom.code,
|
||||
gameManager.currentPlayer.id,
|
||||
currentQuestion,
|
||||
GetPropRef(gameManager.currentPlayer.id));
|
||||
GetPropRef(gameManager.currentPlayer));
|
||||
|
||||
if (currentQuestion < 2) {
|
||||
Redraw(++currentQuestion);
|
||||
|
@ -287,22 +287,22 @@ public void GeneratePrompts()
|
||||
System.Random rnd = new();
|
||||
List<Prompt> prompts = promptList.prompts.OrderBy(x => rnd.Next()).Take(myRoom.players.Count()).ToList();
|
||||
List<Player> players = myRoom.players.Values.ToList().OrderBy(x => rnd.Next()).ToList();
|
||||
Dictionary<string, Question> questions = new();
|
||||
Dictionary<int, Question> questions = new();
|
||||
|
||||
for (int i = 0; i < players.Count(); i++)
|
||||
{
|
||||
Dictionary<string, Proposition> propositions = new();
|
||||
Dictionary<int, Proposition> propositions = new();
|
||||
|
||||
for (int j = 0; j < 2; j++)
|
||||
{
|
||||
propositions.Add(j.ToString(), new Proposition()
|
||||
propositions.Add(j, new Proposition()
|
||||
{
|
||||
owner = players[i + j < players.Count() ? i + j : 0],
|
||||
creationDate = DateTime.Now.ToOADate()
|
||||
});
|
||||
}
|
||||
|
||||
questions.Add(i.ToString(), new Question()
|
||||
questions.Add(i, new Question()
|
||||
{
|
||||
id = Guid.NewGuid().ToString(),
|
||||
promptId = prompts[i].id,
|
||||
|
@ -33,7 +33,7 @@ void Update()
|
||||
|
||||
}
|
||||
|
||||
public void UploadPhoto(string roomCode, string playerId, int question, string proposition)
|
||||
public void UploadPhoto(string roomCode, string playerId, int question, int proposition)
|
||||
{
|
||||
Texture2D photo = gameObject.GetComponent<CameraManager>().GetPhoto();
|
||||
byte[] photoBytes = ImageConversion.EncodeToJPG(photo);
|
||||
@ -58,7 +58,7 @@ public void UploadPhoto(string roomCode, string playerId, int question, string p
|
||||
.Child("questions")
|
||||
.Child(question.ToString())
|
||||
.Child("propositions")
|
||||
.Child(proposition)
|
||||
.Child(proposition.ToString())
|
||||
.Child("photoUrl")
|
||||
.SetValueAsync(imageRef.Path);
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ private void Update()
|
||||
|
||||
|
||||
// Start is called before the first frame update
|
||||
public void ShowVotingPage(DatabaseReference _roomRef, Dictionary<string, Player> _currentPlayers, Dictionary<string, Question> _questions, Action _callback_OnVoteEnded)
|
||||
public void ShowVotingPage(DatabaseReference _roomRef, Dictionary<string, Player> _currentPlayers, Dictionary<int, Question> _questions, Action _callback_OnVoteEnded)
|
||||
{
|
||||
Debug.Log("Initializing voting page");
|
||||
this.gameObject.SetActive(true);
|
||||
@ -66,7 +66,7 @@ public void ShowVotingPage(DatabaseReference _roomRef, Dictionary<string, Player
|
||||
currentPlayers = _currentPlayers;
|
||||
OnVoteEnded = _callback_OnVoteEnded;
|
||||
|
||||
foreach (var QuestionByID in _questions)
|
||||
foreach (Dictionary<int, Question> QuestionByID in _questions)
|
||||
{
|
||||
remainingQuestions.Enqueue(QuestionByID.Value);
|
||||
roomRef.Child("questions").Child(QuestionByID.Key).ValueChanged += OnQuestionChanged;
|
||||
|
Loading…
Reference in New Issue
Block a user