當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript camelot-unchained.events類代碼示例

本文整理匯總了TypeScript中@csegames/camelot-unchained.events的典型用法代碼示例。如果您正苦於以下問題:TypeScript events類的具體用法?TypeScript events怎麽用?TypeScript events使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了events類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: registerOtherPatcherHubEvents

function registerOtherPatcherHubEvents(dispatch: (action: ControllerAction) => any,
                                        apiHost: string,
                                        controllerState?: ControllerState) {
  if (!window[PATCHER_HUB_WINDOW_ID] || !window[PATCHER_HUB_WINDOW_ID].hubs ||
      !window[PATCHER_HUB_WINDOW_ID].eventListeners) return;

  const characterUpdatedEvent = signalr.getPatcherEventName(apiHost, signalr.PATCHER_EVENTS_CHARACTERUPDATED);
  window[PATCHER_HUB_WINDOW_ID].eventListeners[characterUpdatedEvent] =
    events.on(characterUpdatedEvent, (characterJSON: string) => {
      const character = utils.tryParseJSON<webAPI.SimpleCharacter>(characterJSON, client.debug);
      if (character !== null) {
        if (controllerState && isEqual(controllerState.characters[character.id], character)) {
          // No need to update character if already equal to what we have in state.
          return;
        }

        // Update character
        dispatch(characterUpdate(character));
      }
    });

  const characterRemovedEvent = signalr.getPatcherEventName(apiHost, signalr.PATCHER_EVENTS_CHARACTERREMOVED);
  window[PATCHER_HUB_WINDOW_ID].eventListeners[characterRemovedEvent] =
    events.on(signalr.getPatcherEventName(apiHost, signalr.PATCHER_EVENTS_CHARACTERREMOVED), (id: string) => {
      dispatch(characterRemoved(id));
    });
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:27,代碼來源:controller.ts

示例2: setActiveWarbandID

export function setActiveWarbandID(id: string) {
  const stateObjectID = getStateObject().id;
  if (stateObjectID) {
    events.fire('chat-leave-room', stateObjectID);
  }

  if (typeof id === 'string') {
    events.fire('chat-show-room', id, 'Warband');
  }
  getStateObject().id = id;
  getStateObject().membersMap = {};
  getStateObject().membersEntityIDMap = {};
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:13,代碼來源:warband.ts

示例3: registerPatcherHubEvents

// HELPER METHODS
function registerPatcherHubEvents(dispatch: (action: ControllerAction) => any) {
  events.on(signalr.PATCHER_EVENTS_ALERT, (alertJSON: string) => {
    const alert = utils.tryParseJSON<webAPI.PatcherAlert>(alertJSON, client.debug);
    if (alert !== null) dispatch(alertReceived(alert));
  });

  events.on(signalr.PATCHER_EVENTS_SERVERUPDATED, (serverJSON: string) => {
    const server = utils.tryParseJSON<webAPI.ServerModel>(serverJSON, client.debug);
    if (server !== null) dispatch(serverUpdate(server));
  });

  events.on(signalr.PATCHER_EVENTS_SERVERUNAVAILABLE, (name: string) => dispatch(serverUnavailable(name)));
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:14,代碼來源:controller.ts

示例4: initialize

export function initialize(dispatch: any) {

  events.addListener(events.buildingEventTopics.handlesBlocks, (info: { materials: BuildingMaterial[] }) => {
    const matsByType: MaterialsByType = new MaterialsByType(info.materials);
    dispatch(setMaterialsByType(matsByType));
  });

  events.addListener(DEACTIVATE_MATERIAL_SELECTOR, (info: {}) => {
    // dispatch(updateMaterialSelector(null, null));
  });

  events.addListener(ACTIVATE_MATERIAL_SELECTOR,
                     (info: { selection: BuildingMaterial, onSelect: (material: BuildingMaterial) => void }) => {
                       dispatch(updateMaterialSelector(info.selection, info.onSelect));
                     });
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:16,代碼來源:materials-by-type.ts

示例5: return

  return (dispatch: (action: any) => any) => {
    dispatch(init());
    window.onresize = () => {
      if (window.innerWidth >= 640 && window.innerHeight >= 480) {
        dispatch(resize());
      }
    };

    // hook up to event triggers
    events.on('hudnav--navigate', (name: string) => {
      switch (name) {
        case 'chat':
          return dispatch(toggleVisibility(name));
        case 'ui': return dispatch(toggleHUDLock(addEvent, removeEvent));
        case 'lockui': return dispatch(lockHUD(removeEvent));
        case 'reset': return dispatch(resetHUD());
        default: return;
      }
    });

    const listener = (e: KeyboardEvent) => {
      if (e.which === 27) {
        dispatch(lockHUD(removeEvent));
      }
    };
    const addEvent = () => window.window.addEventListener('keydown', listener);
    const removeEvent = () => window.window.removeEventListener('keydown', listener);
  };
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:28,代碼來源:layout.ts

示例6: initializeBuilding

export function initializeBuilding(dispatch: any) {

  requester.loadMaterials();

  events.addListener(events.buildingEventTopics.handlesBuildingMode, (info: { mode: buildUIMode }) => {
    dispatch(setMode(info.mode));
  });
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:8,代碼來源:building.ts

示例7: unregisterOtherPatcherHubEvents

function unregisterOtherPatcherHubEvents(apiHost: string) {
  if (
    !window[PATCHER_HUB_WINDOW_ID] ||
    !window[PATCHER_HUB_WINDOW_ID].hubs ||
    !window[PATCHER_HUB_WINDOW_ID].eventListeners
  ) {
    return;
  }

  const characterUpdatedEvent = signalr.getPatcherEventName(apiHost, signalr.PATCHER_EVENTS_CHARACTERUPDATED);
  events.off(window[PATCHER_HUB_WINDOW_ID].eventListeners[characterUpdatedEvent]);
  window[PATCHER_HUB_WINDOW_ID].hubs.eventListeners[characterUpdatedEvent] = null;

  const characterRemovedEvent = signalr.getPatcherEventName(apiHost, signalr.PATCHER_EVENTS_CHARACTERREMOVED);
  events.off(window[PATCHER_HUB_WINDOW_ID].eventListeners[characterRemovedEvent]);
  window[PATCHER_HUB_WINDOW_ID].hubs.eventListeners[characterRemovedEvent] = null;
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:17,代碼來源:controller.ts

示例8: initialize

export function initialize(dispatch: (action: any) => void) {

  events.addListener(events.buildingEventTopics.handlesBlocks, (info: { materials: BuildingMaterial[] }) => {
    const mats: BuildingMaterial[] = info.materials;
    dispatch(setMaterials(mats));
    dispatch(selectFromMaterial(mats[0]));
    dispatch(selectToMaterial(mats[0]));
  });

  events.addListener(
    events.buildingEventTopics.handlesBlockSelect, (info: { material: BuildingMaterial, block: BuildingBlock }) => {
      dispatch(selectBlock(info.block));
      dispatch(selectFromMaterial(info.material));
    });

  events.addListener(events.buildingEventTopics.handlesBuildingMode, (info: { mode: buildUIMode }) => {
    dispatch(setBlockMode(info.mode === buildUIMode.BLOCKSELECTED));
  });

}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:20,代碼來源:materials.ts

示例9: loadBlueprints

export function loadBlueprints(dispatch: (action: any) => void) {

  events.addListener(events.buildingEventTopics.handlesBlueprints, (info: { blueprints: BuildingBlueprint[] }) => {
    dispatch(updateBlueprints(info.blueprints));
  });

  events.addListener(events.buildingEventTopics.handlesBlueprintSelect, (info: { blueprint: BuildingBlueprint }) => {
    dispatch(selectBlueprint(info.blueprint));
  });

  events.addListener(events.buildingEventTopics.handlesBuildingMode, (info: { mode: buildUIMode }) => {
    dispatch(copyModeChanged(info.mode === buildUIMode.BLOCKSELECTED));
  });

  events.addListener(events.buildingEventTopics.handlesBlueprintCopy, () => {
    dispatch(pasteModeChanged(true));
  });

  requester.requestBlueprints();
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:20,代碼來源:blueprints.ts

示例10: showCompassTooltip

export function showCompassTooltip(tooltip: CompassTooltipData) {
  events.fire('compass-tooltip--show', tooltip);
}
開發者ID:codecorsair,項目名稱:Camelot-Unchained,代碼行數:3,代碼來源:compassTooltip.ts


注:本文中的@csegames/camelot-unchained.events類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。