Exemplo n.º 1
0
 private void PathData_NodeAdded(
     object sender,
     NodeAddedRemovedEventArgs e)
 {
     Debug.Log("NodeAdded event");
     NodeEventSlots.Insert(e.NodeIndex, new NodeEventSlot());
 }
Exemplo n.º 2
0
        private void InitializeSlots()
        {
            if (Animator.PathData == null)
            {
                return;
            }

            // Get number of nodes in the path.
            var nodesNo = Animator.PathData.NodesNo;

            // Calculate how many slots to add/remove.
            var slotsDiff = NodeEventSlots.Count - nodesNo;

            if (slotsDiff > 0)
            {
                // Remove slots.
                for (var i = 0; i < slotsDiff; i++)
                {
                    NodeEventSlots.RemoveAt(NodeEventSlots.Count - 1);
                }
            }
            else
            {
                // Add slots
                for (var i = 0; i < Mathf.Abs(slotsDiff); i++)
                {
                    NodeEventSlots.Add(new NodeEventSlot());
                }
            }

            Utilities.Assert(
                () => nodesNo == NodeEventSlots.Count,
                string.Format(
                    "Number of nodes ({0}) in the path and event slots ({1}) differ.",
                    nodesNo,
                    NodeEventSlots.Count));
        }
Exemplo n.º 3
0
 private void PathData_NodeRemoved(
     object sender,
     NodeAddedRemovedEventArgs e)
 {
     NodeEventSlots.RemoveAt(e.NodeIndex);
 }