Exemplo n.º 1
0
        public override void DestroyState(AttachStrategyState _state)
        {
            LineStrategyState state = (LineStrategyState)_state;

            Destroy(state.lineState.lineRenderer.gameObject);
            state.lineState.lineRenderer = null;
        }
Exemplo n.º 2
0
 public void Attach()
 {
     if (isAttached || isAttaching)
     {
         return;
     }
     if (events.OnWillAttach != null)
     {
         events.OnWillAttach.Invoke(new AttachEventInfo(AttachEventType.OnWillAttach, this));
     }
     phase = AttachmentPhase.Attaching;
     if (strategyState == null)
     {
         strategyState = strategy.CreateEmptyState();
     }
     foreach (AttachObject obj in objects)
     {
         obj.PrepareForAttach(strategy.GetTransitionerForCategory(obj.category));
     }
     ResolveParams();
     foreach (AttachObject obj in objects)
     {
         obj.Attach();
     }
     phase = AttachmentPhase.Attached;
     if (events.OnAttached != null)
     {
         events.OnAttached.Invoke(new AttachEventInfo(AttachEventType.OnAttached, this));
     }
 }
Exemplo n.º 3
0
 void BeginPhaseDetached()
 {
     foreach (AttachObject obj in objects)
     {
         obj.CleanUp();
     }
     strategy.DestroyState(strategyState);
     strategyState = null;
     phase         = AttachmentPhase.Detached;
     isConnected   = false;
     if (events.OnDetached != null)
     {
         events.OnDetached.Invoke(new AttachEventInfo(AttachEventType.OnDetached, this));
     }
 }
Exemplo n.º 4
0
 public virtual void DestroyState(AttachStrategyState state)
 {
 }