public StartBattleVM(PokemonLobbyClient client, User rival, GameSettings settings, bool isPassive) { this.client = client; Rival = rival; this.isPassive = isPassive; RivalAvatar = AvatarVM.GetAvatar(rival.Avatar); Teams = Helper.DataMainInstance.PokemonData.Teams.Folders; chosenTeam = Teams.FirstOrDefault(); GameSettings = settings; if (isPassive) { OkCommand = new MenuCommand("接受", Accept); CancelCommand = new MenuCommand("拒绝", Refuse); client.ChallengeCanceled += OnProcessed; PlaySound(); } else { OkCommand = new MenuCommand("挑战", Challenge); CancelCommand = new MenuCommand("取消", Cancel); client.ChallengeAccepted += OnProcessed; client.ChallengeRefused += OnProcessed; } client.EnterSucceed += OnProcessed; OkCommand.IsEnabled = ChosenTeam != null; timer = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(10) }; timer.Tick += (sender, e) => CancelCommand.IsEnabled = true; }
public bool RemoveFolder(IPokemonFolder folder) { return internalFolders.Remove(folder); }
public FolderViewModel(CollectionViewModel collectionViewModel, IPokemonFolder model) : base(model) { this.collection = collectionViewModel; InitializeCommands(); }
protected FolderViewModelBase(IPokemonFolder model) { this.Model = model; this.Pokemons = new ObservableCollection<PokemonViewModel>( from pm in Model.Pokemons select new PokemonViewModel(this, pm)); InitializeCommands(); CollectionChangedEventManager.AddListener(Pokemons, this); }
public static FolderInfo FromFolder(IPokemonFolder folder) { return new FolderInfo(folder.Name, folder.Pokemons); }