public void CreateWalls() { PrefabPair pair = PrefabManager.Instance.GetPrefabPairByType(ePrefabType.WALL); pair.Parent.position = new Vector3(-(DataLoader.Dimensions.x * VertsMult) / 2, 0.0f, (DataLoader.Dimensions.y * VertsMult) / 2); List <Wall> walls = DataLoader.GetWallData(); if (AllWalls) { StartWallIndex = 0; EndWallIndex = walls.Count; } for (int i = StartWallIndex; i < EndWallIndex; i++) { Wall wall = walls[i]; wall.InitVerts(wall.Segments, VertsMult, YMag); GameObject go = Instantiate(pair.Prefab, pair.Parent); go.name = $"Wall {pair.Parent.childCount}"; MeshFilter filter = go.GetComponent <MeshFilter>(); filter.mesh = wall.GetMesh(); WallObj obj = go.GetComponent <WallObj>(); obj.Init(YMag, GrowTime); } }
public PrefabPair GetPrefabPairByType(ePrefabType type) { PrefabPair retVal = null; foreach (PrefabPair pair in PrefabPairs) { if (pair.Type == type) { retVal = pair; break; } } return(retVal); }
public void CreateFloorPlan(Extrusion extrusion) { PrefabPair pair = PrefabManager.Instance.GetPrefabPairByType(ePrefabType.FLOORPLAN); GameObject go = Instantiate(pair.Prefab, pair.Parent); float scale = WallsManager.Instance.VertsMult * ScaleMult; go.transform.localScale = new Vector3(scale, scale, 1.0f); SpriteRenderer renderer = go.GetComponent <SpriteRenderer>(); renderer.sprite = Sprite.Create((Texture2D)extrusion.floorPlan, new Rect(0.0f, 0.0f, extrusion.floorPlan.width, extrusion.floorPlan.height), new Vector2(0.5f, 0.5f), 100.0f); FloorPlanObj obj = go.GetComponent <FloorPlanObj>(); obj.Init(StartColor, EndColor, FadeInStep); }