public List< iVec2> GetUnitPKPosPool( Panel_unit unit , bool bCanPK ) { List< iVec2> lst = new List< iVec2> (); foreach (KeyValuePair < int , Panel_unit > pair in IdentToUnit) { if( unit.CanPK( pair.Value ) == bCanPK ) { lst.Add( pair.Value.Loc ); } } return lst; }
// get nearest pk unit public Dictionary< Panel_unit , int > GetUnitDistPool( Panel_unit unit , bool bCanPK ) { Dictionary< Panel_unit , int > pool = new Dictionary< Panel_unit , int > (); // unit , dist foreach( KeyValuePair<int ,Panel_unit > pair in IdentToUnit ) { if( unit.CanPK( pair.Value ) == bCanPK ) { int nDist = pair.Value.Loc.Dist( unit.Loc ); pool.Add( pair.Value , nDist ); } } return pool; }