Ejemplo n.º 1
0
    private PlayerDeath_PlayStateRuntime CreateGraph(Entity entity,
                                                     [NotNull] ProcessDefaultAnimationGraph graphSystem,
                                                     ref Rig rig, ref PlayerDeath_PlayClipRuntime animation)
    {
        var set = graphSystem.Set;


        var data = new PlayerDeath_PlayStateRuntime
        {
            ClipPlayerNode = set.Create <ClipPlayerNode>(),
            DeltaTimeNode  = set.Create <ConvertDeltaTimeToFloatNode>(),
            EntityNode     = set.CreateComponentNode(entity),
        };

        set.Connect(data.EntityNode, data.DeltaTimeNode, ConvertDeltaTimeToFloatNode.KernelPorts.Input);
        set.Connect(data.DeltaTimeNode, ConvertDeltaTimeToFloatNode.KernelPorts.Float, data.ClipPlayerNode,
                    ClipPlayerNode.KernelPorts.DeltaTime);

        set.Connect(data.ClipPlayerNode, ClipPlayerNode.KernelPorts.Output, data.EntityNode,
                    NodeSetAPI.ConnectionType.Feedback);

        set.SetData(data.ClipPlayerNode, ClipPlayerNode.KernelPorts.Speed, 1.0f);
        set.SendMessage(data.ClipPlayerNode, ClipPlayerNode.SimulationPorts.Configuration,
                        new ClipConfiguration {
            Mask = ClipConfigurationMask.LoopTime
        });
        set.SendMessage(data.ClipPlayerNode, ClipPlayerNode.SimulationPorts.Rig, rig);
        set.SendMessage(data.ClipPlayerNode, ClipPlayerNode.SimulationPorts.Clip, animation.clip);

        return(data);
    }
Ejemplo n.º 2
0
    private void DestroyGraph(Entity entity, [NotNull] ProcessDefaultAnimationGraph graphSystem,
                              ref PlayerDeath_PlayStateRuntime data)
    {
        var set = graphSystem.Set;

        set.Destroy(data.EntityNode);
        set.Destroy(data.DeltaTimeNode);
        set.Destroy(data.ClipPlayerNode);
        EntityManager.RemoveComponent <PlayerDeath_PlayStateRuntime>(entity);
    }