ripple-tool / Ripple-Data / Control / IIdentifyable.cs
IIdentifyable.cs
Raw
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;
        }


    }


}