Exemplo n.º 1
0
    public void Init(GameGridInstance grid_in, GameGridInstance.GridTileType grid_type)
    {
        grid = grid_in;
        type = grid_type;

        collider = gameObject.GetComponent <Collider2D>();
    }
Exemplo n.º 2
0
    public override void OnInspectorGUI()
    {
        GameGridInstance myScript = (GameGridInstance)target;

        if (new_grid_size.x == -1)
        {
            new_grid_size = myScript.GetGridSize();
        }

        if (!Application.isPlaying)
        {
            GUILayout.Label("Grid elements ========");

            new_grid_size = EditorGUILayout.Vector2IntField("Grid size", new_grid_size);

            if (new_grid_size.x < 0)
            {
                new_grid_size.x = 0;
            }

            if (new_grid_size.y < 0)
            {
                new_grid_size.y = 0;
            }

            if (GUILayout.Button("Update grid size"))
            {
                myScript.CreateGrid(new_grid_size);
                EditorUtility.SetDirty(target);
            }
        }
        GUILayout.Label("Size ===============");

        DrawDefaultInspector();

        if (!Application.isPlaying)
        {
            GUILayout.Label("Elements ============");

            List <GameGridInstance.GridTile> tiles = myScript.GetTiles();

            if (GUILayout.Button("Reset"))
            {
                for (int i = 0; i < tiles.Count; ++i)
                {
                    tiles[i].type = GameGridInstance.GridTileType.GRID_TILE_TYPE_EMPTY;
                }

                EditorUtility.SetDirty(target);
            }

            for (int i = 0; i < tiles.Count; ++i)
            {
                GameGridInstance.GridTile curr_tile = tiles[i];

                string name = "[" + curr_tile.grid_pos.x + "] [" + curr_tile.grid_pos.y + "]";

                GameGridInstance.GridTileType obj = (GameGridInstance.GridTileType)EditorGUILayout.EnumPopup(name, curr_tile.type);

                if (obj != curr_tile.type)
                {
                    curr_tile.type = obj;

                    EditorUtility.SetDirty(target);
                }
            }
        }
    }
Exemplo n.º 3
0
 private void Awake()
 {
     grid_inst = gameObject.GetComponent <GameGridInstance>();
 }