当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript actions.queueGame方法代码示例

本文整理汇总了TypeScript中common/actions.actions.queueGame方法的典型用法代码示例。如果您正苦于以下问题:TypeScript actions.queueGame方法的具体用法?TypeScript actions.queueGame怎么用?TypeScript actions.queueGame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在common/actions.actions的用法示例。


在下文中一共展示了actions.queueGame方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: async

  watcher.on(actions.showGameUpdate, async (store, action) => {
    const { update } = action.payload;
    const { game } = update;

    const { title } = game;

    let dialogTitle = ["pick_update_upload.single.title", { title }];
    let dialogMessage = ["pick_update_upload.single.message", { title }];
    let dialogDetail = ["pick_update_upload.single.detail"];

    const dialogButtons: ModalButtonSpec[] = [
      {
        icon: "moon",
        label: ["pick_update_upload.buttons.skip_update"],
        action: actions.snoozeCave({ caveId: update.caveId }),
        className: "secondary",
      },
      {
        icon: "play2",
        label: ["pick_update_upload.buttons.just_launch"],
        action: actions.queueGame({ game }),
        className: "secondary",
      },
      "cancel",
    ];

    store.dispatch(
      actions.openModal(
        modals.naked.make({
          wind: "root",
          title: dialogTitle,
          message: dialogMessage,
          detail: dialogDetail,
          bigButtons: map(update.choices, choice => {
            const spec: ModalButtonSpec = {
              ...makeUploadButton(choice.upload, { showSize: false }),
              action: actions.queueGameUpdate({ update, choice }),
            };
            spec.tags.push({
              icon: choice.confidence > 0.5 ? "like" : "neutral",
              label: ` ${(choice.confidence * 100).toFixed()}%`,
            });
            return spec;
          }),
          buttons: dialogButtons,
          widgetParams: null,
        })
      )
    );
  });
开发者ID:itchio,项目名称:itch,代码行数:50,代码来源:show-game-update.ts

示例2: async

  watcher.on(actions.commandMain, async (store, action) => {
    const { window } = action.payload;
    const { tab } = store.getState().windows[window].navigation;
    const sp = Space.fromStore(store, window, tab);

    if (sp.prefix === "games") {
      const game = sp.game();
      if (game) {
        // FIXME: queueGame doesn't always do the right thing.
        // it'll try installing even if there's no chance you'll be able
        // to download it (for example, if you need to purchase it first)
        store.dispatch(actions.queueGame({ game }));
      }
    }
  });
开发者ID:HorrerGames,项目名称:itch,代码行数:15,代码来源:triggers.ts

示例3: async

  watcher.on(actions.showGameUpdate, async (store, action) => {
    const { update } = action.payload;
    const { game, upload } = update;
    const uploads = [upload];

    const { title } = game;

    let dialogTitle = ["pick_update_upload.single.title", { title }];
    let dialogMessage = ["pick_update_upload.single.message", { title }];
    let dialogDetail = ["pick_update_upload.single.detail"];

    const dialogButtons: IModalButtonSpec[] = [
      {
        icon: "download",
        label: ["pick_update_upload.buttons.update"],
        action: actions.queueGameUpdate({ update }),
      },
      {
        icon: "play2",
        label: ["pick_update_upload.buttons.just_launch"],
        action: actions.queueGame({ game }),
        className: "secondary",
      },
      "cancel",
    ];

    store.dispatch(
      actions.openModal(
        modalWidgets.naked.make({
          window: "root",
          title: dialogTitle,
          message: dialogMessage,
          detail: dialogDetail,
          bigButtons: map(uploads, upload => {
            const spec: IModalButtonSpec = {
              ...makeUploadButton(upload, { showSize: false }),
              action: actions.queueGameUpdate({ update }),
            };
            return spec;
          }),
          buttons: dialogButtons,
          widgetParams: null,
        })
      )
    );
  });
开发者ID:HorrerGames,项目名称:itch,代码行数:46,代码来源:show-game-update.ts

示例4: gameControls

export function gameControls(store: IStore, game: Game): IMenuTemplate {
  let template: IMenuTemplate = [];

  const status = getGameStatus(store.getState(), game);
  const { cave, numCaves, operation } = status;

  const mainAction = actionForGame(game, cave);

  let statusItems: IMenuTemplate = [];

  const itemForOperation = (operation: IOperation): IMenuItem => {
    const localizedLabel = formatOperation(operation);
    if (operation.name === "launch") {
      return {
        localizedLabel,
        submenu: [
          {
            localizedLabel: ["prompt.action.force_close"],
            action: actions.forceCloseGameRequest({ game }),
          },
        ],
      };
    } else {
      const item: IMenuItem = {
        localizedLabel,
        enabled: false,
      };

      if (operation.type === OperationType.Download && operation.id) {
        item.submenu = [
          {
            localizedLabel: ["grid.item.discard_download"],
            action: actions.discardDownload({ id: operation.id }),
          },
        ];
      }
      return item;
    }
  };

  if (cave) {
    let busy = false;

    if (operation) {
      busy = true;
      statusItems.push(itemForOperation(operation));
    } else {
      statusItems.push({
        localizedLabel: [`grid.item.${mainAction}`],
        action: actions.queueGame({ game }),
      });
    }

    let updateAndLocalItems: IMenuTemplate = [];

    if (!busy) {
      updateAndLocalItems.push({
        localizedLabel: ["grid.item.check_for_update"],
        action: actions.checkForGameUpdate({ caveId: cave.id, noisy: true }),
      });
    }

    updateAndLocalItems.push({
      localizedLabel: showInExplorerString(),
      action: actions.exploreCave({ caveId: cave.id }),
    });

    template = concatTemplates(template, updateAndLocalItems);

    if (!busy) {
      let uninstallReinstallItems: IMenuTemplate = [];
      uninstallReinstallItems.push({
        id: "context--grid-item-manage",
        localizedLabel: ["grid.item.manage"],
        action: actions.manageGame({ game }),
      });

      if (numCaves === 1) {
        uninstallReinstallItems.push({
          type: "separator",
        });
        uninstallReinstallItems.push({
          id: "context--grid-item-uninstall",
          localizedLabel: ["grid.item.uninstall"],
          action: actions.requestCaveUninstall({ caveId: cave.id }),
        });
      }

      template = concatTemplates(template, uninstallReinstallItems);
    }
  } else {
    if (operation) {
      statusItems.push(itemForOperation(operation));
    } else {
      if (status.access === Access.None) {
        if (game.canBeBought) {
          statusItems.push({
            localizedLabel: ["grid.item.buy_now"],
            action: actions.initiatePurchase({ game }),
          });
//.........这里部分代码省略.........
开发者ID:HorrerGames,项目名称:itch,代码行数:101,代码来源:build-template.ts


注:本文中的common/actions.actions.queueGame方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。