/** * load map star prefabs */ void LoadMapStars() { mapStarPrefabs = new Dictionary <StarColor, MapStar>(); var objects = Resources.LoadAll("Stars/Map", typeof(GameObject)); foreach (GameObject obj in objects) { MapStar star = obj.GetComponent <MapStar>(); if (star != null) { StarColor color = (StarColor)star.GetType().GetField("color").GetRawConstantValue(); mapStarPrefabs.Add(color, star); continue; } } }
override protected Constellation Construct(ConstellationManifest conMf) { Constellation con; if (constellations.TryGetValue(conMf.position, out con)) { return(con); } con = Instantiate(constellationPrefab) as MapConstellation; con.Manifest = conMf; con.transform.localPosition = conMf.position; // stars foreach (var starMf in conMf.stars) { MapStar starPf = game.GetMapStarPrefab(starMf.color); MapStar star = Instantiate(starPf) as MapStar; star.manifest = starMf; star.constellation = con; con.Stars.Add(star); // universeBounds.Encapsulate(con.transform.position + starMf.position); } // Fleet foreach (var shipMf in conMf.fleet) { FleetShip shipPf = game.GetFleetShipPrefab(shipMf); FleetShip ship = Instantiate(shipPf) as FleetShip; ship.transform.parent = con.transform; ship.transform.localPosition = shipMf.position; ship.transform.localScale = new Vector3(3f, 3f, 3f); ship.manifest = shipMf; con.Fleet.Add(ship); } constellations.Add(con.Manifest.position, con); return(con); }