using System;
using UnityEngine;

namespace Schedule
{
	public class ScheduleBase
	{
		public ScheduleBase(ScheduleType workType, Slot slot, int workId)
		{
			this.workType = workType;
			this._slot = slot;
			this._id = workId;
			string text = ScheduleCSVData.AllData[this.id].icon;
			if (text == null)
			{
				text = "CM3D2_scheduleicon_saihou";
			}
			this._icon = slot.textureBank.GetTexture(text);
			if (DailyMgr.IsLegacy && ScheduleCSVData.WorkLegacyDisableId.Contains(this.id))
			{
				this.legacyDisable = true;
			}
		}

		public Slot slot
		{
			get
			{
				return this._slot;
			}
		}

		public Maid maid
		{
			get
			{
				if (this.slot != null)
				{
					return this.slot.maid;
				}
				return null;
			}
		}

		public int id
		{
			get
			{
				return this._id;
			}
		}

		public Texture2D icon
		{
			get
			{
				return this._icon;
			}
		}

		public string icon_name
		{
			get
			{
				return ScheduleCSVData.AllData[this.id].icon;
			}
		}

		public string name
		{
			get
			{
				return ScheduleCSVData.AllData[this.id].name;
			}
		}

		public ScheduleType workType;

		protected Slot _slot;

		public bool enabled = true;

		protected int _id;

		protected Texture2D _icon;

		protected bool legacyDisable;
	}
}
