public void addBehaviour(SegmentTriggerBehaviour segmentTriggerBehaviour) { triggerBehaviours.Add(segmentTriggerBehaviour); }
private static RingData loadRing(StreamReader reader) { RingData rd = new RingData(); string line; do { line = reader.ReadLine(); if (line != null) { line = line.Trim(); string[] entries = line.Split(' '); if (entries[0] == "tick") //new tick behaviour { Type t; if (ticks.TryGetValue(entries[1], out t)) { SegmentTickBehaviour stb = makeInstance(t, entries.Skip(2).ToArray()) as SegmentTickBehaviour; if (stb != null) { rd.segmentTickBehaviours.Add(stb); } } } else if (entries[0] == "trigger") //new trigger behaviour { Type t; if (triggers.TryGetValue(entries[1], out t)) { SegmentTriggerBehaviour stb = makeInstance(t, entries.Skip(2).ToArray()) as SegmentTriggerBehaviour; if (stb != null) { rd.segmentTriggerBehaviours.Add(stb); } } } else if (entries[0] == "collision") //new collision behaviour { Type t; if (collisions.TryGetValue(entries[1], out t)) { SegmentCollisionBehaviour scb = makeInstance(t, entries.Skip(2).ToArray()) as SegmentCollisionBehaviour; if (scb != null) { rd.segmentCollisionBehaviours.Add(scb); } } } else if (entries[0] == "sprite") //new sprite { Sprite s; if (sprites.TryGetValue(entries[1], out s)) { rd.sprite = s; } } else if (entries[0] == "size") { rd.size = float.Parse(entries[1]); } else if (entries[0] == "end") { return(rd); } } } while (line != null); return(rd); }