// Token: 0x0600005A RID: 90 RVA: 0x000038B4 File Offset: 0x00001AB4
    private void DrawProxy(ColliderProxy proxy, ref GameObject proxyFab1)
    {
        CBaseShape  collider    = proxy.Prefab.collider;
        Transform2D transform2D = proxy.Transform2D + proxy.Prefab.transform;
        EShape2D    typeId      = (EShape2D)collider.TypeId;
        EShape2D    eshape2D    = typeId;

        if (eshape2D != EShape2D.Circle)
        {
            if (eshape2D == EShape2D.OBB)
            {
                proxyFab1 = GameObject.CreatePrimitive(PrimitiveType.Cube);
                proxyFab1.transform.SetParent(base.transform, false);
                proxyFab1.transform.localScale    = ((collider as COBB).size * 2).ToVector3XZ(proxy.Height);
                proxyFab1.transform.localPosition = transform2D.Pos3.ToVector3();
                proxyFab1.transform.rotation      = Quaternion.Euler(0f, transform2D.deg.ToFloat(), 0f);
            }
        }
        else
        {
            proxyFab1 = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
            proxyFab1.transform.SetParent(base.transform, false);
            float num = (collider as CCircle).radius.ToFloat() * 2f;
            proxyFab1.transform.localScale    = new Vector3(num, 2f, num);
            proxyFab1.transform.localPosition = transform2D.Pos3.ToVector3();
        }
    }
Exemple #2
0
        public static unsafe void DrawGizmos(EShape2D shapeType, Circle *shape, Color color)
        {
            switch (shapeType)
            {
            case EShape2D.Circle:
                DrawCircle(*(Circle *)shape, color);
                break;

            case EShape2D.AABB:
                DrawAABB(*(AABB2D *)shape, color);
                break;

            case EShape2D.OBB:
                DrawOBB(*(OBB2D *)shape, color);
                break;
            }
        }