Пример #1
0
        public void RevealedDeepCloneTest()
        {
            var original = new Revealed {
                Id = 1, map = new Map(), marked = true, number = 1
            };
            var clone = original.DeepClone();

            Assert.AreEqual(original.Id, clone.Id);
            Assert.AreEqual(original.bombs, clone.bombs);
            Assert.AreNotEqual(original.map, clone.map);
            Assert.AreEqual(original.marked, clone.marked);
            Assert.AreEqual(original.number, clone.number);
        }
Пример #2
0
 public virtual void Unhide(bool instantly)
 {
     if (instantly)
     {
         SetTransition(Transition.SawByPlayer);
         SawByPlayer?.Invoke();
         _animator.SetTrigger("Unhide");
     }
     else
     {
         SetTransition(Transition.Revealed);
         Revealed?.Invoke();
     }
 }
Пример #3
0
        private void UpdateNeededForSpawn()
        {
            NeedsRevealForSpawn = false;

            // If we want to only use Working blocks, need hooks
            foreach (long owner in SpawnOwners)
            {
                if (Revealed.SpawnOwnerNeeded(owner))
                {
                    NeedsRevealForSpawn = true;
                    return;
                }
            }
        }
Пример #4
0
        public void OnRevealed(Mobile m)
        {
            if (Revealed == null)
            {
                Revealed = new List <Mobile>();
            }

            if (!Revealed.Contains(m))
            {
                Revealed.Add(m);

                m.PrivateOverheadMessage(MessageType.Regular, 0x3B2, 1155658, m.NetState); // *You reveal something hidden about the object...*
            }

            OnDoubleClick(m);
        }
Пример #5
0
 private bool HasRevealed(Mobile m)
 {
     return(Revealed != null && Revealed.Contains(m));
 }
Пример #6
0
 public virtual void Reveal()
 {
     SetTransition(Transition.Revealed);
     Revealed?.Invoke();
 }