Exemplo n.º 1
0
        private GridLayer FindGridLayer(int layerID, bool autoCreate, string mat_path = null)
        {
            for (int index = this.mGridLayers.Count - 1; index >= 0; --index)
            {
                if (this.mGridLayers[index].LayerID == layerID)
                {
                    return(this.mGridLayers[index]);
                }
            }
            if (!autoCreate)
            {
                return((GridLayer)null);
            }
            GridLayer gridLayer = (GridLayer) new GameObject("Grid").AddComponent <GridLayer>();

            ((Component)gridLayer).get_transform().SetParent(((Component)this).get_transform(), false);
            ((MeshFilter)((Component)gridLayer).GetComponent <MeshFilter>()).set_mesh(this.mGridMesh);
            gridLayer.LayerID = layerID;
            ((Component)gridLayer).get_gameObject().SetActive(false);
            Transform transform = ((Component)gridLayer).get_transform();

            transform.set_position(Vector3.op_Addition(transform.get_position(), Vector3.op_Multiply(Vector3.op_Multiply(Vector3.get_up(), (float)layerID), 0.01f)));
            if (!string.IsNullOrEmpty(mat_path))
            {
                gridLayer.ChangeMaterial(mat_path);
            }
            this.mGridLayers.Add(gridLayer);
            return(gridLayer);
        }