/// <summary> /// 發生於目前獲得焦點的UI變更 /// </summary> protected virtual void OnGoScene(SceneBase scene) { scene.Dock = DockStyle.Fill; Parent.Controls.Add(scene); Parent.Controls.Remove(this); if (GoScene != null) { GoScene(this, scene); } this.Dispose(); }
/// <summary> /// 設定追蹤物件為指定場景追蹤點 /// </summary> /// <param name="scene">指定場景</param> public void SetObject(SceneBase scene) { if (scene == null) { TargetType = TargetType.None; Object = null; } else { TargetType = TargetType.Scene; Object = scene; } }
/// <summary> /// 綁定物件到場景 /// </summary> /// <param name="scene">場景</param> /// <param name="bindingLock">綁定後是否鎖定綁定功能</param> public void Binding(SceneBase scene, bool bindingLock = false) { if (_Scene == scene) { return; } if (BindingLock) { throw new Exception("物件已被鎖定無法綁定"); } Container = null; Scene = scene; BindingLock = bindingLock; OnBindingChanged(); }
/// <summary> /// 綁定繪製物件到場景(繪圖物件>物件>場景) /// </summary> /// <param name="scene">場景</param> /// <param name="bindingLock">綁定後是否鎖定綁定功能</param> public virtual void Binding(SceneBase scene, bool bindingLock = false) { if (_Scene == scene) { return; } if (BindingLock) { throw new Exception("繪製物件已被鎖定無法綁定"); } BindDraw = null; Owner = null; Scene = scene; BindingLock = bindingLock; OnBindingChanged(); }
/// <summary> /// 綁定特性群組到場景(所有人>場景) /// </summary> /// <param name="scene">場景</param> /// <param name="bindingLock">綁定後是否鎖定綁定功能</param> public void Binding(SceneBase scene, bool bindingLock = false) { if (_Scene == scene) { return; } if (BindingLock) { throw new Exception("特性群組已被鎖定無法綁定"); } if (_Owner != null) { AllBreak(); } Owner = null; Scene = scene; BindingLock = bindingLock; OnBindingChanged(); }
/// <summary> /// 初始化特性物件集合,不指定所有者 /// </summary> /// <param name="scene">所屬場景</param> public PropertyCollection(SceneBase scene) { Binding(scene); }
/// <summary> /// 初始化活動物件集合 /// </summary> /// <param name="scene">所屬場景物件</param> public ObjectCollection(SceneBase scene) { Binding(scene); }
/// <summary> /// 新增指定場景追蹤點的目標管理物件 /// </summary> /// <param name="scene">指定場景</param> public TargetSet(SceneBase scene) { SetObject(scene); }
public override void Binding(SceneBase scene, bool bindingLock) { }
/// <summary> /// 初始化技能物件集合,不指定所有者 /// </summary> /// <param name="scene">所屬場景</param> public SkillCollection(SceneBase scene) { Binding(scene); }