/// <summary> /// 連動(子)ステータスを削除する /// </summary> /// <param name="status"></param> public void RemoveChildStatus(RuntimeStatus status) { childStatusSet.Remove(status); childStatusSet.Remove(null); // 連動切断アクション if (parentStatusSet.Count == 0 && childStatusSet.Count == 0) { disconnectedAction?.Invoke(); } }
/// <summary> /// 親ステータスとの連動を解除する /// </summary> /// <param name="parent"></param> public void UnlinkParentStatus(RuntimeStatus parent) { RemoveParentStatus(parent); parent.RemoveChildStatus(this); }
/// <summary> /// 親スタータスと連動する /// </summary> /// <param name="parent"></param> public void LinkParentStatus(RuntimeStatus parent) { AddParentStatus(parent); parent.AddChildStatus(this); }
/// <summary> /// 連動(子)ステータスを追加する /// </summary> /// <param name="status"></param> public void AddChildStatus(RuntimeStatus status) { childStatusSet.Add(status); }
//========================================================================================= /// <summary> /// 連動(親)ステータスを追加する /// </summary> /// <param name="status"></param> public void AddParentStatus(RuntimeStatus status) { parentStatusSet.Add(status); }