当前位置: 首页>>代码示例>>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;未经允许,请勿转载。