本文整理汇总了C#中Forays.PhysicalObject.TilesAtDistance方法的典型用法代码示例。如果您正苦于以下问题:C# PhysicalObject.TilesAtDistance方法的具体用法?C# PhysicalObject.TilesAtDistance怎么用?C# PhysicalObject.TilesAtDistance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Forays.PhysicalObject
的用法示例。
在下文中一共展示了PhysicalObject.TilesAtDistance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AnimateExplosion
public static async void AnimateExplosion(PhysicalObject obj,int radius,colorchar ch,int duration,bool single_frame){
Game.Console.CursorVisible = false;
colorchar[,] prev = new colorchar[radius*2+1,radius*2+1];
for(int i=0;i<=radius*2;++i){
for(int j=0;j<=radius*2;++j){
if(MapBoundsCheck(obj.row-radius+i,obj.col-radius+j)){
prev[i,j] = MapChar(obj.row-radius+i,obj.col-radius+j);
}
}
}
if(!single_frame){
for(int i=0;i<=radius;++i){
foreach(Tile t in obj.TilesAtDistance(i)){
WriteMapChar(t.row,t.col,ch);
}
await Task.Delay(duration);
}
}
else{
foreach(Tile t in obj.TilesWithinDistance(radius)){
WriteMapChar(t.row,t.col,ch);
}
await Task.Delay(duration);
}
for(int i=0;i<=radius*2;++i){
for(int j=0;j<=radius*2;++j){
if(MapBoundsCheck(obj.row-radius+i,obj.col-radius+j)){
WriteMapChar(obj.row-radius+i,obj.col-radius+j,prev[i,j]);
}
}
}
Game.Console.CursorVisible = true;
}