|
|
|
@@ -122,9 +122,8 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
|
|
|
|
|
|
|
|
public async Task Init(BigInteger playerID)
|
|
|
|
public async Task Init(BigInteger playerID)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
WWWForm dataForm = new();
|
|
|
|
if (BazookaManager.Instance.GetAccountID() == playerID) { await Init(); return; }
|
|
|
|
dataForm.AddField("uesrId", playerID.ToString());
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Get(Endpoints.PROFILE_ENDPOINT + "?userId=" + playerID.ToString());
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/getAccountProfile.php", dataForm);
|
|
|
|
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
@@ -134,51 +133,82 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
string response = request.downloadHandler.text;
|
|
|
|
string response = request.downloadHandler.text;
|
|
|
|
var jsonResponse = JObject.Parse(response);
|
|
|
|
try
|
|
|
|
if ((bool)jsonResponse["success"])
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var totalNormalBerries = (string)jsonResponse["totalNormalBerries"];
|
|
|
|
var jsonResponse = JObject.Parse(response);
|
|
|
|
var totalPoisonBerries = (string)jsonResponse["totalPoisonBerries"];
|
|
|
|
if ((bool)jsonResponse["success"])
|
|
|
|
var totalSlowBerries = (string)jsonResponse["totalSlowBerries"];
|
|
|
|
{
|
|
|
|
var totalUltraBerries = (string)jsonResponse["totalUltraBerries"];
|
|
|
|
var iconColorArray = JArray.Parse(jsonResponse["data"]["iconColor"].Type == JTokenType.Null ? "[255,255,255]" : jsonResponse["data"]["iconColor"].ToString());
|
|
|
|
var totalSpeedyBerries = (string)jsonResponse["totalSpeedyBerries"];
|
|
|
|
var overlayColorArray = JArray.Parse(jsonResponse["data"]["overlayColor"].Type == JTokenType.Null ? "[255,255,255]" : jsonResponse["data"]["overlayColor"].ToString());
|
|
|
|
var totalCoinBerries = (string)jsonResponse["totalCoinBerries"];
|
|
|
|
var iconColor = new Color((int)iconColorArray[0] / 255f, (int)iconColorArray[1] / 255f, (int)iconColorArray[2] / 255f);
|
|
|
|
var totalRandomBerries = (string)jsonResponse["totalRandomBerries"];
|
|
|
|
var overlayColor = new Color((int)overlayColorArray[0] / 255f, (int)overlayColorArray[1] / 255f, (int)overlayColorArray[2] / 255f);
|
|
|
|
var totalAntiBerries = (string)jsonResponse["totalAntiBerries"];
|
|
|
|
await Init(
|
|
|
|
var coins = (string)jsonResponse["coins"];
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalNormalBerries"],
|
|
|
|
var name = (string)jsonResponse["name"];
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalPoisonBerries"],
|
|
|
|
var icon = (int)jsonResponse["icon"];
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalSlowBerries"],
|
|
|
|
var overlay = (int)jsonResponse["overlay"];
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalUltraBerries"],
|
|
|
|
var customIcon = (string)jsonResponse["customIcon"];
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalSpeedyBerries"],
|
|
|
|
var playerIconColorArray = JArray.Parse(jsonResponse["playerIconColor"].ToString());
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalCoinBerries"],
|
|
|
|
var playerIconColor = new Color((int)playerIconColorArray[0] / 255f, (int)playerIconColorArray[1] / 255f, (int)playerIconColorArray[2] / 255f);
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalRandomBerries"],
|
|
|
|
var playerOverlayColorArray = JArray.Parse(jsonResponse["playerOverlayColor"].ToString());
|
|
|
|
(string)jsonResponse["data"]["stats"]["totalAntiBerries"],
|
|
|
|
var playerOverlayColor = new Color((int)playerOverlayColorArray[0] / 255f, (int)playerOverlayColorArray[1] / 255f, (int)playerOverlayColorArray[2] / 255f);
|
|
|
|
(string)jsonResponse["data"]["stats"]["coins"],
|
|
|
|
await Init(
|
|
|
|
(string)jsonResponse["data"]["username"],
|
|
|
|
totalNormalBerries,
|
|
|
|
playerID,
|
|
|
|
totalPoisonBerries,
|
|
|
|
int.Parse(jsonResponse["data"]["icon"].Type == JTokenType.Null ? "1" : jsonResponse["data"]["icon"].ToString()),
|
|
|
|
totalSlowBerries,
|
|
|
|
int.Parse(jsonResponse["data"]["overlay"].Type == JTokenType.Null ? "0" : jsonResponse["data"]["overlay"].ToString()),
|
|
|
|
totalUltraBerries,
|
|
|
|
(string)jsonResponse["data"]["customIcon"],
|
|
|
|
totalSpeedyBerries,
|
|
|
|
iconColor,
|
|
|
|
totalCoinBerries,
|
|
|
|
overlayColor
|
|
|
|
totalRandomBerries,
|
|
|
|
);
|
|
|
|
totalAntiBerries,
|
|
|
|
}
|
|
|
|
coins,
|
|
|
|
else
|
|
|
|
name,
|
|
|
|
{
|
|
|
|
playerID,
|
|
|
|
Destroy(gameObject);
|
|
|
|
icon,
|
|
|
|
}
|
|
|
|
overlay,
|
|
|
|
|
|
|
|
customIcon,
|
|
|
|
|
|
|
|
playerIconColor,
|
|
|
|
|
|
|
|
playerOverlayColor
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
catch
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
Destroy(gameObject);
|
|
|
|
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)
|
|
|
|
async Task RefreshPosts(BigInteger playerID, string playerName)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
exitButton.interactable = false;
|
|
|
|
exitButton.interactable = false;
|
|
|
|
@@ -191,15 +221,15 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
Destroy(post.gameObject);
|
|
|
|
Destroy(post.gameObject);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
WWWForm dataForm = new();
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Get(Endpoints.PROFILE_POSTS_ENDPOINT + "?userId=" + playerID.ToString());
|
|
|
|
dataForm.AddField("targetId", playerID.ToString());
|
|
|
|
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/getAccountProfileMessages.php", dataForm);
|
|
|
|
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
await request.SendWebRequest();
|
|
|
|
await request.SendWebRequest();
|
|
|
|
if (request.result != UnityWebRequest.Result.Success)
|
|
|
|
if (request.result != UnityWebRequest.Result.Success)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
exitButton.interactable = true;
|
|
|
|
|
|
|
|
refreshButton.interactable = true;
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
string response = request.downloadHandler.text;
|
|
|
|
string response = request.downloadHandler.text;
|
|
|
|
@@ -222,7 +252,7 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
entryLikesCount.text = Tools.FormatWithCommas(post.Likes);
|
|
|
|
entryLikesCount.text = Tools.FormatWithCommas(post.Likes);
|
|
|
|
entryLikesButton.onClick.AddListener(() =>
|
|
|
|
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
|
|
|
|
var likedPosts = BazookaManager.Instance
|
|
|
|
.GetLikedPosts()
|
|
|
|
.GetLikedPosts()
|
|
|
|
@@ -231,9 +261,9 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
if (!likedPosts.Any(x => x.ToString() == post.ID.ToString())) VotePost(post.ID, entryLikesCount, entryLikesTexture);
|
|
|
|
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();
|
|
|
|
entryTimestamp.text = post.Timestamp.ToString();
|
|
|
|
if (BazookaManager.Instance.GetAccountID() == post.UserID)
|
|
|
|
if (BazookaManager.Instance.GetAccountID() == playerID)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
entryDeleteButton.gameObject.SetActive(true);
|
|
|
|
entryDeleteButton.gameObject.SetActive(true);
|
|
|
|
entryDeleteButton.onClick.AddListener(async () => await DeletePost(entry, post.ID));
|
|
|
|
entryDeleteButton.onClick.AddListener(async () => await DeletePost(entry, post.ID));
|
|
|
|
@@ -278,9 +308,8 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
WWWForm dataForm = new();
|
|
|
|
WWWForm dataForm = new();
|
|
|
|
dataForm.AddField("targetId", postId.ToString());
|
|
|
|
dataForm.AddField("targetId", postId.ToString());
|
|
|
|
dataForm.AddField("liked", liked ? "1" : "0");
|
|
|
|
dataForm.AddField("liked", liked ? "1" : "0");
|
|
|
|
dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Put(Endpoints.PROFILE_POSTS_ENDPOINT, dataForm.data);
|
|
|
|
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
|
|
|
|
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/voteAccountProfileMessage.php", dataForm);
|
|
|
|
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
@@ -313,7 +342,7 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (Exception)
|
|
|
|
catch
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Debug.LogError("Failed to proccess vote");
|
|
|
|
Debug.LogError("Failed to proccess vote");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -339,59 +368,29 @@ public class ProfileMenu : MonoBehaviour
|
|
|
|
{
|
|
|
|
{
|
|
|
|
WWWForm dataForm = new();
|
|
|
|
WWWForm dataForm = new();
|
|
|
|
dataForm.AddField("content", message);
|
|
|
|
dataForm.AddField("content", message);
|
|
|
|
dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Post(Endpoints.PROFILE_POSTS_ENDPOINT, dataForm);
|
|
|
|
dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
|
|
|
|
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "berrydash/uploadAccountProfileMessage.php", dataForm);
|
|
|
|
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
await request.SendWebRequest();
|
|
|
|
await request.SendWebRequest();
|
|
|
|
if (request.result != UnityWebRequest.Result.Success)
|
|
|
|
if (request.result == UnityWebRequest.Result.Success && request.responseCode == 200)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
await RefreshPosts(BazookaManager.Instance.GetAccountID() ?? 0, BazookaManager.Instance.GetAccountName());
|
|
|
|
}
|
|
|
|
|
|
|
|
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");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
async Task DeletePost(GameObject entryObject, BigInteger targetId)
|
|
|
|
async Task DeletePost(GameObject entryObject, BigInteger targetId)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
WWWForm dataForm = new();
|
|
|
|
using UnityWebRequest request = UnityWebRequest.Delete(Endpoints.PROFILE_POSTS_ENDPOINT + "?id=" + targetId.ToString());
|
|
|
|
dataForm.AddField("targetId", targetId.ToString());
|
|
|
|
request.SetRequestHeader("Authorization", BazookaManager.Instance.GetAccountSession());
|
|
|
|
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);
|
|
|
|
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("Requester", "BerryDashClient");
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientVersion", Application.version);
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
|
|
|
|
await request.SendWebRequest();
|
|
|
|
await request.SendWebRequest();
|
|
|
|
if (request.result != UnityWebRequest.Result.Success)
|
|
|
|
if (request.result == UnityWebRequest.Result.Success && request.responseCode == 200)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return;
|
|
|
|
Destroy(entryObject);
|
|
|
|
}
|
|
|
|
|
|
|
|
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");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|