• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript camelot-unchained.RUNTIME_ASSERT函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中camelot-unchained.RUNTIME_ASSERT函数的典型用法代码示例。如果您正苦于以下问题:TypeScript RUNTIME_ASSERT函数的具体用法?TypeScript RUNTIME_ASSERT怎么用?TypeScript RUNTIME_ASSERT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: RUNTIME_ASSERT

actionDefs[ON_RESIZE] = (s, a) => {
  // need to scan wiget positions, and check if they still fit in the
  // new window size
  RUNTIME_ASSERT(a.screen.width >= 640 && a.screen.height >= 480, 'ignoring resize event for small window');
  let widgets: Dictionary<Position> = {};
  for (let key in s.widgets) {
    const position = s.widgets[key] as Position;
    widgets[key] = forceOnScreen(position, screen);
  }
  return merge(s, {
    widgets: widgets,
    lastScreenSize: screen
  });
}
开发者ID:jamkoo,项目名称:Camelot-Unchained,代码行数:14,代码来源:layout.ts


示例2: RUNTIME_ASSERT

 reducer: (s, a) => {
   RUNTIME_ASSERT(a.screen.width >= 640 && a.screen.height >= 480, 'ignoring resize event for small window');
   const onScreenWidgets = Map<string, Widget<any>>();
   s.widgets.forEach((value, key) => {
     onScreenWidgets.set(key, {
       position: forceOnScreen(value.position, a.screen),
       dragOptions: value.dragOptions,
       component: value.component,
       props: value.props
     });
   });
   return {
     widgets: onScreenWidgets
   };
 }
开发者ID:Shane7,项目名称:Camelot-Unchained,代码行数:15,代码来源:layout.ts


示例3: reducer

export default function reducer(state: LayoutState = getInitialState(),
                                action: LayoutAction = {type: null}): LayoutState {
  switch(action.type) {
    case LOCK_HUD:
      return Object.assign({}, state, {
        locked: true
      });
    case UNLOCK_HUD:
      return Object.assign({}, state, {
        locked: false
      });
  }

  let widgets: any;
  let outState: LayoutState = state;
  let screen: Size;
  let anchored: AnchoredPosition;
  let position: Position;

  switch(action.type) {
    case INITIALIZE:
    {
      outState = Object.assign({}, state, {
        lastScreenSize: action.size
      });
      break;
    }
    case RESET_HUD:
    {
      outState = Object.assign({}, loadState(clone(initialState())));
      break;
    }
    case SET_POSITION:
      widgets = state.widgets;
      widgets[action.widget] = action.position;
      outState = Object.assign({}, state, {
        widgets: widgets
      });
      break;
    case SAVE_POSITION:
      widgets = state.widgets;
      screen = { width: window.innerWidth, height: window.innerHeight };
      position = anchorPosition(action.position, screen);
      Object.assign(widgets[action.widget], position);
      if (position.scale <= minScale) widgets[action.widget].scale = minScale;
      outState = Object.assign({}, state, {
        widgets: widgets
      });
      break;
    case ON_RESIZE:
      // need to scan wiget positions, and check if they still fit in the
      // new window size
      screen = { width: window.innerWidth, height: window.innerHeight };
      RUNTIME_ASSERT(screen.width >= 640 && screen.height >= 480, 'ignoring resize event for small window');
      widgets = {};
      for (let key in state.widgets) {
        position = state.widgets[key] as Position;
        widgets[key] = forceOnScreen(adjustPosition(position, state.lastScreenSize, screen), screen);
      }
      outState = Object.assign({}, state, {
        widgets: widgets,
        lastScreenSize: screen
      })
      return outState;      // don't need to save state
  }

  // save to local storage
  saveState(outState);

  return outState;
}
开发者ID:mac10688,项目名称:Camelot-Unchained,代码行数:71,代码来源:layout.ts



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript camelot-unchained.hasClientAPI函数代码示例发布时间:2022-05-25
下一篇:
TypeScript cafy.str类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap