Ejemplo n.º 1
0
 public void addBehaviour(SegmentTickBehaviour segmentTickBehaviour)
 {
     tickBehaviours.Add(segmentTickBehaviour);
 }
Ejemplo n.º 2
0
    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);
    }