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


TypeScript ekkiog-editing.clear函數代碼示例

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


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

示例1: tap

export function tap(forest : Forest, tool : Tool, direction : Direction, x : number, y : number) : Forest {
  if(tool === WIRE){
  const type = getTypeAt(forest.enneaTree, x, y);
    if(type === WIRE || type === UNDERPASS){
      return clear(forest, x, y);
    }else{
      return drawWire(forest, x, y);
    }
  }else if(tool === UNDERPASS){
    const type = getTypeAt(forest.enneaTree, x, y);
    if(type === UNDERPASS || type === WIRE){
      return clear(forest, x, y);
    }else{
      return drawUnderpassWithWires(forest, x, y);
    }
  }else if(tool === GATE){
    return drawGate(forest, x, y);
  }else if(tool === BUTTON){
    return drawButton(forest, x, y, direction);
  }else if(tool === LIGHT){
    return drawLight(forest, x, y, direction);
  }else{
    return forest;
  }
}
開發者ID:mariusGundersen,項目名稱:Ekkiog,代碼行數:25,代碼來源:forest.ts

示例2: underpassToWire

function underpassToWire(forest : Forest, x : number, y : number){
  const type = getTypeAt(forest.enneaTree, x, y);
  if(type !== UNDERPASS) return forest;

  const tempForest = clear(forest, x, y);
  const result = drawWire(tempForest, x, y);
  if(result === tempForest) return forest;

  return result;
}
開發者ID:mariusGundersen,項目名稱:Ekkiog,代碼行數:10,代碼來源:forest.ts

示例3: wireToUnderpass

function wireToUnderpass(forest : Forest, x : number, y : number){
  const type = getTypeAt(forest.enneaTree, x, y);
  if(type !== WIRE) return forest;

  const tempForest = clear(forest, x, y);
  const result = drawUnderpassWithWires(tempForest, x, y);
  if(result === tempForest) return forest;

  return result;
}
開發者ID:mariusGundersen,項目名稱:Ekkiog,代碼行數:10,代碼來源:forest.ts

示例4: replaceComponents

function replaceComponents(forest : Forest, newComponent : Package){
  const didntFit = [] as {x : number, y : number}[];
  for(const item of getComponents(forest, newComponent.name)){
    if(item.data.package.hash === newComponent.hash) continue;
    const x = item.left + (item.width>>1);
    const y = item.top + (item.height>>1);
    const clearedForest = clear(forest, x, y);
    const newForest = drawComponent(clearedForest, x, y, newComponent);
    if(newForest === clearedForest){
      didntFit.push({x, y});
    }else{
      forest = newForest;
    }
  }
  return {forest, didntFit};
}
開發者ID:mariusGundersen,項目名稱:Ekkiog,代碼行數:16,代碼來源:zoomOutOf.ts

示例5: editing

export default function editing(forest=createForest(), action : Action) : Forest{
  switch(action.type){
    case 'set-forest':
      return action.forest || forest;
    case 'draw':
      return tap(forest, action.tool, action.direction, action.x, action.y);
    case 'remove-tile-at':
      return clear(forest, action.x, action.y);
    case 'convert-wire-to-underpass':
      return wireToUnderpass(forest, action.x, action.y);
    case 'convert-underpass-to-wire':
      return underpassToWire(forest, action.x, action.y);
    case 'insert-component':
      return drawComponent(forest, action.position.x+(action.component.width>>1), action.position.y+(action.component.height>>1), action.component);
    default:
      return forest;
  }
}
開發者ID:mariusGundersen,項目名稱:Ekkiog,代碼行數:18,代碼來源:forest.ts


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