Exemplo n.º 1
0
    void CreateCircle()
    {
        GameObject       go = new GameObject("Circle");
        TFTransform      fp = go.AddComponent <TFTransform>();
        TFCircleCollider cc = go.AddComponent <TFCircleCollider>();
        TFRigidbody      rb = go.AddComponent <TFRigidbody>();

        var v3 = Input.mousePosition;

        v3.z = 0;
        v3   = Camera.main.ScreenToWorldPoint(v3);

        fp.Position = new FixVec3((Fix)v3.x, (Fix)v3.y, 0);
        cc.radius   = (Fix)Random.Range(0.05f, 1.2f);

        rb.bodyType = TFBodyType.Dynamic;
        rb.inertia  = (Fix)Random.Range(0.0f, 1.0f);
        rb.Position = (FixVec2)fp.Position;
        rb.material = TFPhysics.instance.settings.defaultMaterial;

        fp.LocalScale = new FixVec3(cc.radius * ((Fix)1.45f), cc.radius * ((Fix)1.45f), 1);

        //Sprite
        GameObject cSprite = GameObject.Instantiate(circleSprite);

        cSprite.transform.SetParent(go.transform, false);
    }
Exemplo n.º 2
0
    void Awake()
    {
        // add our one-way platforms to our normal platform mask so that we can land on them from above
        platformMask |= oneWayPlatformMask;

        // cache some components
        tfTransform = GetComponent <TFTransform>();
        boxCollider = GetComponent <TFPolygonCollider>();
        rigidBody2D = GetComponent <TFRigidbody>();

        if (rigidBody2D)
        {
            rigidBody2D.OnTriggerEnter += TFOnTriggerEnter;
            rigidBody2D.OnTriggerStay  += TFOnTriggerStay;
            rigidBody2D.OnTriggerExit  += TFOnTriggerExit;
        }

        // here, we trigger our properties that have setters with bodies
        skinWidth = _skinWidth;

        // we want to set our CC2D to ignore all collision layers except what is in our triggerMask
        for (var i = 0; i < 32; i++)
        {
            // see if our triggerMask contains this layer and if not ignore it
            if ((triggerMask.mask & 1 << i) == 0)
            {
                Physics2D.IgnoreLayerCollision(gameObject.layer, i);
            }
        }
    }
Exemplo n.º 3
0
        public override void OnInspectorGUI()
        {
            t = (TFTransform)target;

            DrawDefaultInspector();

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField("Rotation: ", GUILayout.Width(75));
            EditorGUILayout.LabelField(Mat22.MatrixToDegrees(t.Rotation).ToString(), GUILayout.Width(50));
            rotVal = EditorGUILayout.FloatField(rotVal, GUILayout.Width(50));
            if (GUILayout.Button("A", GUILayout.Width(25)))
            {
                t.Rotation = new Mat22((Fix)rotVal);
                t.OnValidate();
            }
            EditorGUILayout.EndHorizontal();
        }
Exemplo n.º 4
0
 protected virtual void Awake()
 {
     body        = GetComponent <TFRigidbody>();
     tdTransform = GetComponent <TFTransform>();
     RecalcAABB((FixVec2)tdTransform.Position);
 }