Full Code
BackendGuild.cs
using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
// Add BACKND SDK namespace
using BackEnd;
public class BackendGuild
{
private static BackendGuild _instance = null;
public static BackendGuild Instance
{
get
{
if (_instance == null)
{
_instance = new BackendGuild();
}
return _instance;
}
}
public void CreateGuild(string guildName)
{
// goodsCount entering as 10 is the number of goods types that can be used and cannot be modified later.
var bro = Backend.Guild.CreateGuildV3(guildName, 10);
if (bro.IsSuccess() == false)
{
Debug.LogError("An error occurred while creating the guild. : " + bro);
return;
}
Debug.Log("Guild created. : " + bro);
}
public void RequestGuildJoin(string guildName)
{
var bro = Backend.Guild.GetGuildIndateByGuildNameV3(guildName);
if (bro.IsSuccess() == false)
{
Debug.LogError($"An error occurred while searching {guildName}. : " + bro);
return;
}
string guildInDate = bro.GetFlattenJSON()["guildInDate"].ToString();
bro = Backend.Guild.ApplyGuildV3(guildInDate);
if (bro.IsSuccess() == false)
{
Debug.LogError($"An error occurred while sending a join request to {guildName}({guildInDate}). : " + bro);
return;
}
Debug.Log($"Successfully sent guild join request to {guildName}({guildInDate}). : " + bro);
}
public void AcceptGuildJoinRequest(int index)
{
var bro = Backend.Guild.GetApplicantsV3();
if (bro.IsSuccess() == false)
{
Debug.LogError("An error occurred while loading the list of users who requested to join the guild. : " + bro);
return;
}
Debug.Log("Successfully loaded the list of users who requested to join the guild. : " + bro);
if (bro.FlattenRows().Count <= 0)
{
Debug.LogError("There are no users who requested to join. : " + bro);
return;
}
List<Tuple<string, string>> requestUserList = new List<Tuple<string, string>>();
foreach (LitJson.JsonData requestJson in bro.FlattenRows())
{
requestUserList.Add(new Tuple<string, string>(requestJson["nickname"].ToString(),
requestJson["inDate"].ToString()));
}
string userString = "Join request list\n";
for (int i = 0; i < requestUserList.Count; i++)
{
userString += $"{index}. {requestUserList[i].Item1}({requestUserList[i].Item2})\n";
}
Debug.Log(userString);
bro = Backend.Guild.ApproveApplicantV3(requestUserList[index].Item2);
if (bro.IsSuccess() == false)
{
Debug.LogError(
$"An error occurred while approving the join request of {requestUserList[index].Item1}({requestUserList[index].Item2}). : " + bro);
return;
}
Debug.Log($"Successfully accepted the join request of {requestUserList[index].Item1}({requestUserList[index].Item2}).: " + bro);
}
public void ContributeGoods()
{
var bro = Backend.Guild.ContributeGoodsV3(goodsType.goods1, 100);
if (bro.IsSuccess() == false)
{
Debug.LogError("An error occurred during guild contribution. : " + bro);
}
Debug.Log("Successfully contributed goods to the guild. : " + bro);
}
}
BackendManager.cs
using UnityEngine;
// Add BACKND SDK namespace
using BackEnd;
public class BackendManager : MonoBehaviour {
void Start() {
var bro = Backend.Initialize(); // Initialize BACKND
// Response value for BACKND initialization
if(bro.IsSuccess()) {
Debug.Log("Initialization successful : " + bro); // If successful, 'statusCode 204 Success'
} else {
Debug.LogError("Initialization failed : " + bro); // If failed, a 4xx statusCode error occurs
}
Test();
}
// A method that allows synchronous methods to be called from asynchronous methods (cannot be accessed by the Unity UI)
void Test() {
// #Step 1
BackendLogin.Instance.CustomLogin("user1", "1234"); // Log in as user1
// When 412 error occurs while creating a guild, the creation of the guild is unavailable because the user already belongs to a guild.
// Create a new user with CustomSignUp ("user3", "1234") to generate a guild.
BackendGuild.Instance.CreateGuild("Desired_guild_name"); // Method for creating guilds
// #Step 2
BackendLogin.Instance.CustomSignUp("guildUser", "1234"); // New sign-up of user for the guild
BackendLogin.Instance.UpdateNickname("guildUser"); // Nickname registration of user for the guild
// The guild name entered in CreateGuild during Step 1 should be entered as the parameter value
BackendGuild.Instance.RequestGuildJoin("Desired_guild_name");
// #Step 3
BackendLogin.Instance.CustomLogin("user1", "1234");
BackendGuild.Instance.AcceptGuildJoinRequest(0); // From users who sent join requests, accepts the one who sent the most recent request.
// #Step 4
BackendGuild.Instance.ContributeGoods(); // Guild goods contribution (addition) method
Debug.Log("Test complete.");
}
}