Example #1
0
 public override async Task Execute(IMenuContext context)
 {
     foreach (var item in Items)
     {
         await item.Execute(context);
     }
 }
Example #2
0
 public async Task ChooseB(IMenuContext context)
 {
     if (await context.UserInterface.Confirm("Perform B ?"))
     {
         context.UserInterface.Info("Performing B");
     }
 }
    public override void Init(IMenuContext menuContext)
    {
        base.Init(menuContext);

        mRetryButton?.onClick.AddListener(_onRetryButtonClicked);
        mQuitButton?.onClick.AddListener(_onQuitButtonClicked);
    }
Example #4
0
 public void ViewStorageOption(IMenuContext c)
 {
     foreach (var sql in _config.SqlMap.Values)
     {
         c.UserInterface.Error("---------");
         c.UserInterface.Error("---------");
         c.UserInterface.Info($"Name:\t{sql.TypeName}");
         c.UserInterface.Info($"{nameof(sql.Type)}:\t{sql.Type}");
         c.UserInterface.Info($"DbType:\t{sql.CurrentDbType}");
         c.UserInterface.Info($"{nameof(sql.Read)}:\t{sql.Read}");
         c.UserInterface.Info($"{nameof(sql.Write)}:\t{sql.Write}");
         c.UserInterface.Warning("------");
         foreach (var pair in sql.CreateTable)
         {
             c.UserInterface.Info($"{pair.Key}:\t{pair.Value}");
         }
         c.UserInterface.Warning("------");
         foreach (var pair in sql.Insert)
         {
             c.UserInterface.Info($"{pair.Key}:\t{pair.Value}");
         }
         c.UserInterface.Warning("------");
         foreach (var pair in sql.Update)
         {
             c.UserInterface.Info($"{pair.Key}:\t{pair.Value}");
         }
     }
 }
Example #5
0
 public override async Task Execute(IMenuContext context)
 {
     if (!(await context.UserInterface.Confirm(_message)))
     {
         throw new CancelException();
     }
 }
        public MenuContextBuilder With(IMenuContext context)
        {
            WithContentAnchorRef(context.ContentAnchorRef);
            WithVariant(context.Variant);

            return(this);
        }
Example #7
0
    public override void OnBeginScene()
    {
        mGameUIController = new GameUIController(FindObjectOfType <GameUIView>(), FindObjectOfType <GamePersistentData>());

        IMenuContext menuContext = FindObjectOfType <MenuContext>();

        menuContext.Hide();
    }
Example #8
0
    public override void Init(IMenuContext menuContext)
    {
        base.Init(menuContext);

        mIsShowing = false;

        mResumeButton?.onClick.AddListener(_cancelPauseMenu);
        mQuitButton?.onClick.AddListener(_onQuitButtonClicked);
    }
Example #9
0
        public async void GetAllPublishers(IMenuContext c)
        {
            var result = await _simpleRead.GetAllPublishers();

            foreach (var publisher in result)
            {
                c.UserInterface.Info($"{publisher.Year}\t{publisher.Scale}\t{publisher.Name}\t{publisher.Id}");
            }
        }
Example #10
0
        public async void GetAllBooks(IMenuContext c)
        {
            var result = await _simpleRead.GetAllBooks();

            foreach (var book in result)
            {
                c.UserInterface.Info($"{book.Name}\t{book.Price}\t{book.Publisher}\t{book.Id}");
            }
        }
Example #11
0
        public async void GetAllPeople(IMenuContext c)
        {
            var result = await _simpleRead.GetAllPeople();

            foreach (var person in result)
            {
                c.UserInterface.Info($"{person.Name}\t{person.Birthday:yyMMdd}\t{person.Email}\t{person.Address}\t{person.HasCollection}");
            }
        }
Example #12
0
        public async void GetAllBuyingRecords(IMenuContext c)
        {
            var result = await _simpleRead.GetAllBuyingRecords();

            foreach (var record in result)
            {
                c.UserInterface.Info($"{record.TradingTime}\t{record.TradingPrice}\t{record.CurrentOwner}\t{record.OriginalOwner}");
            }
        }
Example #13
0
        public async void BuildDemoData(IMenuContext c)
        {
            await _demoData.AddBooks();

            c?.UserInterface.Info("AddBooks创建完成。");
            await _demoData.AddPeople();

            c?.UserInterface.Info("AddPeople创建完成。");
        }
        public MenuContextBuilder WithLast(IMenuContext context)
        {
            if (context != null)
            {
                _context.ActiveIndex = context.ActiveIndex;
                WithContentAnchorRef(context.ContentAnchorRef);
                WithVariant(context.Variant);
            }

            return(this);
        }
Example #15
0
        public async void BuyAnyBooks(IMenuContext c)
        {
            const int COUNT = 10;

            for (int i = 0; i < COUNT; i++)
            {
                //发生一次随机记录
                //1.随机让某读者购买一本书
                await _demoData.OneRandomTransaction();
            }
            c.UserInterface.Info($"购买{COUNT}本书完成。");
        }
Example #16
0
        public async Task DoEvenMoreStuff(IMenuContext context)
        {
            await context.RunUntilCancelled(async ct =>
            {
                using (var progress = context.UserInterface.StartProgress("Doing stuff..."))
                {
                    progress.SetIndeterminate();

                    await Task.Delay(10000, ct);
                }
            });
        }
Example #17
0
 public async Task DoMoreStuff(IMenuContext context)
 {
     await context.RunUntilCancelled(async ct =>
     {
         using (var progress = context.UserInterface.StartProgress("Doing stuff..."))
         {
             for (int i = 0; i <= 100 && !ct.IsCancellationRequested; i++)
             {
                 await Task.Delay(100, ct);
                 progress.SetProgress(i);
             }
         }
     });
 }
Example #18
0
    protected void Awake()
    {
        mSceneLoader = new SceneLoader(this, FindObjectOfType <LoadingScreenView>());

        mMenuContext = FindObjectOfType <MenuContext>();

        mMenuContext.Init();

        mMenuContext.OnStartGame += _onStartNewGame;
        mMenuContext.OnPauseGame += _onShowGamePause;
        mMenuContext.OnQuitGame  += _onQuitGame;

        EventBus.OnDefeat        += _onDefeat;
        EventBus.OnLevelFinished += _onVictory;
    }
Example #19
0
 public override Task Execute(IMenuContext context)
 {
     return(_execute(context));
 }
Example #20
0
 protected virtual Task Enter(IMenuContext context) => Task.CompletedTask;
Example #21
0
        public void RunDomainSqlBuilder(IMenuContext c)
        {
            var builder = new SimpleDomainSqlBuilder();

            builder.Run(c.UserInterface);
        }
Example #22
0
 public void AddSubContext(IMenuContext context)
 {
     if (!this.childContexts.ContainsKey (context.Name))
         this.childContexts.Add (context.Name, context);
 }
Example #23
0
 protected override Task <bool> CanExit(IMenuContext context)
 {
     return(context.UserInterface.Confirm(true, "Exit ?"));
 }
Example #24
0
 protected virtual Task Execute(IMenuContext context) => context.Run(this);
Example #25
0
 Task <bool> IMenu.CanExit(IMenuContext context) => CanExit(context);
Example #26
0
 Task IMenu.Enter(IMenuContext context) => Enter(context);
Example #27
0
 public ReturnCommand(IMenuContext context)
 {
     _context = context;
 }
Example #28
0
 public async void ViewPersonBuyingRecord(IMenuContext c)
 {
     await _demoData.ViewPersonBuyingRecord();
 }
Example #29
0
 public abstract Task Execute(IMenuContext context);
Example #30
0
        /// <inheritdoc />
        public void SetRootContext(IMenuContext context)
        {
            if (context == null)
                throw new ArgumentNullException ("context");

            if (!(context is MenuContext))
                throw new InvalidCastException ();

            this.rootContext = context as MenuContext;
            this.current = this.rootContext;
        }
Example #31
0
 Task IMenuItem.Execute(IMenuContext context) => Execute(context);
Example #32
0
 public EntityCrudMenu(IMenuContext menuContext)
 {
     _menuContext    = menuContext;
     _serviceInvoker = new CommandServiceInvoker <TEntity>(_menuContext);
 }
Example #33
0
        /// <summary>
        ///   Добавляет дочерний контекст.
        /// </summary>
        /// <param name = "context">Добавляемый контекст.</param>
        /// <remarks>
        ///   В качестве добаляемого контекста разрешено указывать лишь объекты типа <see cref = "MenuContext" />.
        ///   В противном случае будет выброшено исключение <see cref = "InvalidCastException" />.
        /// </remarks>
        /// <exception cref = "ArgumentNullException"><paramref name = "context" /> является <c>null</c>.</exception>
        /// <exception cref = "MenuContextAlreadyHasParentException">Контекст <paramref name = "context" /> уже является дочерним.</exception>
        /// <exception cref = "MenuContextNameMustBeUniqueException">Имя дочернего контекста должно быть уникальным в пределах контекста.</exception>
        /// <exception cref = "InvalidCastException">Контекст <paramref name = "context" /> не является объектом типа <see cref = "MenuContext" />.</exception>
        public void AddSubContext(IMenuContext context)
        {
            if (context == null)
                throw new ArgumentNullException ("context");

            if (context.Parent != null)
                throw new MenuContextAlreadyHasParentException (context.Name);

            if (! (context is MenuContext))
                throw new InvalidCastException ();

            if (this._contexts.Contains (context, Singleton <NamedElementEqualityComparer>.Instance) ||
                this._commands.Contains (new MenuCommand (context.Name),
                                         Singleton <NamedElementEqualityComparer>.Instance))
                throw new MenuContextNameMustBeUniqueException (context.Name, this.Name);

            this._contexts.Add (context as MenuContext);
            (context as MenuContext).Parent = this;
        }