using System; using proto; namespace MoleMole { public class TheOppoAccountManager : TheBaseAccountManager { private const float PRICE_UNIT_RATE = 1f; private const bool DebugBuild = false; public TheOppoAccountManager() { _accountDelegate = new TheOppoAccountDelegate(); } public override void Init() { base.AccountType = (AccountType)8; _accountDelegate.init(false, "AccountEventListener", "InitFinishedCallBack", null); } public override void InitFinishedCallBack(string param) { } public override void LoginUI() { _accountDelegate.login("AccountEventListener", "LoginTestFinishedCallBack", string.Empty, string.Empty, null); } public override void LoginUIFinishedCallBack(string arg1, string arg2) { } protected override void LoginTest() { } public override void LoginTestFinishedCallBack(string param) { int result = 0; if (int.TryParse(param, out result) && result == 1) { base.AccountUid = _accountDelegate.getUid(); Singleton.Instance.FireNotify(new Notify(NotifyTypes.SDKAccountLoginSuccess)); } else { LoginUI(); } } public override void RegisterUI() { } public override void RegisterUIFinishedCallBack(string arg1, string arg2, string arg3, string arg4) { } protected override void RegisterTest() { } public override void RegisterTestFinishedCallBack(string param) { } public override void BindUI() { } public override void BindUIFinishedCallBack(string arg1, string arg2) { } protected override void BindTest() { } public override void BindTestFinishedCallBack(string param) { } public override bool Pay(string productID, string productName, float productPrice) { if (!base.Pay(productID, productName, productPrice)) { return false; } int userId = Singleton.Instance.playerData.userId; string oaServerUrl = Singleton.Instance.DispatchSeverData.oaServerUrl; _accountDelegate.pay(productID, productName, productPrice, Guid.NewGuid().ToString("N"), userId.ToString(), oaServerUrl + "/callback/oppo", "AccountEventListener", "PayFinishedCallBack", null); return false; } public override void PayFinishedCallBack(string param) { SDKPayResult sDKPayResult = new SDKPayResult(); int result = 0; if (!int.TryParse(param, out result) || result == 0) { sDKPayResult.payRetCode = PayResult.PayRetcode.FAILED; } else { sDKPayResult.payRetCode = PayResult.PayRetcode.SUCCESS; } Singleton.Instance.OnPurchaseCallback(sDKPayResult); } public override void ShowToolBar() { _accountDelegate.showToolBar(); } public override void HideToolBar() { _accountDelegate.hideToolBar(); } public override void ShowPausePage() { _accountDelegate.showPausePage(); } public override void ShowAccountPage() { } public override void ShowExitUI() { DoExit(); } public override void DoExit() { _accountDelegate.exit(); } } }