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


C# Facing.Contains方法代码示例

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


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

示例1: GetRoadIndex

 /// <summary>
 /// Gets the tile index according to the number of specified neighbor roads
 /// </summary>
 /// <returns>
 /// The index.
 /// </returns>
 /// <param name='f'>
 /// The directions of neighboring roads.
 /// </param>
 public int GetRoadIndex(Facing[] f)
 {
     if(f.Count() > 4)
         throw new Exception("There cannot be more than 4 possible neighbors");
     else if(f.Count() == 4)
         return Tiles.ROAD4WAY;
     else if(f.Count() == 3)
         return Tiles.ROAD3WAY;
     else if(f.Count() == 2){
         if((f.Contains(Facing.North) && f.Contains(Facing.West)) || (f.Contains(Facing.South) && f.Contains(Facing.East)))
             return Tiles.CORNER;
         else if((f.Contains(Facing.South) && f.Contains(Facing.West)) || (f.Contains(Facing.North) && f.Contains(Facing.East)))
             return Tiles.CORNER2;
         else if((f.Contains(Facing.North) && f.Contains(Facing.South)) || (f.Contains(Facing.West) && f.Contains(Facing.East)))
             return Tiles.ROAD;
     }
     //If f.Count == 1 or 0
     return Tiles.ROAD;
 }
开发者ID:redcodefinal,项目名称:Isometric-City-Generator-V3,代码行数:28,代码来源:IsometricFactory.cs

示例2: GetRoadFlip

        //TODO: Fix the road flip values to reflect Facing North = x--
        public bool[] GetRoadFlip(Facing[] f)
        {
            if (f.Count() > 4)
                throw new Exception ("Cannot have more than 4 possible neighbors!");
            //If we know its a 4way.
            else if (f.Count() == 4)
                return new bool[]{false,false};

            //Check the 3ways
            else if (f.Count() == 3) {
                if (f.Contains (Facing.North) && f.Contains (Facing.West) && f.Contains (Facing.East))
                    return new bool[]{true,true};
                else if (f.Contains (Facing.North) && f.Contains (Facing.West) && f.Contains (Facing.South))
                    return new bool[]{true,false};
                else if (f.Contains (Facing.North) && f.Contains (Facing.South) && f.Contains (Facing.East))
                    return new bool[]{false,true};
                else if (f.Contains (Facing.West) && f.Contains (Facing.South) && f.Contains (Facing.East))
                    return new bool[]{false,false};
            }

            //Check the corners and roads
            else if (f.Count() == 2) {
                //Corner
                if (f.Contains (Facing.North) && f.Contains (Facing.West))
                    return new bool[]{false,false};
                else if (f.Contains (Facing.South) && f.Contains (Facing.East))
                    return new bool[]{false,true};

                //Corner2
                else if (f.Contains (Facing.North) && f.Contains (Facing.East))
                    return new bool[]{false,false};
                else if (f.Contains (Facing.South) && f.Contains (Facing.West))
                    return new bool[]{true,false};

                //Roads
                else if (f.Contains (Facing.North) && f.Contains (Facing.South))
                    return new bool[]{false,false};
                else if (f.Contains (Facing.East) && f.Contains (Facing.West))
                    return new bool[]{false,true};
            }
            else if (f.Count() == 1) {
                if (f.Contains (Facing.North) || f.Contains (Facing.South))
                    return new bool[]{false,false};
                else if (f.Contains (Facing.West) || f.Contains (Facing.East))
                    return new bool[]{false,true};
            }
            else if(f.Count () == 0)
                return new bool[]{false,false};
            throw new Exception("Array was malformed, contained duplicates, or just plain wrong.");
        }
开发者ID:redcodefinal,项目名称:Isometric-City-Generator-V3,代码行数:51,代码来源:IsometricFactory.cs


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