public static byte SetOccupied(byte value, bool occupied, OccupiedType type) { switch (type) { case OccupiedType.Vehicle: if (occupied) { //set bit value = (byte)(value | VEHICLE_OCCUPIED_BIT); } else { //clear bit value = (byte)(value & (~VEHICLE_OCCUPIED_BIT)); } break; case OccupiedType.TrafficSignal: if (occupied) { value = (byte)(value | TRAFFIC_SIGNAL_OCCUPIED_BIT); } else { value = (byte)(value & (~TRAFFIC_SIGNAL_OCCUPIED_BIT)); } break; } return(value); }
//return true if occupied // false otherwise public static bool CheckOccupied(byte value, OccupiedType type) { switch (type) { case OccupiedType.Vehicle: return((value & VEHICLE_OCCUPIED_BIT) != 0); case OccupiedType.TrafficSignal: return((value & TRAFFIC_SIGNAL_OCCUPIED_BIT) != 0); } return(true); }
public void SetData(FieldType field_type, OccupiedType occupied_type = OccupiedType.kNone) { fieldType = field_type; occupiedType = field_type == FieldType.kOcuppied ? occupied_type : OccupiedType.kNone; is_obstacle_ = false; switch (fieldType) { case FieldType.kOcuppied: switch (occupiedType) { case OccupiedType.kGrass: ChangeGraphics(MapManager.Instance.mapSprites.grass); break; case OccupiedType.kStone: ChangeGraphics(MapManager.Instance.mapSprites.stone); is_obstacle_ = true; break; case OccupiedType.kWood: ChangeGraphics(MapManager.Instance.mapSprites.wood); is_obstacle_ = true; break; default: // kNone ChangeGraphics(null); break; } break; case FieldType.kPlowed: ChangeGraphics(MapManager.Instance.mapSprites.plowed); break; case FieldType.kSeed: ChangeGraphics(MapManager.Instance.mapSprites.seed); break; case FieldType.kFlower: ChangeGraphics(MapManager.Instance.mapSprites.flower); break; default: // kEmpty ChangeGraphics(null); break; } obstacle.gameObject.SetActive(is_obstacle_); }