using Ripple_Data.Base; using Ripple_Data.Base.Actions.Base; using Ripple_Data.Base.Actors; using Ripple_Data.Communication; using Ripple_Data.Control.Commands; using Ripple_Data.Quests; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace Ripple_Data.Control { enum RippleObjectType { Ripple, Affinity, Effect, Actor, Character, Group, Topic, Dialogue, DialogueCollection, Quest, Objective } public interface IIdentifyable: ISerializable { public string Name { get; } public int ID { get; } public IIdentifyable Self { get; } public List<GameRule> Rules { get; } public List<Condition> Conditions { get; } public List<IIdentifyable> Objects { get; } public List<IIdentifyable> GetObjects(); public List<List<IIdentifyable>> GetAll(); public static List<List<IIdentifyable>> GetAllObjects() { List<List<IIdentifyable>> result = new List<List<IIdentifyable>>(); foreach (var ripple in RippleManager.All.ToList()) { result.Add(ripple.Objects); } return result; } } }