private void StopDancingMode(bool isLocalPlayer, InteractionZoneEvents.InteractionZoneEvent evt)
 {
     if (isLocalPlayer)
     {
         RestoreDefaultPlayerUIControls();
     }
     RemovePlaymakerFSM(evt.Collider.gameObject);
     StopPlayerDancing(evt.Collider.gameObject);
 }
    protected override bool OnPlayerTriggerInteractionZone(InteractionZoneEvents.InteractionZoneEvent evt)
    {
        switch (evt.StateChange)
        {
        case ZoneInteractionStateChange.ExitZone:
            OnPenguinExitInteractionZone(evt);
            break;

        default:
            throw new ArgumentOutOfRangeException();

        case ZoneInteractionStateChange.EnterZone:
            break;
        }
        return(false);
    }
    protected override bool OnPlayerTriggerInteractionZone(InteractionZoneEvents.InteractionZoneEvent evt)
    {
        switch (evt.StateChange)
        {
        case ZoneInteractionStateChange.EnterZone:
            StartDancingMode(evt);
            break;

        case ZoneInteractionStateChange.ExitZone:
            StopDancingMode(evt.Collider.gameObject);
            break;

        default:
            throw new ArgumentOutOfRangeException();
        }
        return(false);
    }
    protected override bool OnPlayerTriggerInteractionZone(InteractionZoneEvents.InteractionZoneEvent evt)
    {
        if (evt.Collider.gameObject.CompareTag("Player"))
        {
            switch (evt.StateChange)
            {
            case ZoneInteractionStateChange.EnterZone:
                Service.Get <QuestService>().SendEvent("EnteredInteractionZone");
                break;

            case ZoneInteractionStateChange.ExitZone:
                Service.Get <QuestService>().SendEvent("LeftInteractionZone");
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        return(false);
    }
 protected override bool OnPlayerTriggerInteractionZone(InteractionZoneEvents.InteractionZoneEvent evt)
 {
     return(false);
 }
 private void OnPenguinExitInteractionZone(InteractionZoneEvents.InteractionZoneEvent evt)
 {
 }
 protected abstract bool OnPlayerTriggerInteractionZone(InteractionZoneEvents.InteractionZoneEvent evt);
 private void StartDancingMode(InteractionZoneEvents.InteractionZoneEvent evt)
 {
     PenguinsDancing.Add(evt.Collider.gameObject);
 }
 private void StartDancingMode(bool isLocalPlayer, InteractionZoneEvents.InteractionZoneEvent evt)
 {
     AttachPlaymakerFSM(evt.Collider.gameObject);
 }