/// <summary>Create the structure</summary> public ColorFormat(eVideoColorSpace cs, eRange r, eChromaSiting horiz, eChromaSiting vert) { colorSpace = cs; range = r; chromaHorizontal = horiz; chromaVertical = vert; }
public bool isInsideVisionRange(Character target, ITerrain terrain, List<ILevelObject> obstacles) { if (target.isDead()) { changeColor(false); return false; } Vector3 targetPoint = target.BoundingCylinder.closestCyPointToPoint(this.Position); if (target.Representation.isCrouched()) { this.current_range = eRange.SHORT_RANGE; } else this.current_range = eRange.LONG_RANGE; if (isPointInsideCone(targetPoint)) { if (terrain == null || canSeeInTerrain(terrain, targetPoint)) { if (obstacles.Count == 0 || canSeeWithObstacles(targetPoint, obstacles)) { changeColor(true); return true; } } } changeColor(false); return false; }
internal Colour(Stream stream) { ElementReader reader = new ElementReader(stream); while (!reader.EOF) { eElement id = reader.readElementId(); switch (id) { case eElement.MatrixCoefficients: matrixCoefficients = (eMatrixCoefficients)reader.readByte(2); break; case eElement.BitsPerChannel: bitsPerChannel = reader.readUlong(0); break; case eElement.ChromaSubsamplingHorz: chromaSubsamplingHorz = reader.readUlong(); break; case eElement.ChromaSubsamplingVert: chromaSubsamplingVert = reader.readUlong(); break; case eElement.CbSubsamplingHorz: cbSubsamplingHorz = reader.readUlong(); break; case eElement.CbSubsamplingVert: cbSubsamplingVert = reader.readUlong(); break; case eElement.ChromaSitingHorz: chromaSitingHorz = (eChromaSitingHorz)reader.readByte(0); break; case eElement.ChromaSitingVert: chromaSitingVert = (eChromaSitingVert)reader.readByte(0); break; case eElement.Range: range = (eRange)reader.readByte(0); break; case eElement.TransferCharacteristics: transferCharacteristics = (eTransferCharacteristics)reader.readByte(2); break; case eElement.Primaries: primaries = (ePrimaries)reader.readByte(2); break; case eElement.MaxCLL: maxCLL = reader.readUlong(); break; case eElement.MaxFALL: maxFALL = reader.readUlong(); break; case eElement.MasteringMetadata: masteringMetadata = new MasteringMetadata(stream); break; default: reader.skipElement(); break; } } }