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


C# HexPosition.containsKey方法代码示例

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


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

示例1: move

 public void move(HexPosition desitination, HexPosition[] path)
 {
     this.path = new Vector3[path.Length];
     for (int i = 0; i < path.Length; ++i) {
         this.path[i] = path[i].getPosition();
     }
     state = State.ATTACK;
     if (desitination.containsKey ("Unit")) {
         print ("Space occupied.");
         grid.actionComplete();
         return;
     }
     position.remove ("Unit");
     desitination.add ("Unit", this);
     //transform.position = desitination.getPosition();
     t = 0;
     n = 0;
     moving = true;
     position = desitination;
 }
开发者ID:eirielson,项目名称:collider-effects-unity,代码行数:20,代码来源:Unit.cs

示例2: Update

 void Update()
 {
     if (waiting || gameOver || !modeSelected)
     {
         return;
     }
     if (player == 1 && computerPlayer)
     {
         if (ai.go())
         {
             endTurn();
         }
         checkGameOver();
         return;
     }
     /*if (timeout > 0) {
         --timeout;
         if(timeout == 0) {
             print ("Warning: HexGrid.cs timed out.");
         }
         return;
     }*/
     if (!Input.mousePresent)
     {
         mouse = null;
     }
     else
     {
         Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         RaycastHit[] hits = Physics.RaycastAll(ray);
         if (hits.Length == 0)
         {
             if (mouse != null && turn == Turn.MOVE)
             {
                 HexPosition.clearSelection("Path");
                 HexPosition.clearSelection("Attack");
                 path = null;
             }
             // No hits == null
             mouse = null;
         }
         else  // if hit(s)
         {
             // Find closest
             float minDist = float.PositiveInfinity;
             int min = 0;
             for (int i = 0; i < hits.Length; ++i)
             {
                 if (hits[i].distance < minDist)
                 {
                     minDist = hits[i].distance;
                     min = i;
                 }
             }
             HexPosition newMouse = new HexPosition(hits[min].point);
             if (newMouse != mouse)
             {
                 if (mouse != null)
                 {
                     mouse.unselect("Cursor");
                 }
                 if (newMouse.containsKey("Obstacle"))
                 {   //The Obstacle tag is being used to make the tile unselectable.
                     if (mouse != null && turn == Turn.MOVE)
                     {
                         HexPosition.clearSelection("Path");
                         HexPosition.clearSelection("Attack");
                         path = null;
                     }
                     mouse = null;
                     return;
                 }
                 mouse = newMouse;
                 mouse.select("Cursor");
                 if (turn == Turn.MOVE)
                 {
                     Unit unit = (Unit)selection.getValue("Unit");
                     HexPosition.clearSelection("Path");
                     HexPosition.clearSelection("Attack");
                     path = AStar.search(selection, mouse, unit.SPEED);
                     HexPosition.select("Path", path);
                     selectAttackable(unit, mouse);
                 }
             }
             if (Input.GetButtonDown("Fire1"))
             {
                 switch (turn)
                 {
                     case Turn.SELECT:
                         select();
                         break;
                     case Turn.MOVE:
                         move();
                         break;
                     case Turn.ATTACK:
                         attack();
                         break;
                     default:
                         print("Error: Turn " + turn + " not implemented.");
                         break;
//.........这里部分代码省略.........
开发者ID:Draxe,项目名称:Battlegrounds,代码行数:101,代码来源:HexGrid.cs

示例3: build

 private void build()
 {
     Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     RaycastHit[] hits = Physics.RaycastAll(ray);
     float minDist = float.PositiveInfinity;
     int min = 0;
     for (int i=0; i<hits.Length; ++i) {
         if(hits[i].distance < minDist) {
             minDist = hits[i].distance;
             min = i;
         }
     }
     HexPosition newMouse = new HexPosition (hits[min].point);
     if (!newMouse.containsKey("Obstacle") && !newMouse.containsKey("Unit")) {
         gm.build_place_here(newMouse);
     }
 }
开发者ID:radding,项目名称:Space_Pope,代码行数:17,代码来源:HexGrid.cs


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