// 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); } }