Exemple #1
0
 public EndTransactionMode(IMainController mainController, IMainView mainView, IModeController mode_ctrl)
     : base(new EndTransactionModeInfo())
 {
     this.m_ctrl = mainController;
     this.m_view = mainView;
     this.mode_ctrl = mode_ctrl;
 }
Exemple #2
0
 public PaymentMode(IMainController mainController, IMainView mainView, IModeController mode_ctrl)
     : base(new PaymentModeInfo())
 {
     this.m_ctrl = mainController;
     this.m_view = mainView;
     this.mode_ctrl = mode_ctrl;
 }
Exemple #3
0
 public SelectItemMode(IMainController mainController, IMainView mainView, IModeController mode_ctrl)
     : base(new SelectItemModeInfo())
 {
     this.m_ctrl = mainController;
     this.m_view = mainView;
     this.mode_ctrl = mode_ctrl;
 }
Exemple #4
0
 public SearchPartMode(IMainController mainController, ISearchPartView searchPart_view, IModeController mode_ctrl)
     : base(new SearchPartModeInfo())
 {
     this.m_ctrl = mainController;
     this.searchPart_view = searchPart_view;
     this.mode_ctrl = mode_ctrl;
 }
Exemple #5
0
        /// <summary>
        ///     停止
        /// </summary>
        public static async Task Stop()
        {
            UsingPorts.Clear();

            _ = Task.Run(() => NTTController.Stop());

            var tasks = new[]
            {
                Task.Run(() => ServerController?.Stop()),
                Task.Run(() => ModeController?.Stop()),
            };
            await Task.WhenAll(tasks);

            ModeController   = null;
            ServerController = null;
        }
Exemple #6
0
        private static async Task <bool> StartMode(Server server, Mode mode)
        {
            var port = 0;

            switch (mode.Type)
            {
            case 0:
                ModeController = new NFController();
                PortCheckAndShowMessageBox(port = Global.Settings.RedirectorTCPPort, "Redirector TCP");
                break;

            case 1:
            case 2:
                ModeController = new TUNTAPController();
                break;

            case 3:
            case 5:
                ModeController = new HTTPController();
                PortCheckAndShowMessageBox(port = Global.Settings.HTTPLocalPort, "HTTP");
                break;

            case 4:
                return(true);

            default:
                Logging.Error("未知模式类型");
                return(false);
            }

            Global.MainForm.StatusText(i18N.TranslateFormat("Starting {0}", ModeController.Name));
            if (await Task.Run(() => ModeController.Start(server, mode)))
            {
                switch (mode.Type)
                {
                case 3:
                case 5:
                    StatusPortInfoText.HttpPort = port;
                    break;
                }

                UsingPorts.Add(port);
                return(true);
            }

            return(false);
        }
Exemple #7
0
    public void StartGame(Transform[] playerSpawns, Transform[] entitySpawns)
    {
        List <GameObject> activePrefabs = new List <GameObject>();

        for (int i = 0; i < activePlayers.Length; i++)
        {
            if (activePlayers[i])
            {
                activePrefabs.Add(playerPrefabs[selectedPlanets[i]]);
            }
            else
            {
                activePrefabs.Add(null);
            }
        }

        modeController = Instantiate(modeManagers[(int)gameMode]).GetComponent <IModeController>();
        modeController.InitMode(playerSpawns, entitySpawns, activePrefabs.ToArray());
    }
Exemple #8
0
 public MainController(IMainView m_view, ISearchPartView searchPartView)
 {
     mode_ctrl = new ModeController(this, m_view, searchPartView);
     this.m_view = m_view;
 }