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); }