/// <summary> /// イベントリソースを破棄します。 /// このメソッドはイベントリストから削除する前に実行して下さい。 /// </summary> public void UnloadEV(EventOneData data) { if (data.dxHandle == -1) { return; } DX.DeleteGraph(data.dxHandle); data.dxHandle = -1; }
/// <summary> /// 指定したインデックスのイベントを置換 /// </summary> public void ReplaceEV(int index, EventOneData data) { if (index < 0 || this.EVs.Count <= index) { return; } this.UnloadEV(this.EVs[index]); this.LoadEV(data); this.EVs[index] = data; this.EVListChanged?.Invoke(this, null); }
/// <summary> /// イベントを追加 /// </summary> public void AddEV(EventOneData data, int fixedID = -1) { this.LoadEV(data); if (fixedID == -1) { data.FixedID = this.GenerateFixedEVID(data.FixedID); } else { data.FixedID = fixedID; } this.EVs.Add(data); this.EVListChanged?.Invoke(this, null); }
/// <summary> /// イベントリソースを読み込みます。 /// </summary> public void LoadEV(EventOneData data) { if (data.dxHandle != -1) { //以前のグラフィックを破棄する this.UnloadEV(data); } else if (data.Pages.Count == 0) { return; } //先頭ページのファイルグラフィックのみ読み込む if (string.IsNullOrEmpty(data.Pages[0].Graphic) == false && data.Pages[0].Graphic.IndexOf(Resources.Split_IDNamePair) == -1) { data.dxHandle = DX.LoadGraph(ProjectManager.ProjectPath + data.Pages[0].Graphic); } }