private void OnFocusPointChange(Event_ e) { var id = (int)e.param1; var current = ConfigManager.Get <AwakeInfo>(id); if (!current) { return; } DelayEvents.Add(() => { if (current.nextInfoList.Count != 0) { if (!controller.isDraging) { controller.curve = null; var l = current.layer; while (Module_Awake.instance.CanEnterNextLayer(CurrentType, l)) { l += 1; } FocusLayer = l; Watch(true); } else { Refresh(); } } var currentController = GetAwakeController(current.layer, current.index); if (currentController) { currentController.RefreshState(); } var nextList = Module_Awake.NextAwakeInfo(id); foreach (var next in nextList) { var c = GetAwakeController(next.layer, next.index); if (c) { c.RefreshState(); } } }, 0.3f); }
public void DrawLine(AwakeHandle handle) { if (!gameObject) { return; } if (lineRenderer == null) { lineRenderer = this.GetComponentDefault <LineRenderer>(); } var prevInfo = Module_Awake.PrevAwakeInfo(info); if (prevInfo && handle) { prev = handle.GetAwakeController(prevInfo.layer, prevInfo.index); } RefreshState(); }