public static NavigationGridCell ReadVersion5(BinaryReader br, int id)
        {
            float centerHeight            = br.ReadSingle();
            int   sessionId               = br.ReadInt32();
            float arrivalCost             = br.ReadSingle();
            bool  isOpen                  = br.ReadUInt32() == 1;
            float heuristic               = br.ReadSingle();
            uint  actorList               = br.ReadUInt32();
            NavigationGridLocator locator = new NavigationGridLocator(br);
            float additionalCost          = br.ReadSingle();
            float hintAsGoodCell          = br.ReadSingle();
            uint  additionalCostRefCount  = br.ReadUInt32();
            int   goodCellSessionId       = br.ReadInt32();
            float refHintWeight           = br.ReadSingle();
            short arrivalDirection        = br.ReadInt16();
            NavigationGridCellFlags flags = (NavigationGridCellFlags)br.ReadUInt16();

            short[] refHintNode = new short[] { br.ReadInt16(), br.ReadInt16() };

            return(new NavigationGridCell()
            {
                ID = id,
                Flags = flags,
                CenterHeight = centerHeight,
                SessionId = sessionId,
                ArrivalCost = arrivalCost,
                IsOpen = isOpen,
                Heuristic = heuristic,
                ActorList = actorList,
                Locator = locator,
                AdditionalCost = additionalCost,
                HintAsGoodCell = hintAsGoodCell,
                AdditionalCostRefCount = additionalCostRefCount,
                GoodCellSessionId = goodCellSessionId,
                RefHintWeight = refHintWeight,
                ArrivalDirection = arrivalDirection,
                RefHintNode = refHintNode
            });
        }
Example #2
0
 public bool HasFlag(MapRecord mapRecord, NavigationGridCellFlags flag)
 {
     return(mapRecord.HasFlag(Id, flag));
 }
Example #3
0
 public bool HasFlag(int index, NavigationGridCellFlags flag)
 {
     return((CellFlags[index] & (int)flag) == (int)flag);
 }
Example #4
0
 public bool CellHasFlag(NavigationGridCellFlags flags)
 {
     return(Cell.HasFlag(Game.Map.Record, flags));
 }
Example #5
0
 public bool HasFlag(NavGrid grid, NavigationGridCellFlags flag)
 {
     return(grid.HasFlag(Id, flag));
 }
 public bool HasFlag(NavigationGridCellFlags flag)
 {
     return((this.Flags & flag) == flag);
 }
 public void SetFlags(NavigationGridCellFlags flags)
 {
     this.Flags |= flags;
 }