private void PathData_NodeAdded( object sender, NodeAddedRemovedEventArgs e) { Debug.Log("NodeAdded event"); NodeEventSlots.Insert(e.NodeIndex, new NodeEventSlot()); }
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)); }
private void PathData_NodeRemoved( object sender, NodeAddedRemovedEventArgs e) { NodeEventSlots.RemoveAt(e.NodeIndex); }