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 }); }
public bool HasFlag(MapRecord mapRecord, NavigationGridCellFlags flag) { return(mapRecord.HasFlag(Id, flag)); }
public bool HasFlag(int index, NavigationGridCellFlags flag) { return((CellFlags[index] & (int)flag) == (int)flag); }
public bool CellHasFlag(NavigationGridCellFlags flags) { return(Cell.HasFlag(Game.Map.Record, flags)); }
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; }