﻿// Copyright 2013-2022 AFI,Inc. All rights reserved

using System;
using UnityEngine;
using BackEnd;
using BackEnd.GlobalSupport;
using LitJson;

public partial class GuildGroup {
    private void NominateMasterV3() {
        requestUI.AddInputField("유저 inDate");
        
        requestUI.SetExecuteButtonAction( () => {
            var gamerInDate = InputParseByString(0, 0);

            var bro = Backend.Guild.NominateMasterV3(gamerInDate);
            ShowResultData(bro);
        }); 
    }
    
    private void NominateViceMasterV3() {
        requestUI.AddInputField("유저 inDate");
        
        requestUI.SetExecuteButtonAction( () => {
            var gamerInDate = InputParseByString(0, 0);

            var bro = Backend.Guild.NominateViceMasterV3(gamerInDate);
            ShowResultData(bro);
        }); 
    }
    
    private void ReleaseViceMasterV3() {
        requestUI.AddInputField("유저 inDate");
        
        requestUI.SetExecuteButtonAction( () => {
            var gamerInDate = InputParseByString(0, 0);

            var bro = Backend.Guild.ReleaseViceMasterV3(gamerInDate);
            ShowResultData(bro);
        }); 
    }
    
    private void UseGoodsV3() {
        requestUI.AddInputField("goodsType", "goods1");
        requestUI.AddInputField("재화량(음수)", "-1");


        requestUI.SetExecuteButtonAction( () => {
            
            var goods = InputParseByEnum<goodsType>(0, 0);
            var amount = InputParseByInt(1, 0);

            var bro = Backend.Guild.UseGoodsV3((goodsType)goods, amount);
            
            ShowResultData(bro);
        }); 
    }
    
    // [5.9.4] 굿즈 사용 함수(4~5시 사이에는 428 에러 발생)
    private void UseGoodsV4() {
        requestUI.AddInputField("goodsType", "goods1");
        requestUI.AddInputField("재화량(음수)", "-1");


        requestUI.SetExecuteButtonAction( () => {
            
            var goods = InputParseByEnum<goodsType>(0, 0);
            var amount = InputParseByInt(1, 0);

            var bro = Backend.Guild.UseGoodsV4((goodsType)goods, amount);
            
            ShowResultData(bro);
        }); 
    }
    
    private void SetRegistrationValueV3() {
        requestUI.AddInputField("즉시 가입 여부(bool)", "true");
        
        requestUI.SetExecuteButtonAction( () => {

            var immediateFlag = InputParseByBool(0, 0);


            var bro = Backend.Guild.SetRegistrationValueV3(immediateFlag);
            ShowResultData(bro);
        }); 
    }
    
    private void UpdateCountryCodeV3() {
        requestUI.AddInputField("CountryCode", "SouthKorea");


        requestUI.SetExecuteButtonAction( () => {

            var countryCode = InputParseByEnum<CountryCode>(0, 0);

            var bro = Backend.Guild.UpdateCountryCodeV3(countryCode);
            
            ShowResultData(bro);
        }); 
    }
    
    private void GetApplicantsV3() {
        requestUI.AddInputField("불러올 갯수", 10);
        requestUI.AddInputField("시작 지점", 0);

        requestUI.SetExecuteButtonAction( () => {
            
            var limit = InputParseByInt(0, 0);
            var offset = InputParseByInt(1, 0);
            
            var bro = Backend.Guild.GetApplicantsV3(limit, offset);
            
            ShowResultData(bro);
        }); 
    }
    
    private void ApproveApplicantV3() {
        requestUI.AddInputField("유저 inDate");

        requestUI.SetExecuteButtonAction( () => {
            
            var gamerInDate = InputParseByString(0, 0);

            var bro = Backend.Guild.ApproveApplicantV3(gamerInDate);
            
            ShowResultData(bro);
        }); 
    }
    
    private void RejectApplicantV3() {
        requestUI.AddInputField("유저 inDate");

        requestUI.SetExecuteButtonAction( () => {
            
            var gamerInDate = InputParseByString(0, 0);

            var bro = Backend.Guild.RejectApplicantV3(gamerInDate);
            
            ShowResultData(bro);
        }); 
    }
    
    private void ExpelMemberV3() {
        requestUI.AddInputField("유저 inDate");

        requestUI.SetExecuteButtonAction( () => {
            
            var gamerInDate = InputParseByString(0, 0);

            var bro = Backend.Guild.ExpelMemberV3(gamerInDate);
            
            ShowResultData(bro);
        }); 
    }
}