Beispiel #1
0
    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);
        }
    }
Beispiel #2
0
    public PrefabPair GetPrefabPairByType(ePrefabType type)
    {
        PrefabPair retVal = null;

        foreach (PrefabPair pair in PrefabPairs)
        {
            if (pair.Type == type)
            {
                retVal = pair;
                break;
            }
        }

        return(retVal);
    }
Beispiel #3
0
    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);
    }