Profiles should be fine now. I just need to do server code that's it
This commit is contained in:
@@ -122,9 +122,8 @@ public class ProfileMenu : MonoBehaviour
|
||||
|
||||
public async Task Init(BigInteger playerID)
|
||||
{
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("uesrId", playerID.ToString());
|
||||
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/getAccountProfile.php", dataForm);
|
||||
if (BazookaManager.Instance.GetAccountID() == playerID) { await Init(); return; }
|
||||
using UnityWebRequest request = UnityWebRequest.Get(Endpoints.PROFILE_ENDPOINT + "?userId=" + playerID.ToString());
|
||||
request.SetRequestHeader("Requester", "BerryDashClient");
|
||||
request.SetRequestHeader("ClientVersion", Application.version);
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
@@ -134,51 +133,82 @@ public class ProfileMenu : MonoBehaviour
|
||||
return;
|
||||
}
|
||||
string response = request.downloadHandler.text;
|
||||
var jsonResponse = JObject.Parse(response);
|
||||
if ((bool)jsonResponse["success"])
|
||||
try
|
||||
{
|
||||
var totalNormalBerries = (string)jsonResponse["totalNormalBerries"];
|
||||
var totalPoisonBerries = (string)jsonResponse["totalPoisonBerries"];
|
||||
var totalSlowBerries = (string)jsonResponse["totalSlowBerries"];
|
||||
var totalUltraBerries = (string)jsonResponse["totalUltraBerries"];
|
||||
var totalSpeedyBerries = (string)jsonResponse["totalSpeedyBerries"];
|
||||
var totalCoinBerries = (string)jsonResponse["totalCoinBerries"];
|
||||
var totalRandomBerries = (string)jsonResponse["totalRandomBerries"];
|
||||
var totalAntiBerries = (string)jsonResponse["totalAntiBerries"];
|
||||
var coins = (string)jsonResponse["coins"];
|
||||
var name = (string)jsonResponse["name"];
|
||||
var icon = (int)jsonResponse["icon"];
|
||||
var overlay = (int)jsonResponse["overlay"];
|
||||
var customIcon = (string)jsonResponse["customIcon"];
|
||||
var playerIconColorArray = JArray.Parse(jsonResponse["playerIconColor"].ToString());
|
||||
var playerIconColor = new Color((int)playerIconColorArray[0] / 255f, (int)playerIconColorArray[1] / 255f, (int)playerIconColorArray[2] / 255f);
|
||||
var playerOverlayColorArray = JArray.Parse(jsonResponse["playerOverlayColor"].ToString());
|
||||
var playerOverlayColor = new Color((int)playerOverlayColorArray[0] / 255f, (int)playerOverlayColorArray[1] / 255f, (int)playerOverlayColorArray[2] / 255f);
|
||||
await Init(
|
||||
totalNormalBerries,
|
||||
totalPoisonBerries,
|
||||
totalSlowBerries,
|
||||
totalUltraBerries,
|
||||
totalSpeedyBerries,
|
||||
totalCoinBerries,
|
||||
totalRandomBerries,
|
||||
totalAntiBerries,
|
||||
coins,
|
||||
name,
|
||||
playerID,
|
||||
icon,
|
||||
overlay,
|
||||
customIcon,
|
||||
playerIconColor,
|
||||
playerOverlayColor
|
||||
);
|
||||
var jsonResponse = JObject.Parse(response);
|
||||
if ((bool)jsonResponse["success"])
|
||||
{
|
||||
var iconColorArray = JArray.Parse(jsonResponse["data"]["iconColor"].Type == JTokenType.Null ? "[255,255,255]" : jsonResponse["data"]["iconColor"].ToString());
|
||||
var overlayColorArray = JArray.Parse(jsonResponse["data"]["overlayColor"].Type == JTokenType.Null ? "[255,255,255]" : jsonResponse["data"]["overlayColor"].ToString());
|
||||
var iconColor = new Color((int)iconColorArray[0] / 255f, (int)iconColorArray[1] / 255f, (int)iconColorArray[2] / 255f);
|
||||
var overlayColor = new Color((int)overlayColorArray[0] / 255f, (int)overlayColorArray[1] / 255f, (int)overlayColorArray[2] / 255f);
|
||||
await Init(
|
||||
(string)jsonResponse["data"]["stats"]["totalNormalBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["totalPoisonBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["totalSlowBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["totalUltraBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["totalSpeedyBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["totalCoinBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["totalRandomBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["totalAntiBerries"],
|
||||
(string)jsonResponse["data"]["stats"]["coins"],
|
||||
(string)jsonResponse["data"]["username"],
|
||||
playerID,
|
||||
int.Parse(jsonResponse["data"]["icon"].Type == JTokenType.Null ? "1" : jsonResponse["data"]["icon"].ToString()),
|
||||
int.Parse(jsonResponse["data"]["overlay"].Type == JTokenType.Null ? "0" : jsonResponse["data"]["overlay"].ToString()),
|
||||
(string)jsonResponse["data"]["customIcon"],
|
||||
iconColor,
|
||||
overlayColor
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
else
|
||||
catch
|
||||
{
|
||||
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task Init()
|
||||
{
|
||||
var customIconData = BazookaManager.Instance.GetCustomBirdIconData();
|
||||
string customIcon = null;
|
||||
if (customIconData.Selected != null)
|
||||
{
|
||||
foreach (var icon in customIconData.Data)
|
||||
{
|
||||
if (icon.UUID == customIconData.Selected)
|
||||
{
|
||||
customIcon = icon.Data;
|
||||
}
|
||||
}
|
||||
}
|
||||
var iconColor = BazookaManager.Instance.GetColorSettingIcon();
|
||||
var overlayColor = BazookaManager.Instance.GetColorSettingOverlay();
|
||||
await Init(
|
||||
BazookaManager.Instance.GetGameStoreTotalNormalBerries().ToString(),
|
||||
BazookaManager.Instance.GetGameStoreTotalPoisonBerries().ToString(),
|
||||
BazookaManager.Instance.GetGameStoreTotalSlowBerries().ToString(),
|
||||
BazookaManager.Instance.GetGameStoreTotalUltraBerries().ToString(),
|
||||
BazookaManager.Instance.GetGameStoreTotalSpeedyBerries().ToString(),
|
||||
BazookaManager.Instance.GetGameStoreTotalCoinBerries().ToString(),
|
||||
BazookaManager.Instance.GetGameStoreTotalRandomBerries().ToString(),
|
||||
BazookaManager.Instance.GetGameStoreTotalAntiBerries().ToString(),
|
||||
customIconData.Balance.ToString(),
|
||||
BazookaManager.Instance.GetAccountName().ToString(),
|
||||
BazookaManager.Instance.GetAccountID() ?? 0,
|
||||
BazookaManager.Instance.GetBirdIcon(),
|
||||
BazookaManager.Instance.GetBirdOverlay(),
|
||||
customIcon,
|
||||
new Color((int)iconColor[0] / 255f, (int)iconColor[1] / 255f, (int)iconColor[2] / 255f),
|
||||
new Color((int)overlayColor[0] / 255f, (int)overlayColor[1] / 255f, (int)overlayColor[2] / 255f)
|
||||
);
|
||||
}
|
||||
|
||||
async Task RefreshPosts(BigInteger playerID, string playerName)
|
||||
{
|
||||
exitButton.interactable = false;
|
||||
@@ -191,15 +221,15 @@ public class ProfileMenu : MonoBehaviour
|
||||
Destroy(post.gameObject);
|
||||
}
|
||||
}
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("targetId", playerID.ToString());
|
||||
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/getAccountProfileMessages.php", dataForm);
|
||||
using UnityWebRequest request = UnityWebRequest.Get(Endpoints.PROFILE_POSTS_ENDPOINT + "?userId=" + playerID.ToString());
|
||||
request.SetRequestHeader("Requester", "BerryDashClient");
|
||||
request.SetRequestHeader("ClientVersion", Application.version);
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.result != UnityWebRequest.Result.Success)
|
||||
{
|
||||
exitButton.interactable = true;
|
||||
refreshButton.interactable = true;
|
||||
return;
|
||||
}
|
||||
string response = request.downloadHandler.text;
|
||||
@@ -222,7 +252,7 @@ public class ProfileMenu : MonoBehaviour
|
||||
entryLikesCount.text = Tools.FormatWithCommas(post.Likes);
|
||||
entryLikesButton.onClick.AddListener(() =>
|
||||
{
|
||||
if (canVote && BazookaManager.Instance.GetAccountID() != null && BazookaManager.Instance.GetAccountID() != post.UserID)
|
||||
if (canVote && BazookaManager.Instance.GetAccountID() != null && BazookaManager.Instance.GetAccountID() != playerID)
|
||||
{
|
||||
var likedPosts = BazookaManager.Instance
|
||||
.GetLikedPosts()
|
||||
@@ -231,9 +261,9 @@ public class ProfileMenu : MonoBehaviour
|
||||
if (!likedPosts.Any(x => x.ToString() == post.ID.ToString())) VotePost(post.ID, entryLikesCount, entryLikesTexture);
|
||||
}
|
||||
});
|
||||
entryMessage.text = Encoding.UTF8.GetString(Convert.FromBase64String(post.Content));
|
||||
entryMessage.text = post.Content;
|
||||
entryTimestamp.text = post.Timestamp.ToString();
|
||||
if (BazookaManager.Instance.GetAccountID() == post.UserID)
|
||||
if (BazookaManager.Instance.GetAccountID() == playerID)
|
||||
{
|
||||
entryDeleteButton.gameObject.SetActive(true);
|
||||
entryDeleteButton.onClick.AddListener(async () => await DeletePost(entry, post.ID));
|
||||
@@ -278,9 +308,8 @@ public class ProfileMenu : MonoBehaviour
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("targetId", postId.ToString());
|
||||
dataForm.AddField("liked", liked ? "1" : "0");
|
||||
dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
|
||||
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
|
||||
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/voteAccountProfileMessage.php", dataForm);
|
||||
using UnityWebRequest request = UnityWebRequest.Put(Endpoints.PROFILE_POSTS_ENDPOINT, dataForm.data);
|
||||
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
|
||||
request.SetRequestHeader("Requester", "BerryDashClient");
|
||||
request.SetRequestHeader("ClientVersion", Application.version);
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
@@ -313,7 +342,7 @@ public class ProfileMenu : MonoBehaviour
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
catch
|
||||
{
|
||||
Debug.LogError("Failed to proccess vote");
|
||||
}
|
||||
@@ -339,59 +368,29 @@ public class ProfileMenu : MonoBehaviour
|
||||
{
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("content", message);
|
||||
dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
|
||||
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
|
||||
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/uploadAccountProfileMessage.php", dataForm);
|
||||
using UnityWebRequest request = UnityWebRequest.Post(Endpoints.PROFILE_POSTS_ENDPOINT, dataForm);
|
||||
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
|
||||
request.SetRequestHeader("Requester", "BerryDashClient");
|
||||
request.SetRequestHeader("ClientVersion", Application.version);
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.result != UnityWebRequest.Result.Success)
|
||||
if (request.result == UnityWebRequest.Result.Success && request.responseCode == 200)
|
||||
{
|
||||
return;
|
||||
}
|
||||
string response = request.downloadHandler.text;
|
||||
try
|
||||
{
|
||||
var jsonResponse = JObject.Parse(response);
|
||||
if ((bool)jsonResponse["success"])
|
||||
{
|
||||
await RefreshPosts(BazookaManager.Instance.GetAccountID() ?? 0, BazookaManager.Instance.GetAccountName());
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Debug.LogError("Failed to upload post");
|
||||
await RefreshPosts(BazookaManager.Instance.GetAccountID() ?? 0, BazookaManager.Instance.GetAccountName());
|
||||
}
|
||||
}
|
||||
|
||||
async Task DeletePost(GameObject entryObject, BigInteger targetId)
|
||||
{
|
||||
WWWForm dataForm = new();
|
||||
dataForm.AddField("targetId", targetId.ToString());
|
||||
dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
|
||||
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
|
||||
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/deleteAccountProfileMessage.php", dataForm);
|
||||
using UnityWebRequest request = UnityWebRequest.Delete(Endpoints.PROFILE_POSTS_ENDPOINT + "?id=" + targetId.ToString());
|
||||
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
|
||||
request.SetRequestHeader("Requester", "BerryDashClient");
|
||||
request.SetRequestHeader("ClientVersion", Application.version);
|
||||
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
||||
await request.SendWebRequest();
|
||||
if (request.result != UnityWebRequest.Result.Success)
|
||||
if (request.result == UnityWebRequest.Result.Success && request.responseCode == 200)
|
||||
{
|
||||
return;
|
||||
}
|
||||
string response = request.downloadHandler.text;
|
||||
try
|
||||
{
|
||||
var jsonResponse = JObject.Parse(response);
|
||||
if ((bool)jsonResponse["success"])
|
||||
{
|
||||
Destroy(entryObject);
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
Debug.LogError("Failed to upload post");
|
||||
Destroy(entryObject);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user