using System;

namespace MJGameSDK
{
    public class MJGameResult
    {
        public int Code { get; set; }
        public string Message { get; set; }
        public bool IsSuccess => Code == 0;

        public static MJGameResult Success(string message = "OK")
        {
            return new MJGameResult { Code = 0, Message = message };
        }

        public static MJGameResult Fail(int code, string message)
        {
            return new MJGameResult { Code = code, Message = message };
        }

        public static MJGameResult FromResponse(MJGameResponse response)
        {
            if (response == null)
                return Fail(1000, "Empty response");
            if (response.code == 0)
                return Success(response.message);
            return Fail(response.code, response.message);
        }
    }

    [Serializable]
    public class MJGameResponse
    {
        public int code;
        public string message;
        public string request_id;
    }
}
