/// <summary>Создаёт обычную дверь</summary> /// <param name="door_image_type">Тип изображения двери</param> /// <param name="key">Ключ от двери</param> public DungeonDoor(DungeonDoorImageType door_image_type, DungeonItemKey key) : this(door_image_type) { m_code = null; Key = key; SetImages(door_image_type, Key.Color); }
/// <summary>Выдаёт монстру ключ от двери</summary> /// <param name="key">Ключ от двери</param> public void GiveKey(DungeonItemKey key) { Container.Add(key); if (!m_is_boss) { m_name = "Хранитель ключа"; } }
/// <summary>Создаёт дверь с кодовым замком</summary> /// <param name="door_image_type">Тип изображения двери</param> /// <param name="code">Код от двери</param> /// <param name="papers">Записки, содержащие подсказки к коду</param> public DungeonDoor(DungeonDoorImageType door_image_type, string code, List <DungeonItemPaper> papers) : this(door_image_type) { m_code = code; Key = null; m_papers = new List <DungeonItemPaper>(); for (int i = 0; i < 4; i++) { m_papers.Add(papers[i]); } SetImages(door_image_type, Color.Yellow); }
/// <summary>Открывает дверь</summary> public void Open() { if (!m_is_opened) { m_is_opened = true; m_collision_type = DungeonObjectCollision.NoCollision; Image = m_image_opened; if (IsCode) { for (int i = 0; i < 4; i++) { m_papers[i].Destroy(); } m_papers = null; } else { Key.Destroy(); Key = null; } } }