Esempio n. 1
0
 /// <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);
 }
Esempio n. 2
0
 /// <summary>Выдаёт монстру ключ от двери</summary>
 /// <param name="key">Ключ от двери</param>
 public void GiveKey(DungeonItemKey key)
 {
     Container.Add(key);
     if (!m_is_boss)
     {
         m_name = "Хранитель ключа";
     }
 }
Esempio n. 3
0
 /// <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);
 }
Esempio n. 4
0
 /// <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;
         }
     }
 }