// Start is called before the first frame update protected virtual void EvaluateBeatNode(BeatNode BeatNode) { if (BeatNode.BeatsContained.Count <= 0) { return; } EvaluateBeatStates(BeatNode.BeatsContained[0]); }
public static List <Beat> LoadBeats(TextAsset asset) { List <Node> nodes = new List <Node>(); BeatNode startNode = NodeUtils.LoadGraph(asset.bytes, NodeUtils.CreateNode <BeatNode>, nodes) as BeatNode; List <Beat> beats = new List <Beat>(); foreach (Node node in nodes) { beats.Add((node as BeatNode).BeatData); } return(beats); }
void ClickBeat() { if (Input.GetMouseButtonDown(0)) { var v3 = Input.mousePosition; v3.z = -10; Ray ray = Camera.main.ScreenPointToRay(v3); RaycastHit hit; Debug.DrawRay(ray.origin, ray.direction * 10, Color.green); if (Physics.Raycast(ray.origin, ray.direction, out hit, 50)) { BeatNode Node = hit.transform.gameObject.GetComponent <BeatNode>(); EvaluateBeatNode(Node); } } }