示例#1
0
    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);
    }
示例#2
0
    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();
    }