public override void DestroyState(AttachStrategyState _state) { LineStrategyState state = (LineStrategyState)_state; Destroy(state.lineState.lineRenderer.gameObject); state.lineState.lineRenderer = null; }
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); }
public override AttachStrategyState CreateEmptyState() { LineStrategyState state = new LineStrategyState(); GameObject go = ClingyComponent.instance.CreateGameObject(); state.lineState.lineRenderer = go.AddComponent <LineRenderer>(); return(state); }