Esempio n. 1
0
    static void SetTileSize(ColliderTile tile, float newSize)
    {
        SetBox(tile.boxR, BoxMode.R, newSize);
        EditorUtility.SetDirty(tile.boxR);

        SetBox(tile.boxD, BoxMode.D, newSize);
        EditorUtility.SetDirty(tile.boxD);

        SetBox(tile.boxRD, BoxMode.RD, newSize);
        EditorUtility.SetDirty(tile.boxRD);

        SetCircle(tile.singleCircle, newSize);
        EditorUtility.SetDirty(tile.singleCircle);

        SetBox(tile.boxRDCircle, BoxMode.RD, newSize);
        SetCircle(tile.boxRDCircle, newSize);
        EditorUtility.SetDirty(tile.boxRDCircle);

        SetBox(tile.boxRCircle, BoxMode.R, newSize);
        SetCircle(tile.boxRCircle, newSize);
        EditorUtility.SetDirty(tile.boxRCircle);

        SetBox(tile.boxDCircle, BoxMode.D, newSize);
        SetCircle(tile.boxDCircle, newSize);
        EditorUtility.SetDirty(tile.boxDCircle);

        tile.size = newSize;
        EditorUtility.SetDirty(tile);
    }
Esempio n. 2
0
 static void EnsurePrefabPaths(ColliderTile tile)
 {
     EnsurePrefabPath(tile.boxR, "box_r", tile);
     EnsurePrefabPath(tile.boxD, "box_d", tile);
     EnsurePrefabPath(tile.boxRD, "box_rd", tile);
     EnsurePrefabPath(tile.singleCircle, "single_circle", tile);
     EnsurePrefabPath(tile.boxRDCircle, "rdcircle", tile);
     EnsurePrefabPath(tile.boxRCircle, "rcircle", tile);
     EnsurePrefabPath(tile.boxDCircle, "dcircle", tile);
 }
Esempio n. 3
0
    static void EnsurePrefabPath(GameObject prefab, string name, ColliderTile tile)
    {
        var tilePath = AssetDatabase.GetAssetPath(tile);
        var orgPath  = AssetDatabase.GetAssetPath(prefab);
        var tileDir  = Path.GetDirectoryName(tilePath);

        if (prefab.name != name ||
            tileDir != Path.GetDirectoryName(orgPath))
        {
            var newPath = tileDir + "/" + tile.name + "_" + name + ".prefab";
            AssetDatabase.MoveAsset(orgPath, newPath);
        }
    }
Esempio n. 4
0
    public ColliderMap(int width, int height)
    {
        this.width  = width;
        this.height = height;
        Debug.Log(width + " " + height);
        tileMap = new ColliderTile[height, width];

        for (int i = 0; i < height; i++)
        {
            for (int j = 0; j < width; j++)
            {
                tileMap[i, j] = new ColliderTile();
            }
        }
    }
Esempio n. 5
0
    static GameObject NewGameObject(string name, List <GameObject> gos, ColliderTile tileObj)
    {
        var go = new GameObject(name);

        go.isStatic = true;
        go.layer    = LayerMask.NameToLayer("Wall");
        gos.Add(go);
        var thePath = AssetDatabase.GetAssetPath(tileObj);
        var dir     = Path.GetDirectoryName(thePath);
        var oldGo   = go;

        go = PrefabUtility.CreatePrefab(dir + "/" + name + ".prefab", go, ReplacePrefabOptions.Default);
        DestroyImmediate(oldGo);
        //AssetDatabase.AddObjectToAsset(go, tileObj);
        return(go);
    }