public override IEnumerator RunMethod(Sequence.SequenceItem seqItem, Sequence sequence) { string cameraName = GetNode(5, seqItem).nodeInnerText; ZT_Camera cam = ZT_CameraController.i.GetCamera(cameraName); if (cam == null) { yield break; } bool zoomCam; float zoomTo; bool resetZoom; float zoomTime; zoomCam = GetNode(1, seqItem).boolData; zoomTo = GetNode(2, seqItem).floatData; resetZoom = GetNode(3, seqItem).boolData; zoomTime = GetNode(4, seqItem).floatData; if (zoomCam) { if (resetZoom) { cam.ResetZoom(zoomTime); } else { cam.Zoom(zoomTo, zoomTime); } } yield return(null); }
public bool nodeExists(int index, Sequence.SequenceItem seqItem) { if (index < seqItem.itemNodes.Count) { return(true); } else { return(false); } }
//get the node by node name instead of index since index could change it isn't always wise to use index. public Sequence.SequenceItem.SeqNode GetNode(string typeName, Sequence.SequenceItem sequenceItem) { foreach (Sequence.SequenceItem.SeqNode node in sequenceItem.itemNodes) { if (node.nodeType == typeName) { return(node); } } return(null); }
//a Node is one piece of data...float, int, bool, string, etc... public Sequence.SequenceItem.SeqNode GetNode(int index, Sequence.SequenceItem sequenceItem) { if (index < sequenceItem.itemNodes.Count) { return(sequenceItem.itemNodes[index]); } else { Debug.Log("Error in sequence type: " + sequenceItem.type); return(new Sequence.SequenceItem.SeqNode("", "", "", "", "string")); } }
//Identifies what type of method this is by using the first node which MUST be the type node static public IEnumerator RunMethod(Sequence.SequenceItem seqItem, Sequence sequence) { //string nodeType = seqItem.itemNodes[0].nodeInnerText; if (!sequence.sequenceRunning || seqItem.skip) { yield break; } //create a coroutine and yield while it runs sequence.methodJob = new Job(getMethodDictionary[seqItem.type].RunMethod(seqItem, sequence), true); while (sequence.methodJob.running) { yield return(null); } }
public abstract IEnumerator RunMethod(Sequence.SequenceItem seqItem, Sequence sequence);