12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using System;
- using Sfs2X;
- using Sfs2X.Core;
- using Sfs2X.Entities;
- public enum RequestStatus
- {
- Failed,
- Succeed,
- Pending,
- }
- public class GardenSmartFox
- {
- #region Variable
- public User User;
- public SmartFox SmartFox;
- public BaseLoggor Loggor;
- public BaseConnector Connector;
- public SFSExtensionManager ExtensionManager;
- public PlazaRoomManager PlazaRoomManager;
- #endregion
- public GardenSmartFox(BaseLoggor baseLoggor, BaseConnector baseConnector)
- {
- SmartFox = new SmartFox();
- Loggor = baseLoggor.Init(this);
- Connector = baseConnector.Init(this);
- ExtensionManager = new SFSExtensionManager(this);
- PlazaRoomManager = new PlazaRoomManager(this);
- }
- public void ExecuteAfterCheckConection(Action execute, Action<bool, BaseEvent> onConnectResult = null, Action<bool, BaseEvent> onLoginResult = null)
- {
- if (!SmartFox.IsConnected)
- {
- Reset();
- Connector.Connect();
- if (onConnectResult != null)
- {
- new CounterAction<bool, BaseEvent>
- (
- (succeed, baseEvent) =>
- {
- onConnectResult.Invoke(succeed, baseEvent);
- }
- ).Bind(ref Connector.onConnectResult);
- }
- if (onLoginResult != null)
- {
- new CounterAction<bool, BaseEvent>
- (
- (succeed, baseEvent) =>
- {
- onLoginResult.Invoke(succeed, baseEvent);
- }
- ).Bind(ref Loggor.onLoginResult);
- }
- new CounterAction<BaseEvent>
- (
- baseEven =>
- {
- execute.Invoke();
- }
- ).Bind(ref Loggor.onLogin);
- }
- else
- {
- execute.Invoke();
- }
- }
- public void Reset()
- {
- SmartFox = new SmartFox();
- Loggor.Init(this);
- Connector.Init(this);
- ExtensionManager = new SFSExtensionManager(this);
- PlazaRoomManager = new PlazaRoomManager(this);
- }
- }
|