using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.IO;
using CommonAI.Zone.ZoneEditor;
using GameEditorPlugin.Win32.Runtime;
namespace CommonAIEditor
{
public interface IGameEditorPlugin
{
string Name { get; }
///
/// 编辑器入口
///
string DataRoot { get; set; }
///
/// 游戏扩展DLL
///
string PluginDLL { get; set; }
///
/// 构造场景编辑器插件
///
///
///
ISceneEditorPlugin CreateScenePlugin(IGameEditorPlugin default_plugin);
///
/// 运行游戏测试
///
///
///
///
///
void RunTest(IGameEditorPlugin default_plugin, string data_dir, int sceneID, int actorTemplateID);
///
/// 运行资源查看功能
///
///
///
void RunModelView(IGameEditorPlugin default_plugin, string[] filepath);
///
/// 可接受的资源类型
///
///
///
///
bool AcceptResource(IGameEditorPlugin default_plugin, string filename);
///
/// 构造Win32测试工具
///
///
///
///
///
///
void RunLocalPlay(IGameEditorPlugin default_plugin, DirectoryInfo data_dir, int sceneID, bool recorder);
///
/// 构造Win32测试工具
///
///
///
///
///
void RunServerPlay(IGameEditorPlugin default_plugin, DirectoryInfo data_dir, int sceneID);
}
public delegate void PluginMessageHandler(object data);
public delegate SceneObjectData CallAddSceneObject(Type type, Action callback);
public delegate SceneObjectData CallResetSceneObject(string name, Action callback);
public interface ISceneEditorPlugin
{
bool EnableRight { get; }
Control AsControl();
void SendMessage(object data);
event PluginMessageHandler OnGetPluginMessage;
event CallAddSceneObject CallAddObject;
event CallResetSceneObject CallResetObject;
}
}