Example #1
0
    private void InsertTouchArea(int i, EInsertType type, ECompositeType compositeType = ECompositeType.COMBINE)
    {
        switch (type)
        {
        case EInsertType.EMPTY:
            InsertTouchArea(i, null, compositeType);
            break;

        case EInsertType.BOX:
            InsertTouchArea <BoxCollider2D>(i, "Box Area", compositeType);
            break;

        case EInsertType.CAPSULE:
            InsertTouchArea <CapsuleCollider2D>(i, "Capsule Area", compositeType);
            break;

        case EInsertType.CIRCLE:
            InsertTouchArea <CircleCollider2D>(i, "Circle Area", compositeType);
            break;

        case EInsertType.POLYGON:
            InsertTouchArea <PolygonCollider2D>(i, "Polygon Area", compositeType);
            break;
        }
    }
Example #2
0
    private void InsertTouchArea <T>(int i, string objectName, ECompositeType compositeType = ECompositeType.COMBINE) where T : Collider2D
    {
        GameObject gameObject = new GameObject(objectName, typeof(T));

        gameObject.transform.parent = (target as CompositeTouchArea).transform;
        gameObject.GetComponent <Collider2D>().isTrigger = true;

        InsertTouchArea(i, gameObject, compositeType);
    }
Example #3
0
    private void InsertTouchArea(int i, GameObject gameObject, ECompositeType compositeTypeValue = ECompositeType.COMBINE)
    {
        touchAreasProp.InsertArrayElementAtIndex(i + 1);
        showIndividualTouchAreas.Insert(i + 1, false);

        SerializedProperty area = touchAreasProp.GetArrayElementAtIndex(i + 1).FindPropertyRelative("area");

        area.objectReferenceValue = gameObject;

        SerializedProperty compositeType = touchAreasProp.GetArrayElementAtIndex(i + 1).FindPropertyRelative("compositeType");

        compositeType.enumValueIndex = (int)compositeTypeValue;
    }