示例#1
0
		public PracticeWindow(List<PracticeItem> terms, PracticeMode whichMode) {
			InitializeComponent();

			mainMenu.Renderer = new ToolStripAeroRenderer(ToolbarTheme.MediaToolbar);

			if (terms.Count > 0) {
				queue = new PracticeQueue(terms);

				// TODO: Decided the default based on a setting.
				switch (whichMode) {
					case PracticeMode.Flashcards:
						SetMode(new FlashcardMode());
						break;

					case PracticeMode.Default:
					case PracticeMode.Learn:
					default:
						SetMode(new LearnMode());
						break;
				}
			}

			this.FormClosed += delegate {
				if (mode != null)
					mode.Stop();
			};

			components = components ?? new Container();
			if(mode != null)
				components.Add(new DisposableComponent(mode));
		}
示例#2
0
        private void Practice(PracticeMode mode)
        {
            if (!list.ID.HasValue)
            {
                ProgramLog.Default.AddMessage(LogType.Error, "WordList {0} has no ID", list.Name);
                return;
            }

            PracticeWindow.OpenNewSession(mode, new[] { new ListSearchResult(list.ID.Value) });
        }
        /// <summary>
        /// Puts player into the game queue with single player option as debug mode
        /// </summary>
        public void QueuePracticeGame(PracticeMode mode)
        {
            Debug.Log($"Queue practice game: {mode}");

            PutPlayerIntoQueueRequest request = new PutPlayerIntoQueueRequest
            {
                GameMode       = GameMode.Practice,
                GameParameters = new GameParameters {
                    PracticeMode = mode
                },
            };

            NetworkManager.Instance.SendPutPlayerIntoQueueRequest(request);
        }
示例#4
0
        private void PracticeLists(PracticeMode mode, IList <ListSearchResult> chosen)
        {
            var items = new List <ListSearchResult>();

            if (chosen == null || chosen.Count == 0)
            {
                return;
            }

            foreach (var item in chosen)
            {
                if (item.HasItem ||
                    items.FindIndex(x => x.SetID == item.SetID && !x.HasItem) < 0)
                {
                    items.Add(item);
                }
            }

            PracticeWindow.OpenNewSession(mode, items);
        }
示例#5
0
        public PracticeWindow(List <PracticeItem> terms, PracticeMode whichMode)
        {
            InitializeComponent();

            mainMenu.Renderer = new ToolStripAeroRenderer(ToolbarTheme.MediaToolbar);

            if (terms.Count > 0)
            {
                queue = new PracticeQueue(terms);

                // TODO: Decided the default based on a setting.
                switch (whichMode)
                {
                case PracticeMode.Flashcards:
                    SetMode(new FlashcardMode());
                    break;

                case PracticeMode.Default:
                case PracticeMode.Learn:
                default:
                    SetMode(new LearnMode());
                    break;
                }
            }

            this.FormClosed += delegate {
                if (mode != null)
                {
                    mode.Stop();
                }
            };

            components = components ?? new Container();
            if (mode != null)
            {
                components.Add(new DisposableComponent(mode));
            }
        }
示例#6
0
        internal GameBase CreateGame(GPlayer player, GameInformation GameData)
        {
            if (Games.Limit)
            {
                player.SendResponse(TGAME_CREATE_RESULT.CREATE_GAME_CREATE_FAILED2.ShowRoomError());
                return(null);
            }

            GameBase result = null;

            switch (GameData.GameType)
            {
            case GAME_TYPE.VERSUS_STROKE:
            case GAME_TYPE.VERSUS_MATCH:
            {
            }
            break;

            case GAME_TYPE.CHAT_ROOM:
            {
                result = new ModeChatRoom(player, GameData, CreateGameEvent, UpdateGameEvent, DestroyGame, PlayerJoinGameEvent, PlayerLeaveGameEvent, Games.GetID);
            }
            break;

            case GAME_TYPE.GAME_TYPE_03:
            {
                player.SendResponse(TGAME_CREATE_RESULT.CREATE_GAME_CANT_CREATE.ShowRoomError());
            }
            break;

            case GAME_TYPE.TOURNEY:
            {
            }
            break;

            case GAME_TYPE.TOURNEY_TEAM:
            {
            }
            break;

            case GAME_TYPE.TOURNEY_GUILD:
            {
            }
            break;

            case GAME_TYPE.PANG_BATTLE:
            {
                player.SendResponse(TGAME_CREATE_RESULT.CREATE_GAME_CANT_CREATE.ShowRoomError());
            }
            break;

            case GAME_TYPE.GAME_TYPE_08:
            {
            }
            break;

            case GAME_TYPE.GAME_TYPE_09:
            {
            }
            break;

            case GAME_TYPE.GAME_APROACH:
            {
                player.SendResponse(TGAME_CREATE_RESULT.CREATE_GAME_CANT_CREATE.ShowRoomError());
            }
            break;

            case GAME_TYPE.GM_EVENT:
            {
            }
            break;

            case GAME_TYPE.GAME_TYPE_0C:
            {
            }
            break;

            case GAME_TYPE.GAME_ZOD_OFF:
            {
            }
            break;

            case GAME_TYPE.CHIP_IN_PRACTICE:
            {
            }
            break;

            case GAME_TYPE.GAME_TYPE_0F:
            {
            }
            break;

            case GAME_TYPE.GAME_TYPE_10:
            {
            }
            break;

            case GAME_TYPE.GAME_TYPE_11:
            {
            }
            break;

            case GAME_TYPE.SSC:
            {
            }
            break;

            case GAME_TYPE.HOLE_REPEAT:
            {
                result = new PracticeMode(player, GameData, CreateGameEvent, UpdateGameEvent, DestroyGame, PlayerJoinGameEvent, PlayerLeaveGameEvent, Games.GetID);
            }
            break;

            case GAME_TYPE.GRANDPRIX:
            {
            }
            break;
            }

            if (result == null)
            {
                player.SendResponse(TGAME_CREATE_RESULT.CREATE_GAME_CANT_CREATE.ShowRoomError());
            }
            else
            {
                Games.Create(result);
            }
            return(result);
        }
示例#7
0
        public static bool IsValid(this PracticeMode mode)
        {
            int imode = (int)mode;

            return(imode >= 1 && imode <= 2);
        }
示例#8
0
		private void Practice(PracticeMode mode) {
			if (!WordList.ID.HasValue) {
				ProgramLog.Default.AddMessage(LogType.Error, "WordList {0} has no ID", WordList.Name);
				return;
			}

			PracticeWindow.OpenNewSession(mode, new[] { new ListSearchResult(WordList.ID.Value) });
		}
示例#9
0
 public static void OpenNewSession(PracticeMode mode, IList <ListSearchResult> items)
 {
     new PracticeWindow(items, mode).Show();
 }
示例#10
0
 public PracticeWindow(IList <ListSearchResult> items, PracticeMode whichMode)
     : this(DataStore.Database.GetItems(items), whichMode)
 {
 }
示例#11
0
		public static void OpenNewSession(PracticeMode mode, IList<ListSearchResult> items) {
			new PracticeWindow(items, mode).Show();
		}
示例#12
0
		public PracticeWindow(IList<ListSearchResult> items, PracticeMode whichMode)
			: this(DataStore.Database.GetItems(items), whichMode) { }