Beispiel #1
0
    public void init(LevelInstance inst)
    {
        levels [inst] = this;

        //load the configuration stuff
        this.Costume = "Levels/" + sprites[inst];
        this.levelName = names[inst];
        nodes = nodeSets[inst];

        segments = new Dictionary<float, BezierSegment> ();
        orderedKeys = new List<float> ();

        //build the bezier segments from the nodes
        totalLength = 0;
        for (int i = 0; i < nodes.Length; i++) {
            Vector3 midpointBefore = i == 0 ? nodes[i] : (nodes[i-1] + nodes[i])/2f;
            Vector3 midpointAfter = i == nodes.Length - 1 ? nodes[i] : (nodes[i+1] + nodes[i])/2f;
            var bez = new BezierSegment(midpointBefore, nodes[i], midpointAfter);
            segments[totalLength] = bez;
            orderedKeys.Add(totalLength);
            totalLength += bez.Length;
        }

        sprite.sortingLayerName = "Map";
    }
Beispiel #2
0
    public static Level createLevel(LevelInstance inst)
    {
        if (levels.ContainsKey(inst)) {
            return levels[inst];
        }

        Spritable sp = Spritable.createSpritable();
        sp.gameObject.AddComponent<Level>();
        Level lev = sp.GetComponent<Level>();
        lev.init (inst);

        lev.gameObject.SetActive (false);

        return lev;
    }
Beispiel #3
0
 public static Level getLevel(LevelInstance inst)
 {
     return levels [inst];
 }