本文整理汇总了C#中CPos类的典型用法代码示例。如果您正苦于以下问题:C#CPos类的具体用法?C#CPos怎么用?C#CPos使用的例子?这里精选的类代码示例或许可以为您提供帮助。
示例1:GetCursor
publicstringGetCursor(Worldworld,CPosxy,MouseInputmi)
{
varuseSelect=false;
varunderCursor=world.ScreenMap.ActorsAt(mi)
.Where(a=>!world.FogObscures(a)&&a.HasTrait
())
.OrderByDescending(a=>a.Info.SelectionPriority())
.FirstOrDefault();
if(underCursor!=null&&(mi.Modifiers.HasModifier(Modifiers.Shift)||!world.Selection.Actors.Any()))
{
varselectable=underCursor.TraitOrDefault();
if(selectable!=null&&selectable.Info.Selectable)
useSelect=true;
}
Targettarget;
if(underCursor!=null)
target=Target.FromActor(underCursor);
else
{
varfrozen=world.ScreenMap.FrozenActorsAt(world.RenderPlayer,mi)
.Where(a=>a.Info.Traits.Contains())
.OrderByDescending(a=>a.Info.SelectionPriority())
.FirstOrDefault();
target=frozen!=null?Target.FromFrozenActor(frozen):Target.FromCell(xy);
}
varorders=world.Selection.Actors
.Select(a=>OrderForUnit(a,target,mi))
.Where(o=>o!=null)
.ToArray();
varcursorName=orders.Select(o=>o.Cursor).FirstOrDefault();
returncursorName??(useSelect?"select":"default");
}
原文链接:http://www.jxszl.com/biancheng/C/556807.html