// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using FlaxEditor.Windows;
using FlaxEngine;
namespace FlaxEditor.Content
{
///
/// Content proxy for .
///
///
[ContentContextMenu("New/Scene")]
public sealed class SceneProxy : JsonAssetBaseProxy
{
///
/// The scene files extension.
///
public static readonly string Extension = "scene";
///
public override string Name => "Scene";
///
public override string FileExtension => Extension;
///
public override bool IsProxyFor(ContentItem item)
{
return item is SceneItem;
}
///
public override bool CanCreate(ContentFolder targetLocation)
{
return targetLocation.CanHaveAssets;
}
///
public override void Create(string outputPath, object arg)
{
Editor.Instance.Scene.CreateSceneFile(outputPath);
}
///
public override EditorWindow Open(Editor editor, ContentItem item)
{
// Load scene
Editor.Instance.Scene.OpenScene(((SceneItem)item).ID);
return null;
}
///
public override Color AccentColor => Color.FromRGB(0xbb37ef);
///
public override string TypeName => Scene.AssetTypename;
///
public override AssetItem ConstructItem(string path, string typeName, ref Guid id)
{
return new SceneItem(path, id);
}
}
}