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

using System;
using System.Collections.Generic;
using UnityEngine;
using BackEnd;

public class GameLogGroup : BaseGroup {
    public override string GetGroupName() {
        return "게임 로그";
    }

    public override void SetSubFunctionButton() {
        UIManager.Instance.AddSubFunction("게임 로그 삽입", GameLogInsert);
        UIManager.Instance.AddSubFunction("게임 로그 삽입 V2", GameLogInsertV2);

        //UIManager.Instance.AddSubFunction("게임 로그 조회", GetGameLog);
    }

    private void GameLogInsert() {
        requestUI.AddInputField("로그 유형");
        requestUI.AddInputField("유예 기간(일)", 90);
        requestUI.SetExtraInputAddUI();

        requestUI.SetExecuteButtonAction( () => {
            var logType = InputParseByString(0, 0);
            var graceHours = InputParseByInt(1, 0);

            Param param = new Param();
            AddParamFromExtraInput(2, param);
            
            var bro = Backend.GameLog.InsertLog(logType, param, graceHours);
            ShowResultData(bro);
        }); 
    }
    
    private void GameLogInsertV2() {
        requestUI.AddInputField("로그 유형");
        requestUI.AddInputField("유예 기간(일)", 90);
        requestUI.SetExtraInputAddUI();

        requestUI.SetExecuteButtonAction( () => {
            var logType = InputParseByString(0, 0);
            var graceHours = InputParseByInt(1, 0);

            Param param = new Param();
            AddParamFromExtraInput(2, param);
            
            var bro = Backend.GameLog.InsertLogV2(logType, param, graceHours);
            ShowResultData(bro);
        }); 
    }

    private string firstKey = string.Empty;
    // private void GetGameLog() {
    //     requestUI.AddInputField("로그 유형");
    //     requestUI.AddInputField("불러올 갯수");
    //     requestUI.AddInputField("다음 페이지 조회 여부", "true");
    //
    //     requestUI.SetExecuteButtonAction( () => {
    //
    //         var logType = InputParseByString(0, 0);
    //         var limit = InputParseByInt(1, 0);
    //         var nextPage = InputParseByBool(2, 0);
    //
    //         BackendReturnObject bro;
    //         if (nextPage && !string.IsNullOrEmpty(firstKey)) {
    //             bro = Backend.GameLog.GetLog(logType, limit,firstKey);
    //         } else {
    //             bro = Backend.GameLog.GetLog(logType, limit);
    //         }
    //         
    //         if (bro.IsSuccess()) {
    //             firstKey = bro.FirstKeystring();
    //         }
    //         
    //         ShowResultData(bro);
    //     }); 
    // }
}