123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using CommonAI.Zone;
- using CommonAI.Zone.EventTrigger;
- using CommonFroms.G2D;
- using CommonFroms.G2D.DataGrid;
- using CommonFroms.Utils;
- using CommonLang;
- using CommonLang.Xml;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Xml;
- namespace CommonAIEditor.Unit
- {
- public class UnitEventEditor : CommonAIEditor.EventEditor.EventEditor
- {
- //----------------------------------------------------------------------------------------
- private FileInfo tree_setting_file;
- private UnitEventTemplate mData;
- public UnitEventEditor(DataManagerPanel<UnitEventTemplate> owner, UnitEventTemplate data)
- {
- this.mData = data;
- this.OnDataLoaded += UnitEventEditor_OnDataLoaded;
- this.OnDataSaved += UnitEventEditor_OnDataSaved;
- this.tree_setting_file = new FileInfo(owner.TreeRoot.SettingDir + "\\" + data.ID + ".tree");
- }
- private void UnitEventEditor_OnDataSaved(EventEditor.EventEditor obj)
- {
- try
- {
- var tree_xml = new XmlDocument();
- var eroot = tree_xml.CreateElement("root");
- tree_xml.AppendChild(eroot);
- this.SaveTreeInfo(eroot);
- var xmltext = XmlUtil.ToString(tree_xml);
- File.WriteAllText(tree_setting_file.FullName, xmltext, CUtils.UTF8);
- }
- catch (Exception) { }
- }
- private void UnitEventEditor_OnDataLoaded(EventEditor.EventEditor obj)
- {
- try
- {
- var xmltext = File.ReadAllText(tree_setting_file.FullName, CUtils.UTF8);
- var tree_xml = XmlUtil.FromString(xmltext);
- var eroot = tree_xml.DocumentElement;
- this.LoadTreeInfo(eroot);
- }
- catch (Exception) { }
- }
- public override List<IEventDataNode> LoadEventDataNodes()
- {
- this.Text = mData.ToString() + " - 事件编辑器";
- List<IEventDataNode> ret = new List<IEventDataNode>();
- ret.AddRange(mData.Events);
- return ret;
- }
- public override void OnSave(List<IEventDataNode> events)
- {
- mData.Events.Clear();
- foreach (UnitEvent evt in events)
- {
- mData.Events.Add(evt);
- }
- }
- public override IEventDataNode CreateEventDataNode()
- {
- return new UnitEvent();
- }
- public override IG2DPropertyAdapter[] CreatePropertyAdapters()
- {
- return new IG2DPropertyAdapter[] { new UnitEventAdapters(this), };
- }
- public UnitEvent ShowSelectEvent(string srcName)
- {
- UnitEvent src = mData.GetEvent(srcName);
- G2DListSelectEditor<UnitEvent> dialog = new G2DListSelectEditor<UnitEvent>(new List<UnitEvent>(mData.Events), src);
- if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- return dialog.SelectedObject;
- }
- return null;
- }
- }
- }
|