void OnDrawGizmos()
    {
        if (grid == null)
        {
            DebugExtension.DebugLocalCube(transform, new Vector3(1, 1, 1));
        }
        else if (drawGrid)
        {
            Vector3 cellExtent = grid.GetCellExtent();
            Vector3 gridExtent = grid.GetExtent();
            Vector3 numCells   = new Vector3(grid.GetNumCells(0), grid.GetNumCells(1), grid.GetNumCells(2));
            Vector3 gridOrigin = grid.GetMinCorner();

            for (int i = 0; i < numCells.x; ++i)
            {
                for (int j = 0; j < numCells.y; ++j)
                {
                    for (int k = 0; k < numCells.z; ++k)
                    {
                        Gizmos.color = new Vector4(0.7f, 0.7f, 1, 0.2f);
                        Gizmos.DrawWireCube(gridOrigin + new Vector3(cellExtent.x * i + cellExtent.x / 2, cellExtent.y * j + cellExtent.y / 2, cellExtent.z * k + cellExtent.z / 2), cellExtent);
                    }
                }
            }
        }
    }
Exemple #2
0
        public void Update()
        {
            BoxCollider collider = GetComponent <BoxCollider>();

            if (collider.enabled)
            {
                DebugExtension.DebugLocalCube(transform, collider.size, Color.red, collider.center);
            }
        }
Exemple #3
0
        public override void OnDrawGizmos(bool isGizmo, Color color)
        {
#if UNITY_EDITOR
            DebugExtension.DebugLocalCube(Matrix4x4.TRS(
                                              c.ToVector3(),
                                              Quaternion.LookRotation(u.z.ToVector3(), u.y.ToVector3()),
                                              Vector3.one),
                                          e.ToVector3() * 2, color);
#endif
        }
Exemple #4
0
 void Update()
 {
     for (int i = 0; i < surfaces.Count; i++)
     {
         DebugExtension.DebugPoint(surfaces[i].ClosestPoint(point.transform.position), Color.green, .1f);
         //DebugExtension.DebugArrow(surfaces[i].Center, surfaces[i].Normal*.5f);
     }
     //int j = 0;
     //DebugExtension.DebugPoint(surfaces[j].P[0], Color.red, .1f);
     //DebugExtension.DebugPoint(surfaces[j].P[1], Color.yellow, .1f);
     //DebugExtension.DebugPoint(surfaces[j].P[2], Color.blue, .1f);
     //DebugExtension.DebugPoint(surfaces[j].ClosestPoint(point.transform.position), Color.red, .1f);
     DebugExtension.DebugLocalCube(obj.transform, new Vector3(1.0f, 1.0f, 1.0f), Color.cyan);
 }
Exemple #5
0
        private void Attack()
        {
            Vector3 halfBoxExtents = new Vector3(2f, 0.5f, 1f);

            DebugExtension.DebugLocalCube(transform.localToWorldMatrix, halfBoxExtents * 2, Color.red, Vector3.zero + Vector3.forward, 5);
            //DebugExtension.DebugBounds(new Bounds(transform.TransformPoint(Vector3.zero) + transform.forward * 2, halfBoxExtents * 2), Color.red, 5);
            Collider[] collidersInRange = Physics.OverlapBox(transform.TransformPoint(Vector3.zero) + transform.forward * 2, new Vector3(2, 1, 2), transform.rotation);
            foreach (Collider collider in collidersInRange)
            {
                if (collider.GetComponent <EnemyAI>() != null)
                {
                    Debug.Log("rotate to enemy");
                    transform.LookAt(collider.transform.position);
                    if ((_velocity.x != 0 || _velocity.y != 0) && _charController.isGrounded)
                    {
                        Lunge(collider.transform.position);
                    }
                }
            }
            _char.Attack();
        }
Exemple #6
0
    public static void DebugCollider(Collider2D hitbox)
    {
        var circleCollider2D = hitbox as CircleCollider2D;

        if (circleCollider2D != null)
        {
            var matrix = circleCollider2D.transform.localToWorldMatrix;
            DebugExtension.DebugCircle(matrix.MultiplyPoint3x4(circleCollider2D.offset), Vector3.forward, circleCollider2D.radius);
            return;
        }

        var boxCollider2D = hitbox as BoxCollider2D;

        if (boxCollider2D != null)
        {
            DebugExtension.DebugLocalCube(boxCollider2D.transform, boxCollider2D.size, boxCollider2D.offset);
            return;
        }

        throw new NotSupportedException(hitbox.GetType() + " not supported");
    }
Exemple #7
0
        private void ShowPartGizmons(SkillPart part)
        {
            var col = part.collider;

            if (col.radius > 0)
            {
                //circle
                var pos = owner?.transform.TransformPoint(col.pos) ?? col.pos;
                Gizmos.DrawSphere(pos.ToVector3XZ(LFloat.one), col.radius.ToFloat());
            }
            else
            {
                //aabb
                var pos = owner?.transform.TransformPoint(col.pos) ?? col.pos;
                Gizmos.DrawCube(pos.ToVector3XZ(LFloat.one), col.size.ToVector3XZ(LFloat.one));
                DebugExtension.DebugLocalCube(Matrix4x4.TRS(
                                                  pos.ToVector3XZ(LFloat.one),
                                                  Quaternion.Euler(0, owner.transform.deg.ToFloat(), 0),
                                                  Vector3.one),
                                              col.size.ToVector3XZ(LFloat.one), Gizmos.color);
            }
        }
Exemple #8
0
 void OnDrawGizmos()
 {
     DebugExtension.DebugCylinder(transform.position + transform.up * 0.15f, transform.position, Color.gray, 0.1f);
     DebugExtension.DebugLocalCube(transform, new Vector3(0.01f, 0.15f, 0.4f), Color.gray, new Vector3(0.09f, 0.075f, 0));
 }
Exemple #9
0
        public override void OnDrawGizmos(bool isGizmo, Color color)
        {
#if UNITY_EDITOR
            DebugExtension.DebugLocalCube(Matrix4x4.TRS(c.ToVector3(), Quaternion.identity, Vector3.one), r.ToVector3(), color);
#endif
        }