コード例 #1
0
        public override void Draw(DebugRender dr, Matrix transform, Color color)
        {
            var w = Width / 2;
            var h = Height / 2;
            var d = Depth / 2;

            dr.DrawBox(new BoundingBox(new Vector3(-w, -h, -d), new Vector3(w, h, d)), transform, color);
            dr.DrawPoint(transform.TranslationVector, (w + h + d) / 3 / 2, color);
        }
コード例 #2
0
ファイル: FlockChild.cs プロジェクト: Blightbuster/Green-Hell
    public Vector3 findWaypoint()
    {
        Vector3 zero  = Vector3.zero;
        Vector3 zero2 = Vector3.zero;

        zero2.Set(UnityEngine.Random.Range(-this._spawner._spawnSphere, this._spawner._spawnSphere), UnityEngine.Random.Range(-this._spawner._spawnSphereHeight, this._spawner._spawnSphereHeight), UnityEngine.Random.Range(-this._spawner._spawnSphereDepth, this._spawner._spawnSphereDepth));
        Vector3 vector = this._spawner._thisT.rotation * zero2 + this._spawner._posBuffer;

        DebugRender.DrawPoint(vector, Color.black, 0.3f, 100f);
        return(vector);
    }
コード例 #3
0
        public override void DrawNode(GameWorld world, DebugRender dr, Color color, bool selected)
        {
            dr.DrawPoint(WorldMatrix.TranslationVector, 0.5f, color, 1);

            var bbox1 = new BoundingBox(Width, Height, Depth);
            var bbox2 = new BoundingBox(0.5f, 0.5f, 0.5f);

            if (selected)
            {
                dr.DrawBox(bbox1, WorldMatrix, color);
            }
            else
            {
                dr.DrawBox(bbox2, WorldMatrix, color);
            }
        }
コード例 #4
0
    public void SetFlockRandomPosition()
    {
        Vector3 vector = Vector3.zero;
        Vector3 zero   = Vector3.zero;

        zero.Set(UnityEngine.Random.Range(-this._positionSphere, this._positionSphere), UnityEngine.Random.Range(-this._positionSphereHeight, this._positionSphereHeight), UnityEngine.Random.Range(-this._positionSphereDepth, this._positionSphereDepth));
        vector  = this._thisT.rotation * zero;
        vector += this._thisT.position;
        DebugRender.DrawPoint(vector, Color.white, 0.3f, 100f);
        this._posBuffer = vector;
        if (this._forceChildWaypoints)
        {
            for (int i = 0; i < this._roamers.Count; i++)
            {
                this._roamers[i].Wander(UnityEngine.Random.value * this._forcedRandomDelay);
            }
        }
    }
コード例 #5
0
ファイル: MapOmniLight.cs プロジェクト: ttou73/IronStar
        public override void DrawNode(GameWorld world, DebugRender dr, Color color, bool selected)
        {
            var transform = WorldMatrix;

            var lightColor = LightPresetColor.GetColor(LightPreset, Intensity);

            var max = Math.Max(Math.Max(lightColor.Red, lightColor.Green), Math.Max(lightColor.Blue, 1));

            var dispColor = new Color((byte)(lightColor.Red / max * 255), (byte)(lightColor.Green / max * 255), (byte)(lightColor.Blue / max * 255), (byte)255);

            dr.DrawPoint(transform.TranslationVector, 1, color, 1);

            if (selected)
            {
                dr.DrawSphere(transform.TranslationVector, Radius, dispColor);
            }
            else
            {
            }
        }
コード例 #6
0
ファイル: MapSpotLight.cs プロジェクト: ttou73/IronStar
        public override void DrawNode(GameWorld world, DebugRender dr, Color color, bool selected)
        {
            var transform = WorldMatrix;

            var lightColor = LightPresetColor.GetColor(LightPreset, Intensity);;

            var max = Math.Max(Math.Max(lightColor.Red, lightColor.Green), Math.Max(lightColor.Blue, 1));

            var dispColor = new Color((byte)(lightColor.Red / max * 255), (byte)(lightColor.Green / max * 255), (byte)(lightColor.Blue / max * 255), (byte)255);

            dr.DrawPoint(transform.TranslationVector, 1, color, 2);

            if (selected)
            {
                var frustum = new BoundingFrustum(SpotView * SpotProjection);

                var points = frustum.GetCorners();

                dr.DrawLine(points[0], points[1], color);
                dr.DrawLine(points[1], points[2], color);
                dr.DrawLine(points[2], points[3], color);
                dr.DrawLine(points[3], points[0], color);

                dr.DrawLine(points[4], points[5], color);
                dr.DrawLine(points[5], points[6], color);
                dr.DrawLine(points[6], points[7], color);
                dr.DrawLine(points[7], points[4], color);

                dr.DrawLine(points[0], points[4], color);
                dr.DrawLine(points[1], points[5], color);
                dr.DrawLine(points[2], points[6], color);
                dr.DrawLine(points[3], points[7], color);
            }
            else
            {
            }
        }
コード例 #7
0
    public void DrawDebug()
    {
        bool flag  = false;
        bool flag2 = true;
        bool flag3 = true;

        for (int i = 0; i < this.m_NumCellsX; i++)
        {
            for (int j = 0; j < this.m_NumCellsY; j++)
            {
                QuadTreeStaticObjectsCell quadTreeStaticObjectsCell = this.m_Cells[i, j];
                if (flag || (flag3 && quadTreeStaticObjectsCell.m_Objects.Count > 0))
                {
                    Vector3 zero = Vector3.zero;
                    zero.x = quadTreeStaticObjectsCell.m_Pos.x;
                    zero.z = quadTreeStaticObjectsCell.m_Pos.y;
                    Vector3 end = zero;
                    end.x += quadTreeStaticObjectsCell.m_Size.x;
                    DebugRender.DrawLine(zero, end, Color.white, 0f);
                    end    = zero;
                    end.z += quadTreeStaticObjectsCell.m_Size.y;
                    DebugRender.DrawLine(zero, end, Color.white, 0f);
                }
                if (flag2)
                {
                    for (int k = 0; k < quadTreeStaticObjectsCell.m_Objects.Count; k++)
                    {
                        GameObject gameObject = quadTreeStaticObjectsCell.m_Objects[k].m_GameObject;
                        if (gameObject)
                        {
                            DebugRender.DrawPoint(gameObject.transform.position, gameObject.activeSelf ? Color.red : Color.green, 0.3f, 0f);
                        }
                    }
                }
            }
        }
    }
コード例 #8
0
    public void DrawDebug()
    {
        bool flag  = false;
        bool flag2 = true;
        bool flag3 = true;

        for (int i = 0; i < this.m_NumCellsX; i++)
        {
            for (int j = 0; j < this.m_NumCellsY; j++)
            {
                QuadTreeCellBalanceSystem quadTreeCellBalanceSystem = this.m_Cells[i, j];
                if (flag || (flag3 && quadTreeCellBalanceSystem.m_Objects.Count > 0))
                {
                    Vector3 zero = Vector3.zero;
                    zero.x = quadTreeCellBalanceSystem.m_Pos.x;
                    zero.z = quadTreeCellBalanceSystem.m_Pos.y;
                    Vector3 end = zero;
                    end.x += quadTreeCellBalanceSystem.m_Size.x;
                    DebugRender.DrawLine(zero, end, Color.white, 0f);
                    end    = zero;
                    end.z += quadTreeCellBalanceSystem.m_Size.y;
                    DebugRender.DrawLine(zero, end, Color.white, 0f);
                }
                if (flag2)
                {
                    for (int k = 0; k < quadTreeCellBalanceSystem.m_Objects.Count; k++)
                    {
                        BalanceSystemObject balanceSystemObject = quadTreeCellBalanceSystem.m_Objects[k];
                        if (balanceSystemObject.m_GameObject != null)
                        {
                            DebugRender.DrawPoint(balanceSystemObject.m_GameObject.transform.position, (!balanceSystemObject.m_GameObject.activeSelf) ? Color.green : Color.red, 0.3f, 0f);
                        }
                    }
                }
            }
        }
    }
コード例 #9
0
        public void DrawNavigationMeshDebug(DebugRender dr)
        {
            if (SourceNavigationMesh != null)
            {
                var srcNavMesh = SourceNavigationMesh;
                foreach (var p in srcNavMesh.Vertices)
                {
                    //dr.DrawPoint( p, 0.1f, Color.Yellow );
                }
            }


            if (navIndices == null)
            {
                return;
            }


            foreach (var p in navVertices)
            {
                dr.DrawPoint(p, 0.1f, Color.Yellow);
            }

            var color = Color.Yellow;

            for (int i = 0; i < navIndices.Length / 3; i++)
            {
                var p0 = navVertices[navIndices[i * 3 + 0]];
                var p1 = navVertices[navIndices[i * 3 + 1]];
                var p2 = navVertices[navIndices[i * 3 + 2]];

                dr.DrawLine(p0, p1, color, color, 2, 2);
                dr.DrawLine(p1, p2, color, color, 2, 2);
                dr.DrawLine(p2, p0, color, color, 2, 2);
            }
        }