void Update() { if (showGrid == false) { updateFlags = GridEditUpdateFlag.None; return; } if (cam.IsCamDirty()) { var camDirtyFlags = cam.GetCamDirtyFlags(); if ((camDirtyFlags & GridEditCameraDirtyFlag.OrthogonalSizeChange) != 0) { updateFlags |= GridEditUpdateFlag.Regenerate; } else if ((camDirtyFlags & GridEditCameraDirtyFlag.CameraMove) != 0) { updateFlags |= GridEditUpdateFlag.Reposition; } cam.SetCamNotDirty(); } else if ((lastUpdatedMousePos.x != Input.mousePosition.x) || (lastUpdatedMousePos.y != Input.mousePosition.y)) { updateFlags |= GridEditUpdateFlag.MouseMove; } if (updateFlags != GridEditUpdateFlag.None) { if ((updateFlags & GridEditUpdateFlag.Regenerate) != 0) { SetGrid(gridSetter); } else if ((updateFlags & GridEditUpdateFlag.Reposition) != 0) { RepositionGrid(); } else if ((updateFlags & GridEditUpdateFlag.MouseMove) != 0) { UpdateMouseOver(Input.mousePosition); } updateFlags = GridEditUpdateFlag.None; } }
void ReleaseGrid() { showGrid = false; foreach (MapGeneratorGUIGridLineDirection dir in Enum.GetValues(typeof(MapGeneratorGUIGridLineDirection))) { var targetList = GetGridList(dir); targetList.ForEach(t => Destroy(t.gameObject)); targetList.Clear(); } cam.SetCamNotDirty(); updateFlags = GridEditUpdateFlag.None; UpdateIndicatorsActive(); }