Exemple #1
0
        public override void DestroyState(AttachStrategyState _state)
        {
            LineStrategyState state = (LineStrategyState)_state;

            Destroy(state.lineState.lineRenderer.gameObject);
            state.lineState.lineRenderer = null;
        }
Exemple #2
0
        void RefreshLineRenderer(Attachment attachment)
        {
            if (attachment.objects.Count(phase: AttachObjectPhase.Connected) != attachment.objects.Count())
            {
                return;
            }
            LineStrategyState state = (LineStrategyState)attachment.strategyState;

            if (state.objects == null || state.objects.Length != attachment.objects.Count())
            {
                state.objects = new AttachObject[attachment.objects.Count()];
            }
            int i = 0;

            for (int c = 0; c < GetCategories().Length; c++)
            {
                AttachObjectList.Enumerator e = attachment.objects.GetEnumerator(c);
                while (e.MoveNext())
                {
                    state.objects[i] = e.Current;
                    i++;
                }
            }
            LineAttachStrategyUtility.RefreshLineRenderer(lineRendererDescription, state.lineState, state.objects,
                                                          null, hideLineRendererInInspector);
        }
Exemple #3
0
        public override AttachStrategyState CreateEmptyState()
        {
            LineStrategyState state = new LineStrategyState();
            GameObject        go    = ClingyComponent.instance.CreateGameObject();

            state.lineState.lineRenderer = go.AddComponent <LineRenderer>();
            return(state);
        }