ripple-tool / Ripple-Data / Control / Commands / Condition.cs
Condition.cs
Raw
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace Ripple_Data.Control.Commands
{
    [Serializable]
    public class Condition : IData
    {
        
        public static List<Condition> Conditions { get; private set; } = new List<Condition>();
        public string Data { get; set; }
        public bool HasBeenMet { get; set; } = false;
        public string ObjectID { get; set; }
        public int ID { get; set; }
        public string Name { get; set; }
        public string ObjectType { get; set; }
        public string Description { get; set; }

        public Condition()
        {
            Data = string.Empty;
            HasBeenMet = false;
            ObjectID = string.Empty;
            Name = string.Empty;
            ObjectType = string.Empty;
            Description = string.Empty;
        }

        public Condition(string name, string description, string objectID, string objectType, string data, bool hasBeenMet)
        {
            Name = name;
            Description = description;
            ObjectID = objectID;
            ObjectType = objectType;
            Data = data;
            HasBeenMet = hasBeenMet;
            Condition.Conditions.Add(this);
        }

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            info.AddValue("Name", Name);
            info.AddValue("Description", Description);
            info.AddValue("ObjectID", ObjectID);
            info.AddValue("ObjectType", ObjectType);
            info.AddValue("Data", Data);
            info.AddValue("ID", ID);
            info.AddValue("HasBeenMet", HasBeenMet);
        }
    }
}