Example #1
0
    }                                              // 3D

    public SCeiling(DCeiling dCeiling)
    {
        Id          = dCeiling.Id;
        Name        = dCeiling.Name;
        Tag         = dCeiling.Tag;
        Height      = dCeiling.Height;
        LevelBottom = dCeiling.LevelBottom;
        Material    = dCeiling.Material.name;

        Points = new List <float[]>();
        foreach (var v in dCeiling.Points)
        {
            Points.Add(new float[3] {
                v.x, v.y, v.z
            });
        }

        Triangles3D = dCeiling.Instance3D.GetComponent <MeshFilter>().mesh.triangles;

        Vertices3D = new List <float[]>();
        foreach (var v in dCeiling.Instance3D.GetComponent <MeshFilter>().mesh.vertices)
        {
            Vertices3D.Add(new float[3] {
                v.x, v.y, v.z
            });
        }
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        if (domaManager.ResetDataFunctionNow)
        {
            polygonPoints.Clear();
            domaManager.ResetDataFunctionNow = false;
        }

        // Sledzenie punktów z kondygnacji niższej
        var nearestPoint = NearestPoint2D(0.5f);

        if (Input.GetMouseButtonDown(0))
        {
            if (nearestPoint != null)
            {
                polygonPoints.Add((Vector3)nearestPoint);
            }
            else
            {
                polygonPoints.Add(domaManager.mousePosition2D);
            }
        }
        else if (Input.GetMouseButtonUp(0))
        {
            DCeiling dCeiling = new DCeiling(0.2f, domaManager.currentStatusDoma.activeFloor.LevelBottom + domaManager.currentStatusDoma.activeFloor.Height, material, polygonPoints.ToArray());

            var refCeilingTempObject = ceilingTempObject;
            if (refCeilingTempObject != null)
            {
                DestroyImmediate(refCeilingTempObject);
            }

            ceilingTempObject = dCeiling.DrawCeiling2D();
        }
        else if (Input.GetMouseButtonDown(1))
        {
            DCeiling dCeiling = new DCeiling(0.2f, domaManager.currentStatusDoma.activeFloor.LevelBottom + domaManager.currentStatusDoma.activeFloor.Height, material, polygonPoints.ToArray());
            dCeiling.DrawCeiling2D();
            dCeiling.DrawCeiling3D();

            domaManager.currentStatusDoma.appSystem.Ceilings.Add(dCeiling);

            DestroyImmediate(ceilingTempObject);
            ceilingTempObject = null;
        }
    }