Improve player creation
This commit is contained in:
1 file changed
+31
-55
@@ -61,34 +61,7 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
||||
SceneManager.LoadScene("MainMenu");
|
||||
return;
|
||||
}
|
||||
foreach (var player in multiplayerGameTempData.players) {
|
||||
var birdCopy = Instantiate(birdTemplate);
|
||||
Destroy(birdCopy.GetComponent<Rigidbody2D>());
|
||||
Destroy(birdCopy.GetComponent<CircleCollider2D>());
|
||||
birdCopy.AddComponent<MultiplayerSmoothMove>();
|
||||
birdCopy.transform.SetParent(birdsParent.transform, false);
|
||||
birdCopy.name = "Bird_" + player.ID;
|
||||
birdCopy.SetActive(true);
|
||||
|
||||
MultiplayerUser playerToInsert = new() {
|
||||
ID = player.ID,
|
||||
Username = player.Username,
|
||||
Admin = player.Admin,
|
||||
JoinedAt = player.JoinedAt,
|
||||
};
|
||||
players.Add(playerToInsert);
|
||||
|
||||
Tools.LoadIcon(
|
||||
birdCopy.GetComponent<Image>(),
|
||||
birdCopy.transform.GetChild(0).GetComponent<Image>(),
|
||||
player.IconData.Icon,
|
||||
player.IconData.Overlay,
|
||||
player.IconData.IconColor,
|
||||
player.IconData.OverlayColor,
|
||||
player.IconData.CustomIcon,
|
||||
player.UserID
|
||||
);
|
||||
}
|
||||
foreach (var player in multiplayerGameTempData.players) CreatePlayer(player);
|
||||
Destroy(multiplayerGameTempData.gameObject);
|
||||
|
||||
var backgroundColor = BazookaManager.Instance.GetColorSettingBackground();
|
||||
@@ -145,33 +118,7 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
||||
berries.Add(berry);
|
||||
} else if (data["type"].ToString() == "multiplayer_player_join") {
|
||||
var userFromResponse = data.ToObject<MultiplayerPlayerFromResponse>();
|
||||
|
||||
var birdCopy = Instantiate(birdTemplate);
|
||||
Destroy(birdCopy.GetComponent<Rigidbody2D>());
|
||||
Destroy(birdCopy.GetComponent<CircleCollider2D>());
|
||||
birdCopy.AddComponent<MultiplayerSmoothMove>();
|
||||
birdCopy.transform.SetParent(birdsParent.transform, false);
|
||||
birdCopy.name = "Bird_" + userFromResponse.ID;
|
||||
birdCopy.SetActive(true);
|
||||
|
||||
MultiplayerUser player = new() {
|
||||
ID = userFromResponse.ID,
|
||||
Username = userFromResponse.Username,
|
||||
Admin = userFromResponse.Admin,
|
||||
JoinedAt = userFromResponse.JoinedAt,
|
||||
};
|
||||
players.Add(player);
|
||||
|
||||
Tools.LoadIcon(
|
||||
birdCopy.GetComponent<Image>(),
|
||||
birdCopy.transform.GetChild(0).GetComponent<Image>(),
|
||||
userFromResponse.IconData.Icon,
|
||||
userFromResponse.IconData.Overlay,
|
||||
userFromResponse.IconData.IconColor,
|
||||
userFromResponse.IconData.OverlayColor,
|
||||
userFromResponse.IconData.CustomIcon,
|
||||
userFromResponse.UserID
|
||||
);
|
||||
CreatePlayer(userFromResponse);
|
||||
} else if (data["type"].ToString() == "multiplayer_player_leave") {
|
||||
var userBird = GameObject.Find("Bird_" + data["id"].ToString());
|
||||
if (userBird) Destroy(userBird);
|
||||
@@ -524,4 +471,33 @@ public class MultiplayerGamePlayer : MonoBehaviour {
|
||||
Destroy(berry);
|
||||
berries.RemoveAll(b => b.ID == berry.name[6..]);
|
||||
}
|
||||
|
||||
void CreatePlayer(MultiplayerPlayerFromResponse player) {
|
||||
var birdCopy = Instantiate(birdTemplate);
|
||||
Destroy(birdCopy.GetComponent<Rigidbody2D>());
|
||||
Destroy(birdCopy.GetComponent<CircleCollider2D>());
|
||||
birdCopy.AddComponent<MultiplayerSmoothMove>();
|
||||
birdCopy.transform.SetParent(birdsParent.transform, false);
|
||||
birdCopy.name = "Bird_" + player.ID;
|
||||
birdCopy.SetActive(true);
|
||||
|
||||
MultiplayerUser playerToInsert = new() {
|
||||
ID = player.ID,
|
||||
Username = player.Username,
|
||||
Admin = player.Admin,
|
||||
JoinedAt = player.JoinedAt,
|
||||
};
|
||||
players.Add(playerToInsert);
|
||||
|
||||
Tools.LoadIcon(
|
||||
birdCopy.GetComponent<Image>(),
|
||||
birdCopy.transform.GetChild(0).GetComponent<Image>(),
|
||||
player.IconData.Icon,
|
||||
player.IconData.Overlay,
|
||||
player.IconData.IconColor,
|
||||
player.IconData.OverlayColor,
|
||||
player.IconData.CustomIcon,
|
||||
player.UserID
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user