// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using FlaxEngine;
namespace FlaxEditor.Surface
{
///
/// Defines the context data and logic for the Visject Surface editor.
///
[HideInEditor]
public interface ISurfaceContext
{
///
/// Gets the asset containing the surface (optional, null by default).
///
Asset SurfaceAsset { get; }
///
/// Gets the name of the surface (for UI).
///
string SurfaceName { get; }
///
/// Gets or sets the surface data. Used to load or save the surface to the data source.
///
byte[] SurfaceData { get; set; }
///
/// Gets the context which owns this surface context (null for root).
///
VisjectSurfaceContext ParentContext { get; }
///
/// Called when Visject Surface context gets created for this surface data source. Can be used to link for some events.
///
/// The context.
void OnContextCreated(VisjectSurfaceContext context);
}
}