コード例 #1
0
 public override void ReturnToDefaultStateWithCheck(ClickCommandObject commandObject)
 {
     if (commandObject != this)
     {
         ReturnToDefault?.Invoke();
     }
 }
コード例 #2
0
 public override void ReturnToDefaultStateWithCheck(ClickCommandObject commandObject)
 {
     if (this != commandObject)
     {
         ReturnToDefaultState();
     }
 }
コード例 #3
0
 /// <summary>
 /// Подписать передаваемый объект на события EmptyClick, которое вызывается, когда пользователь кликнул
 /// мимо танцевальной площадки
 /// </summary>
 /// <param name="commandObject">Объект, который будет подписан на событие (если ещё не подписан). У этого объекта будет
 /// вызываться метод ReturnToDefaultState</param>
 public void SubscribingToAnEvent(ClickCommandObject commandObject)
 {
     if (!interactiveObjectsOnField.Contains(commandObject))
     {
         interactiveObjectsOnField.Add(commandObject);
         EmptyClickEvent += commandObject.ReturnToDefaultState;
     }
 }
コード例 #4
0
 /// <summary>
 /// Подписать передаваемый объект на события EmptyClick, которое вызывается, когда пользователь кликнул
 /// мимо танцевальной площадки
 /// </summary>
 /// <param name="commandObject">Объект, который будет подписан на событие (если ещё не подписан). У этого объекта будет
 /// вызываться метод ReturnToDefaultState</param>
 public void SubscribingToAnEvent(ClickCommandObject commandObject)
 {
     if (!interactiveObjectsOnScene.Contains(commandObject))
     {
         interactiveObjectsOnScene.Add(commandObject);
         EmptyClickEvent += commandObject.ReturnToDefaultState;
         EmptyClickEventExcludeObject += commandObject.ReturnToDefaultStateWithCheck;
     }
 }
コード例 #5
0
 /// <summary>
 /// Отписать передаваемый объект от события EmptyClick, которое вызывается, когда пользователь кликнул
 /// мимо танцевальной площадки
 /// </summary>
 /// <param name="commandObject">Объект, который будет отписан от событие (если был подписан, иначе будет будет выдан Exception).</param>
 public void UnsubscribingToAnEvent(ClickCommandObject commandObject)
 {
     if (interactiveObjectsOnScene.Contains(commandObject))
     {
         interactiveObjectsOnScene.Remove(commandObject);
         EmptyClickEvent -= commandObject.ReturnToDefaultState;
         EmptyClickEventExcludeObject -= commandObject.ReturnToDefaultStateWithCheck;
     }
     else
     {
         throw new Exception(string.Format("Невозможно провести отписку! Объект {0} не найден " +
                                           "в коллекции подписчиков на событие EmptyClick.",
                                           commandObject.name));
     }
 }
コード例 #6
0
 /// <summary>
 /// Отписать передаваемый объект от события EmptyClick, которое вызывается, когда пользователь кликнул
 /// мимо танцевальной площадки
 /// </summary>
 /// <param name="commandObject">Объект, который будет отписан от событие (если был подписан, иначе будет будет выдан Exception).</param>
 public void UnsubscribingToAnEvent(ClickCommandObject commandObject)
 {
     if (interactiveObjectsOnField.Contains(commandObject))
     {
         interactiveObjectsOnField.Remove(commandObject);
         EmptyClickEvent -= commandObject.ReturnToDefaultState;
         if (commandObject is ActorCommandButton actorCommandButton)
         {
             actorCommandButton.ObjectDeleted -= UnsubscribingToAnEvent;
         }
     }
     else
     {
         throw new Exception(string.Format("Невозможно провести отписку! Объект {0} не найден " +
                                           "в коллекции подписчиков на событие EmptyClick.",
                                           commandObject.name));
     }
 }
コード例 #7
0
 /// <summary>
 /// Возврат объекта к состоянию, когда на него ещё не кликнули, если это не тот объект, который передан в параметре
 /// </summary>
 /// <param name="menuController">Объект, который не будет возвращён к изначальному состоянию</param>
 public abstract void ReturnToDefaultStateWithCheck(ClickCommandObject commandObject);
コード例 #8
0
/// <summary>
/// Перевести в изначальное состояние все объекты кроме указанного
/// </summary>
/// <param name="commandObject">исключаемый объект</param>
    public void AllToDefaultExcludeThis(ClickCommandObject commandObject)
    {
        EmptyClickEventExcludeObject?.Invoke(commandObject);
    }