예제 #1
0
        private static void Main()
        {
            _pluginContainer = new PluginContainer();

            var result = _pluginContainer.CheckBasePlugins();

            if (!result.GetSuccess())
            {
                result.ShowError();
                return;
            }

            _pluginContainer.Load();

            _sessionManager = new SessionManager();
            _network        = new HttpNetwork();

            try {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new FormApp(ref _network, ref _pluginContainer, ref _sessionManager));
            }
            catch (Exception e) {
                // ReSharper disable once LocalizableElement
                MessageBox.Show(Resources.ErrorCriticalGlobalMessage + "\n\n" + e.Source + @" @ " + e.Message, Resources.ErrorCriticalGlobalHeader);
            }
        }
예제 #2
0
        public FormApp(ref HttpNetwork network, ref PluginContainer pluginContainer, ref SessionManager sessionManager)
        {
            InitializeComponent();

            _network         = network;
            _pluginContainer = pluginContainer;
            _sessionManager  = sessionManager;
        }
예제 #3
0
    public void Initialize()
    {
        // TcpNetwork 생성.
        _tcpNetwork = new TcpNetwork();
        _tcpNetwork.ConnectToServer();

        // HttpNetwork 생성
        _httpNetwork = Instantiate(Resources.Load("Prefabs/HttpNetwork") as GameObject).GetComponent <HttpNetwork>();
    }
예제 #4
0
        private bool AddAnonymousUser()
        {
            var network = new HttpNetwork();
            var session = new Session(network);

            if (!session.CreateAnon())
            {
                return(false);
            }

            Sessions.Add(session);
            return(true);
        }
예제 #5
0
        public void Reset(bool clearCookies, HttpNetwork network = null)
        {
            if (clearCookies)
            {
                network?.ClearCookies();
            }

            Login         = string.Empty;
            UserId        = string.Empty;
            Sid           = string.Empty;
            State         = SessionState.Empty;
            CreationTime  = DateTime.Now;
            LastCheckTime = DateTime.Now;
        }
예제 #6
0
        public async Task <DMessage> Add(string sid)
        {
            var network = new HttpNetwork();
            var session = new Session(network);

            var result = await session.Create(sid).ConfigureAwait(false);

            if (!result.GetSuccess())
            {
                return(result);
            }

            RemoveDuplicates(session);
            Sessions.Add(session);

            return(new DMessage(MessageType.Success, Success.Default));
        }
예제 #7
0
 public Session(HttpNetwork network)
 {
     Network = network;
 }