Exemplo n.º 1
0
 /// <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;

        }
Exemplo n.º 3
0
        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;
                }
            }
        }