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"; }
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; }
public static Level getLevel(LevelInstance inst) { return levels [inst]; }