public void OnUpdate() { int value = (int)slider.value; Debug.Log(value); hardnessText.text = "Hardness " + value; GameObject[] BlockSelectors = GameObject.FindGameObjectsWithTag("BlockSelector"); foreach (GameObject BlockSelector in BlockSelectors) { //Debug.Log(BlockSelector.name); if (BlockSelector.GetComponent <BlockSelect>().blockId != 0) { if (value == 0) { BlockSelector.transform.Find("Hardness").GetComponent <Image>().enabled = false; BlockSelector.transform.Find("Hardness").GetComponent <Image>().sprite = null; } else { BlockSelector.transform.Find("Hardness").GetComponent <Image>().enabled = true; BlockSelector.transform.Find("Hardness").GetComponent <Image>().sprite = hardnessSpr[value - 1]; } } } }
private void MapInteractionOverlay_TextChanged(object sender, TextChangedEventArgs e) { MapTileInteraction selectedInteraction = (MapTileInteraction)MapInteractionList.SelectedItem; if (selectedInteraction != null) { try { TileBlockOverlay overlay = JsonConvert.DeserializeObject <TileBlockOverlay>(MapInteractionOverlay.Text); if (overlay != null && (overlay.PaletteIndex < 0 || overlay.PaletteIndex >= 8)) { throw new Exception(); } MapInteractionOverlay.Foreground = new SolidColorBrush(Colors.White); selectedInteraction.Overlay = overlay; BlockSelector.Update(tileIndex: BlockSelector.SelectedBlockValue); UpdateTileBlock(); SetUnsaved(); } catch { MapInteractionOverlay.Foreground = new SolidColorBrush(Colors.Red); } } }
public void Update(BlockSelector blockSelector) { if (player.LeftClick && !game.ExitedMenu) { player.SetLastClickTime(); RemoveBlock(); } else if (player.RightClick) { player.SetLastClickTime(); AddBlock(); } if (y != -1 && region[position][x, y, z] != null) { bool[] visibleFaces = new bool[6]; region[position].GetVisibleFaces(visibleFaces, y, x, z); blockSelector.Update(visibleFaces, new Vector3(x, y, z) - position, player.Camera.Direction); } else { blockSelector.Clear(); } }
public static void CreateTransmittalAndPdf() { List <Sheet> dict = new List <Sheet>(); List <PrintModel> printModels = new List <PrintModel>(); Active.Document.SendStringToExecute("REGENALL ", true, false, true); using (Transaction tr = Active.Database.TransactionManager.StartTransaction()) { //фильтр для выбора только блока BlockSelector blockSelector = new BlockSelector(); blockSelector.GetFilterForSelectBlockId(); var res = blockSelector.SelectionResult; if (res.Status != PromptStatus.OK) { Active.Editor.WriteMessage("Надо выбрать блок"); return; } SelectionSet selSet = res.Value; ObjectId[] idArrayTemp = selSet.GetObjectIds(); ObjectIdCollection idArray = new ObjectIdCollection(); foreach (var objectId in idArrayTemp) { BlockReference blRef = (BlockReference)tr.GetObject(objectId, OpenMode.ForRead); BlockTableRecord block = tr.GetObject(blRef.DynamicBlockTableRecord, OpenMode.ForRead) as BlockTableRecord; if (!(block is null)) { string blockName = block.Name; if (blockName == "Формат" | blockName == "ФорматM25") { idArray.Add(objectId); } } } GetSheetsFromBlocks(Active.Editor, dict, tr, idArray); string selAttrName = "НОМЕР_ЛИСТА"; GetPrintParametersToPdf(Active.Editor, printModels, tr, idArray, selAttrName); Utils utils = new Utils(); //utils.CreateOnlyVed(dict); utils.CreateJsonFile(dict); foreach (var printModel in printModels) { //Active.Editor.WriteMessage("{0} печатаем ", printModel.DocNumber); PlotCurrentLayout(printModel.DocNumber, printModel); } //utils.CreateOnlytrans(dict); tr.Commit(); } }
private void Button_Click(object sender, RoutedEventArgs e) { CommitInteractions(); _tileService.CommitTileSet(_currentLevel?.TileSetIndex ?? _currentWorld.TileSetIndex, _localTileSet, _localTileTerrain, _localMapTileInteraction); BlockSelector.Update(); UpdateTileBlock(); SetSaved(); _projectService.SaveProject(); }
private BlockSelector CopyThisComponent(GameObject p_target) { BlockSelector v_newComponent = null; if (p_target != null) { v_newComponent = KiltUtils.CopyComponent <BlockSelector>(p_target, this); } return(v_newComponent); }
public void CreatePdfName() { Active.Document.SendStringToExecute("REGENALL ", true, false, true); Dictionary <string, string> attrList = new Dictionary <string, string>(); Window1 window = new Window1(new BlockViewModel(attrList)); Application.ShowModalWindow(window); if (window.isClicked) { //ObjectIdCollection objectIds = Utils.SelectDynamicBlockReferences(); List <Sheet> dict = new List <Sheet>(); using (Transaction tr = Active.Database.TransactionManager.StartTransaction()) { BlockSelector blockSelector = new BlockSelector(); blockSelector.GetFilterForSelectBlockId(window.BlockName); bool isExec = true; var res = blockSelector.SelectionResult; if (res.Status != PromptStatus.OK) { isExec = false; Active.Editor.WriteMessage("Надо выбрать блок"); } if (isExec) { SelectionSet selSet = res.Value; ObjectId[] idArrayTemp = selSet.GetObjectIds(); //ObjectIdCollection idArray = new ObjectIdCollection(idArrayTemp); //TODO printing X Y //string selAttrName = attributeName.AttributeName; FileNameCreator fileNameCreator = new FileNameCreator(window, idArrayTemp); //GetPrintParametersToPdf(Active.Editor, printModels, tr, objectIds, selAttrName); fileNameCreator.GetPrintParametersToPdf(tr); Utils utils = new Utils(); utils.CreateJsonFile(dict); foreach (var printModel in fileNameCreator.GetPrintModels()) { PlotCurrentLayout(printModel.DocNumber, printModel); } } tr.Commit(); } } }
private void TileBlockImage_MouseDown(object sender, MouseButtonEventArgs e) { Point clickPoint = Snap(e.GetPosition((Image)sender)); if (clickPoint.X <= 15 && clickPoint.Y <= 15) { BlockSelector.SelectedTileBlock.UpperLeft = _graphicTileIndexSelected; if (_isQuadSelected) { BlockSelector.SelectedTileBlock.UpperRight = _graphicTileIndexSelected + 1; BlockSelector.SelectedTileBlock.LowerLeft = _graphicTileIndexSelected + 0x10; BlockSelector.SelectedTileBlock.LowerRight = _graphicTileIndexSelected + 0x11; } } else if (clickPoint.X <= 15 && clickPoint.Y >= 16) { BlockSelector.SelectedTileBlock.LowerLeft = _graphicTileIndexSelected; if (_isQuadSelected) { BlockSelector.SelectedTileBlock.LowerRight = _graphicTileIndexSelected + 1; BlockSelector.SelectedTileBlock.UpperLeft = _graphicTileIndexSelected + 0x10; BlockSelector.SelectedTileBlock.UpperRight = _graphicTileIndexSelected + 0x11; } } else if (clickPoint.X >= 16 && clickPoint.Y <= 15) { BlockSelector.SelectedTileBlock.UpperRight = _graphicTileIndexSelected; if (_isQuadSelected) { BlockSelector.SelectedTileBlock.UpperLeft = _graphicTileIndexSelected + 0x1; BlockSelector.SelectedTileBlock.LowerRight = _graphicTileIndexSelected + 0x10; BlockSelector.SelectedTileBlock.LowerLeft = _graphicTileIndexSelected + 0x11; } } else if (clickPoint.X >= 16 && clickPoint.Y >= 16) { BlockSelector.SelectedTileBlock.LowerRight = _graphicTileIndexSelected; if (_isQuadSelected) { BlockSelector.SelectedTileBlock.LowerLeft = _graphicTileIndexSelected + 0x1; BlockSelector.SelectedTileBlock.UpperRight = _graphicTileIndexSelected + 0x10; BlockSelector.SelectedTileBlock.UpperLeft = _graphicTileIndexSelected + 0x11; } } BlockSelector.Update(tileIndex: BlockSelector.SelectedBlockValue); UpdateTileBlock(); SetUnsaved(); }
public GameObject InstantiateObjectByPrefab(GameObject p_prefab, bool p_keepLifePercert = false, bool p_destroyOldObject = true, bool p_keepEffectProperties = true) { if (p_prefab != null) { CachedPrefab = p_prefab; GameObject v_newObject = KiltUtils.Instantiate(p_prefab); v_newObject.name = p_prefab.name + "(Selected)"; v_newObject.transform.parent = this.transform.parent; v_newObject.transform.position = this.transform.position; v_newObject.transform.rotation = this.transform.rotation; float v_signX = Mathf.Sign(this.transform.localScale.x); float v_signY = Mathf.Sign(this.transform.localScale.y); Vector3 v_localScale = new Vector3(p_prefab.transform.localScale.x * v_signX, p_prefab.transform.localScale.y * v_signY, p_prefab.transform.localScale.z); v_newObject.transform.localScale = v_localScale; if (p_keepLifePercert) { CopyDamagePercentToNewObject(v_newObject); } //MergeGameObjectWithThisObject(p_prefab); BlockSelector v_newComponent = CopyThisComponent(v_newObject); //Move New Component to first in new prefab MoveComponentToFirst(v_newComponent); //Plug Ropes To New Component AttachAllRopesToNewObject(v_newObject); //Select New Object in Editor Selection (if old object is previous selected and will be destroyed) if (p_destroyOldObject) { CheckIfNeedSelect(v_newObject); } //Apply Modifications in Cloned Component ApplyModificationsInEditMode(v_newComponent); ApplyShowHideComponent(); if (p_destroyOldObject) { if (Application.isPlaying) { GameObject.Destroy(this.gameObject); } else { KiltUtils.Destroy(this.gameObject); } } return(v_newObject); } return(this.gameObject); }
private void MapInteractionList_SelectionChanged(object sender, SelectionChangedEventArgs e) { MapTileInteraction selectedIteraction = (MapTileInteraction)MapInteractionList.SelectedItem; if (selectedIteraction != null) { BlockSelector.SelectedTileBlock.Property = ((MapTileInteraction)MapInteractionList.SelectedItem).Value; MapInteractionOverlay.Text = JsonConvert.SerializeObject(selectedIteraction.Overlay, Formatting.Indented); BlockSelector.Update(tileIndex: BlockSelector.SelectedBlockValue); UpdateTileBlock(); SetUnsaved(); } }
private void TerrainList_SelectionChanged(object sender, SelectionChangedEventArgs e) { TileTerrain selectedTerrain = (TileTerrain)TerrainList.SelectedItem; InteractionList.ItemsSource = selectedTerrain.Interactions; InteractionList.SelectedIndex = (int)(BlockSelector.SelectedTileBlock.Property & TileInteraction.Mask); BlockSelector.SelectedTileBlock.Property = selectedTerrain.Value | ((TileInteraction)InteractionList.SelectedItem).Value; TerrainOverlay.Text = JsonConvert.SerializeObject(selectedTerrain.Overlay, Formatting.Indented); BlockSelector.Update(tileIndex: BlockSelector.SelectedBlockValue); UpdateTileBlock(); SetUnsaved(); }
public TileBlockEditor(ProjectService projectService, WorldService worldService, LevelService levelService, GraphicsService graphicsService, PalettesService palettesService, TileService tileService, TextService textService) { _ignoreChanges = true; InitializeComponent(); _projectService = projectService; _palettesService = palettesService; _graphicsService = graphicsService; _worldService = worldService; _levelService = levelService; _tileService = tileService; _textService = textService; List <KeyValuePair <string, string> > tileSetText = _textService.GetTable("tile_sets"); tileSetText.Insert(0, new KeyValuePair <string, string>("0", "Map")); TerrainList.ItemsSource = _localTileTerrain = _tileService.GetTerrainCopy(); LevelList.ItemsSource = _levelService.AllWorldsLevels(); MapInteractionList.ItemsSource = _localMapTileInteraction = _tileService.GetMapTileInteractionCopy(); _graphicsAccessor = new GraphicsAccessor(_graphicsService.GetTileSection(0), _graphicsService.GetTileSection(0), _graphicsService.GetGlobalTiles(), _graphicsService.GetExtraTiles()); _graphicsSetRenderer = new GraphicsSetRender(_graphicsAccessor); _tileSetRenderer = new TileSetRenderer(_graphicsAccessor, _localTileTerrain, _localMapTileInteraction); Dpi dpi = this.GetDpi(); _graphicsSetBitmap = new WriteableBitmap(128, 128, dpi.X, dpi.Y, PixelFormats.Bgra32, null); _tileBlockBitmap = new WriteableBitmap(16, 16, dpi.X, dpi.Y, PixelFormats.Bgra32, null); GraphicsSetImage.Source = _graphicsSetBitmap; TileBlockImage.Source = _tileBlockBitmap; BlockSelector.Initialize(_graphicsAccessor, _tileService, _tileService.GetTileSet(0), _graphicsService.GetPalette(0), _tileSetRenderer); BlockSelector.TileBlockSelected += BlockSelector_TileBlockSelected; LevelList.SelectedIndex = 1; BlockSelector.SelectedBlockValue = 0; _ignoreChanges = false; _graphicsService.GraphicsUpdated += _graphicsService_GraphicsUpdated; _graphicsService.ExtraGraphicsUpdated += _graphicsService_GraphicsUpdated; }
private void BlockSelectorBorder_MouseDown(object sender, MouseButtonEventArgs e) { if ((e.ButtonState & e.RightButton) > 0) { _copiedblock = BlockSelector.SelectedTileBlock; } if ((e.ButtonState & e.MiddleButton) > 0) { BlockSelector.SelectedTileBlock.UpperLeft = _copiedblock.UpperLeft; BlockSelector.SelectedTileBlock.UpperRight = _copiedblock.UpperRight; BlockSelector.SelectedTileBlock.LowerLeft = _copiedblock.LowerLeft; BlockSelector.SelectedTileBlock.LowerRight = _copiedblock.LowerRight; BlockSelector.Update(); UpdateTileBlock(); SetUnsaved(); } }
/* * public int height; * public Mesh testMesh; * public Texture2D testTex; * public bool isDebug = false; * * private void Start() * { * if (isDebug) * { * BrickItConfiguration testCFG = GetTestCfg(); * runBrickification(testCFG); * } * }*/ public List <BuildingBlock> GetBuildingBlocks(BrickItConfiguration cfg) { var oldMesh = cfg.mesh.vertices; if (lastBricked != null) { DestroyImmediate(lastBricked); lastBricked = null; } BlockSelector selector = new BlockSelector(cfg.brickExtends); var tex = ColorCalculation.colorCalculate(cfg.tex, cfg.colors); var voxels = Voxelizer.Voxelize(cfg.mesh, tex, cfg.height); voxels = Voxelizer.AddWidth(voxels, cfg.depth); lastExtends = MeshUtils.GetBoundsPerDimension(cfg.mesh); cfg.mesh.vertices = oldMesh; cfg.mesh.RecalculateBounds(); return(selector.calculateBlocksSpiralWithBounds(voxels)); }
// It returns an array and making selected tiles value to -1 to indicate it and // added it to a List by using FloodFill Algorithm public List <Vector2Int> GetSelectedBlockTiles(Vector2Int index) { int[,] temp = _tiles.Clone() as int[, ]; List <Vector2Int> returnPositionOfSelectedCubes = new List <Vector2Int>(); BlockSelector.FloodFill(temp, index.x, index.y); for (int i = 0; i < ROW; i++) { for (int j = 0; j < COLUMN; j++) { if (temp[i, j] == -1) { returnPositionOfSelectedCubes.Add(new Vector2Int(i, j)); } } } return(returnPositionOfSelectedCubes); }
public static void CreateBlockMenuItem() { GameObject v_parentObject = GameObject.Find("BlocksContainer"); GameObject v_selector = new GameObject("(Selected)"); if (v_parentObject != null) { v_selector.transform.parent = v_parentObject.transform; } v_selector.transform.localScale = Vector2.one; v_selector.transform.position = Vector2.zero; v_selector.transform.localPosition = new Vector3(v_selector.transform.localPosition.x, v_selector.transform.localPosition.y, 0); // Prevent Rope Collider to be in front of this Object BlockSelector v_component = v_selector.AddComponent <BlockSelector>(); v_component.FillObjectsInFolderList(true); v_component.m_selectedFolderIndex = 0; v_component.SelectedPrefabInFolderIndex = 0; v_selector = v_component.InstantiateObjectByPrefab(v_component.SelectedObject); Selection.activeTransform = v_selector.transform; }
private void _graphicsService_GraphicsUpdated() { if (_currentLevel != null) { _graphicsAccessor.SetBottomTable(_graphicsService.GetTileSection(_currentLevel.AnimationTileTableIndex)); _graphicsAccessor.SetTopTable(_graphicsService.GetTileSection(_currentLevel.StaticTileTableIndex)); } else if (_currentWorld != null) { Tile[] staticTiles = _graphicsService.GetTileSection(_currentWorld.TileTableIndex); Tile[] animatedTiles = _graphicsService.GetTileSection(_currentWorld.AnimationTileTableIndex); _graphicsAccessor.SetBottomTable(staticTiles); _graphicsAccessor.SetTopTable(animatedTiles); } _graphicsAccessor.SetGlobalTiles(_graphicsService.GetGlobalTiles(), _graphicsService.GetExtraTiles()); UpdateTileBlock(); UpdateGraphics(); BlockSelector.Update(); }
public override void OnInspectorGUI () { m_component = target as BlockSelector; if(m_component != null) { m_component.ApplyShowHideComponent(); m_component.FillObjectsInFolderList(); if(!m_firstCorrection) { m_firstCorrection = true; m_component.CorrectSelectedPrefabIndex(); } bool v_needRecreate = false; int v_folderIndex = -1; EditorGUILayout.BeginHorizontal(); bool v_buttonRefreshClicked = GUILayout.Button("Refresh"); if(v_buttonRefreshClicked) m_component.FillObjectsInFolderList(true); bool v_buttonRecreateClicked = GUILayout.Button("Force Recreate"); bool v_buttonResetLife = GUILayout.Button("Reset Block Life"); if(v_buttonResetLife || v_buttonRecreateClicked) v_needRecreate = true; EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); bool v_buttonFlipXClicked = GUILayout.Button("Flip X"); bool v_buttonFlipYClicked = GUILayout.Button("Flip Y"); if(v_buttonFlipXClicked || v_buttonFlipYClicked) m_component.PerformFlip(v_buttonFlipXClicked, v_buttonFlipYClicked); EditorGUILayout.EndHorizontal(); string [] v_stringFolderPath = m_component.FoldersPath.GetStringList().ToArray(); v_folderIndex = EditorGUILayout.Popup("Folder", m_component.SelectedFolderIndex, v_stringFolderPath); if(v_folderIndex != m_component.SelectedFolderIndex) { v_needRecreate = true; m_component.SelectedFolderIndex = v_folderIndex; } FolderPrefabs v_selectedFolder = m_component.SelectedFolderPrefab; if(v_selectedFolder != null) { string [] v_stringPrefabsInFolder = GetListOfNames(v_selectedFolder.PrefabsInFolder).ToArray(); int v_prefabIndex = EditorGUILayout.Popup("Prefab", m_component.SelectedPrefabInFolderIndex, v_stringPrefabsInFolder); if(v_prefabIndex != m_component.SelectedPrefabInFolderIndex) { v_needRecreate = true; m_component.SelectedPrefabInFolderIndex = v_prefabIndex; } } EditorGUILayout.Separator(); bool v_hideOtherComponents = EditorGUILayout.Toggle("Hide Other Components", m_component.HideComponentsInInspector); if(m_component.HideComponentsInInspector != v_hideOtherComponents) m_component.HideComponentsInInspector = v_hideOtherComponents; if(GUI.changed) EditorUtility.SetDirty(m_component); if(v_needRecreate && m_component.SelectedObject != null) { GameObject v_newObject = m_component.InstantiateObjectByPrefab(m_component.SelectedObject,!v_buttonResetLife,true,true); Selection.activeObject = v_newObject; } } }
public override void OnInspectorGUI() { m_component = target as BlockSelector; if (m_component != null) { m_component.ApplyShowHideComponent(); m_component.FillObjectsInFolderList(); if (!m_firstCorrection) { m_firstCorrection = true; m_component.CorrectSelectedPrefabIndex(); } bool v_needRecreate = false; int v_folderIndex = -1; EditorGUILayout.BeginHorizontal(); bool v_buttonRefreshClicked = GUILayout.Button("Refresh"); if (v_buttonRefreshClicked) { m_component.FillObjectsInFolderList(true); } bool v_buttonRecreateClicked = GUILayout.Button("Force Recreate"); bool v_buttonResetLife = GUILayout.Button("Reset Block Life"); if (v_buttonResetLife || v_buttonRecreateClicked) { v_needRecreate = true; } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); EditorGUILayout.BeginHorizontal(); bool v_buttonFlipXClicked = GUILayout.Button("Flip X"); bool v_buttonFlipYClicked = GUILayout.Button("Flip Y"); if (v_buttonFlipXClicked || v_buttonFlipYClicked) { m_component.PerformFlip(v_buttonFlipXClicked, v_buttonFlipYClicked); } EditorGUILayout.EndHorizontal(); string [] v_stringFolderPath = m_component.FoldersPath.GetStringList().ToArray(); v_folderIndex = EditorGUILayout.Popup("Folder", m_component.SelectedFolderIndex, v_stringFolderPath); if (v_folderIndex != m_component.SelectedFolderIndex) { v_needRecreate = true; m_component.SelectedFolderIndex = v_folderIndex; } FolderPrefabs v_selectedFolder = m_component.SelectedFolderPrefab; if (v_selectedFolder != null) { string [] v_stringPrefabsInFolder = GetListOfNames(v_selectedFolder.PrefabsInFolder).ToArray(); int v_prefabIndex = EditorGUILayout.Popup("Prefab", m_component.SelectedPrefabInFolderIndex, v_stringPrefabsInFolder); if (v_prefabIndex != m_component.SelectedPrefabInFolderIndex) { v_needRecreate = true; m_component.SelectedPrefabInFolderIndex = v_prefabIndex; } } EditorGUILayout.Separator(); bool v_hideOtherComponents = EditorGUILayout.Toggle("Hide Other Components", m_component.HideComponentsInInspector); if (m_component.HideComponentsInInspector != v_hideOtherComponents) { m_component.HideComponentsInInspector = v_hideOtherComponents; } if (GUI.changed) { EditorUtility.SetDirty(m_component); } if (v_needRecreate && m_component.SelectedObject != null) { GameObject v_newObject = m_component.InstantiateObjectByPrefab(m_component.SelectedObject, !v_buttonResetLife, true, true); Selection.activeObject = v_newObject; } } }
// Called by unity engine on start up to initialize variables. public void Start() { // Reference to the game manager and state manager. gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); stateManager = GameObject.Find("GameManager").GetComponent <StateManager>(); // Initialize component classes. playerInventory = GetComponent <InventoryManager>(); laserController = new LaserController(this, gameManager); // Load mouse settings. Cursor.visible = true; Cursor.lockState = CursorLockMode.None; if (PlayerPrefs.GetFloat("xSensitivity") != 0) { GetComponent <MSCameraController>().CameraSettings.firstPerson.sensibilityX = PlayerPrefs.GetFloat("xSensitivity"); } if (PlayerPrefs.GetFloat("ySensitivity") != 0) { GetComponent <MSCameraController>().CameraSettings.firstPerson.sensibilityY = PlayerPrefs.GetFloat("ySensitivity"); } GetComponent <MSCameraController>().CameraSettings.firstPerson.invertYInput = PlayerPrefsX.GetPersistentBool("mouseInverted"); // Loading volume settings. if (PlayerPrefs.GetFloat("volume") > 0) { AudioListener.volume = PlayerPrefs.GetFloat("volume"); GetComponent <MSCameraController>().cameras[0].volume = AudioListener.volume; } else { GetComponent <MSCameraController>().cameras[0].volume = 2.5f; } // Audio source for placing blocks. builderSound = builder.GetComponent <AudioSource>(); // Audio source for GUI related sounds. guiSound = guiObject.GetComponent <AudioSource>(); // Graphics quality. if (PlayerPrefsX.GetPersistentBool("changedGraphicsQuality") == true) { QualitySettings.SetQualityLevel(PlayerPrefs.GetInt("graphicsQuality")); } graphicsQuality = QualitySettings.GetQualityLevel(); // Vsync. QualitySettings.vSyncCount = PlayerPrefs.GetInt("vSyncCount"); int range = PlayerPrefs.GetInt("defaultRange"); defaultRange = range >= 10 ? range : 10; // Fog and Scanner color for atmospheric worlds. if (SceneManager.GetActiveScene().name.Equals("QE_World_Atmo")) { scannerFlash.GetComponent <Light>().color = Color.white; scannerFlash.GetComponent <Light>().intensity = 1; } if (!SceneManager.GetActiveScene().name.Equals("QE_World")) { float fogDensity = PlayerPrefs.GetFloat("fogDensity"); RenderSettings.fogDensity = fogDensity > 0 ? fogDensity : 0.00025f; RenderSettings.fog = PlayerPrefsX.GetPersistentBool("fogEnabled"); } inputManager = new InputManager(this); blockSelector = new BlockSelector(this); networkController = new NetworkController(this); networkItemLocations = new List <Vector3>(); }
private string GetOrderByClause(string blocksAlias, BlockSelector selector) { if (selector.Order == null || selector.Direction == null) { throw new ArgumentException("The sort order is not defined.", nameof(selector)); } return $"order by {blocksAlias}.{selector.Order} {selector.Direction}"; }
public StoredBlock FindFirst(BlockSelector selector) { string whereClause = GetWhereClause("B", selector); string orderByClause = GetOrderByClause("B", selector); var command = CreateCommand($"select {GetBlockColumns("B")} from Blocks B {whereClause} {orderByClause} limit 1"); SetParameters(command, selector); using (SQLiteDataReader reader = command.ExecuteReader()) { if (!reader.Read()) { return null; } return ReadBlock(reader); } }
private void ShowTerrain_Click(object sender, RoutedEventArgs e) { BlockSelector.Update(withMapInteractionOverlay: _currentLevel != null ? ShowTerrain.IsChecked.Value : false); UpdateTileBlock(); }
void Start() { blockSelector = GetComponent <BlockSelector>(); py = Input.mousePosition.y; dy = 0.0f; }
private void LevelList_SelectionChanged(object sender, SelectionChangedEventArgs e) { _ignoreChanges = true; if (LevelList.SelectedItem is LevelInfo) { PSwitchSection.IsEnabled = IceballSection.IsEnabled = FireballSection.IsEnabled = true; TileDefinitions.Visibility = LevelTileSection.Visibility = Visibility.Visible; MapTileDefinitions.Visibility = MapTileSection.Visibility = Visibility.Collapsed; LevelInfo levelInfo = (LevelInfo)LevelList.SelectedItem; _currentLevel = _levelService.LoadLevel(levelInfo); _currentWorld = null; Tile[] staticTiles = _graphicsService.GetTileSection(_currentLevel.StaticTileTableIndex); Tile[] animatedTiles = _graphicsService.GetTileSection(_currentLevel.AnimationTileTableIndex); Palette palette = _palettesService.GetPalette(_currentLevel.PaletteId); _graphicsAccessor.SetBottomTable(animatedTiles); _graphicsAccessor.SetTopTable(staticTiles); _localTileSet = JsonConvert.DeserializeObject <TileSet>(JsonConvert.SerializeObject(_tileService.GetTileSet(_currentLevel.TileSetIndex))); _ignoreChanges = false; _graphicsSetRenderer.Update(palette); BlockSelector.Update(tileSet: _localTileSet, palette: palette, withProjectileInteractions: false); UpdateGraphics(); UpdateTileBlock(); LoadInteractions(); } else if (LevelList.SelectedItem is WorldInfo) { PSwitchSection.IsEnabled = IceballSection.IsEnabled = FireballSection.IsEnabled = false; TileDefinitions.Visibility = LevelTileSection.Visibility = Visibility.Collapsed; MapTileDefinitions.Visibility = MapTileSection.Visibility = Visibility.Visible; if (MapInteractionList.SelectedIndex == -1) { MapInteractionList.SelectedIndex = 0; } WorldInfo worldInfo = (WorldInfo)LevelList.SelectedItem; _currentWorld = _worldService.LoadWorld(worldInfo); _currentLevel = null; Tile[] staticTiles = _graphicsService.GetTileSection(_currentWorld.TileTableIndex); Tile[] animatedTiles = _graphicsService.GetTileSection(_currentWorld.AnimationTileTableIndex); Palette palette = _palettesService.GetPalette(_currentWorld.PaletteId); _graphicsAccessor.SetBottomTable(staticTiles); _graphicsAccessor.SetTopTable(animatedTiles); _localTileSet = JsonConvert.DeserializeObject <TileSet>(JsonConvert.SerializeObject(_tileService.GetTileSet(0))); _graphicsSetRenderer.Update(palette); _ignoreChanges = false; _graphicsSetRenderer.Update(palette); BlockSelector.Update(tileSet: _localTileSet, palette: palette, withProjectileInteractions: false); UpdateGraphics(); UpdateTileBlock(); } }
private void SetParameters(SQLiteCommand command, BlockSelector selector) { if (selector.Heights != null) { SetInParameters(command, "H", selector.Heights); } if (selector.HasContent != null) { command.Parameters.Add("@HasContent", DbType.Boolean).Value = selector.HasContent; } if (selector.IsInBestHeaderChain != null) { command.Parameters.Add("@IsInBestHeaderChain", DbType.Boolean).Value = selector.IsInBestHeaderChain; } if (selector.IsInBestBlockChain != null) { command.Parameters.Add("@IsInBestBlockChain", DbType.Boolean).Value = selector.IsInBestBlockChain; } }
public List<StoredBlock> Find(BlockSelector selector, int count) { string whereClause = GetWhereClause("B", selector); string orderByClause = GetOrderByClause("B", selector); var command = CreateCommand($"select {GetBlockColumns("B")} from Blocks B {whereClause} {orderByClause} limit @limit"); SetParameters(command, selector); command.Parameters.Add("@limit", DbType.Int32).Value = count; List<StoredBlock> blocks = new List<StoredBlock>(); using (SQLiteDataReader reader = command.ExecuteReader()) { while (reader.Read()) { blocks.Add(ReadBlock(reader)); } } return blocks; }
public StoredBlock FindFirst(BlockSelector selector) { using (BlockchainRepository repo = new BlockchainRepository(conn)) { return repo.FindFirst(selector); } }
public List<StoredBlock> Find(BlockSelector selector, int count) { if (count <= 0 || count > 256) { throw new ArgumentException($"The parameter '{nameof(count)}' is not within its bounds.", nameof(count)); } using (BlockchainRepository repo = new BlockchainRepository(conn)) { return repo.Find(selector, count); } }
protected override async void Update(GameTime gameTime) { if (IsActive) { switch (State) { case GameState.Started: { if (!Paused) { player.Update(gameTime); if (player.UpdateOccured) { world.UpdateBlocks(); } await world.UpdateAsync(); } gameMenu.Update(); break; } case GameState.Loading: { State = GameState.Started; currentSave = mainMenu.CurrentSave; time = new Time(currentSave.Parameters.Day, currentSave.Parameters.Hour, currentSave.Parameters.Minute); ScreenshotHandler screenshotHandler = new ScreenshotHandler(GraphicsDevice, Window.ClientBounds.Width, Window.ClientBounds.Height); BlockSelector blockSelector = new BlockSelector(GraphicsDevice); databaseHandler = new DatabaseHandler(this, currentSave.Parameters.SaveName); gameMenu = new GameMenu(this, GraphicsDevice, time, screenshotHandler, currentSave.Parameters); world = new WorldManager(gameMenu, databaseHandler, blockSelector, currentSave.Parameters); player = new Player(this, GraphicsDevice, currentSave.Parameters); renderer = new Renderer(this, GraphicsDevice, time, world.Region, screenshotHandler, blockSelector); world.SetPlayer(this, player, currentSave.Parameters); if (!File.Exists($@"Saves\{currentSave.Parameters.SaveName}\save_icon.png")) { player.Update(gameTime); world.Update(); renderer.Draw(world.ActiveChunks, player); screenshotHandler.SaveIcon(currentSave.Parameters.SaveName, out currentSave.Icon); } break; } case GameState.Exiting: { databaseHandler.Close(); player.SaveParameters(currentSave.Parameters); time.SaveParameters(currentSave.Parameters); currentSave.Parameters.Save(); player = null; world = null; databaseHandler = null; gameMenu = null; renderer = null; GC.Collect(); State = GameState.MainMenu; IsMouseVisible = true; break; } case GameState.MainMenu: { mainMenu.Update(); break; } } } base.Update(gameTime); }
private string GetWhereClause(string blocksAlias, BlockSelector selector) { List<string> criteria = new List<string>(); if (selector.Heights != null) { criteria.Add($"{blocksAlias}.Height in ({GetInParameters("H", selector.Heights.Length)})"); } if (selector.HasContent != null) { criteria.Add($"{blocksAlias}.HasContent=@HasContent"); } if (selector.IsInBestHeaderChain != null) { criteria.Add($"{blocksAlias}.IsInBestHeaderChain=@IsInBestHeaderChain"); } if (selector.IsInBestBlockChain != null) { criteria.Add($"{blocksAlias}.IsInBestBlockChain=@IsInBestBlockChain"); } if (!criteria.Any()) { return ""; } return "where " + string.Join(" AND ", criteria); }
static void Main(string[] args) { CommandLineArguments arguments = null; try { arguments = CommandLineHelper.Parse <CommandLineArguments>(args); } catch (Exception) { return; } /*try * {*/ var gameStateManager = new GameStateManager(); var blockSimples = new[] { new Tuple <byte, string, bool>(1, "Stone", true), new Tuple <byte, string, bool>(2, "Grass block", true), new Tuple <byte, string, bool>(3, "Dirt", true), new Tuple <byte, string, bool>(4, "Cobblestone", true), new Tuple <byte, string, bool>(5, "Wooden planks", true), new Tuple <byte, string, bool>(7, "Bedrock", true), new Tuple <byte, string, bool>(12, "Sand", true), new Tuple <byte, string, bool>(13, "Gravel", true), new Tuple <byte, string, bool>(14, "Gold Ore", true), new Tuple <byte, string, bool>(15, "Iron Ore", true), new Tuple <byte, string, bool>(16, "Coal Ore", true), new Tuple <byte, string, bool>(17, "Oak Wood", true), new Tuple <byte, string, bool>(24, "Sandstone", true), new Tuple <byte, string, bool>(31, "Grass", false), new Tuple <byte, string, bool>(35, "Wool", true), }; var blocksProvider = new BlocksProvider(); var blockSelector = new BlockSelector(); for (int i = 0; i < blockSimples.Length; i++) { blocksProvider.RegisterBlock(blockSimples[i].Item1, new BlockSimple(blockSimples[i].Item2, blockSimples[i].Item3)); blockSelector.AddSelectableBlock(blockSimples[i].Item1); } var chunkManager = new ChunkManager(); var chunkGenerator = new ChunkGeneratorSurface(chunkManager); var worldManager = new WorldManager(blocksProvider, chunkManager, chunkGenerator); var chunkPartManager = new ChunkPartManager(worldManager, chunkManager, blocksProvider); var world = new World("world", (arguments?.Seed ?? 0) != 0 ? arguments.Seed : new Random().Next()); var window = new MainWindow(gameStateManager, world); gameStateManager.SetGameState(new GameStatePlay(gameStateManager, worldManager, chunkManager, chunkPartManager, blockSelector, blocksProvider, world)); window.Run(60); worldManager.Clean(world); /*} * catch (Exception exception) * { * Console.Error.WriteLine($"Une exception de type {exception.GetType()} est survenue, message : {exception.Message}"); * Console.Error.WriteLine($"Stacktrace:"); * Console.Error.WriteLine(exception.StackTrace); * Console.WriteLine("Sortie..."); * Environment.Exit(1); * }*/ }
public static void CreateDwg() { Active.Document.SendStringToExecute("REGENALL ", true, false, true); Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Dictionary <ObjectId, bool> layersDictionary = LayerManipulation.GetLayersIsBlockedCol(); if (doc == null) { return; } doc.LockOrUnlockLayers(false, ignoreCurrent: false, lockZero: true); bool isExec = true; using (Transaction tr = Active.Database.TransactionManager.StartTransaction()) { BlockSelector blockSelector = new BlockSelector(); blockSelector.GetFilterForSelectBlockId(); var res = blockSelector.SelectionResult; if (res.Status != PromptStatus.OK) { isExec = false; Active.Editor.WriteMessage("Надо выбрать блок"); } if (isExec) { SelectionSet selSet = res.Value; ObjectId[] idArrayTemp = selSet.GetObjectIds(); //idArray.Select(id => (BlockReference) tr.GetObject(id, OpenMode.ForRead)) // .Where(br => // ((BlockTableRecord) tr.GetObject(br.DynamicBlockTableRecord, OpenMode.ForRead)).Name == // "Формат") // .Select(br => br.ObjectId); ObjectIdCollection idArray = new ObjectIdCollection(); foreach (var objectId in idArrayTemp) { BlockReference blRef = (BlockReference)tr.GetObject(objectId, OpenMode.ForRead); BlockTableRecord block = tr.GetObject(blRef.DynamicBlockTableRecord, OpenMode.ForRead) as BlockTableRecord; string blockName = block.Name; if (blockName == "Формат") { idArray.Add(objectId); } else if (blockName == "ФорматM25") { idArray.Add(objectId); } //Active.Document.Editor.WriteMessage(blockName); } //MyCommands.GetSheetsFromBlocks(Active.Editor, dict, tr, idArray); //MyCommands.GetPrintParametersToPdf(Active.Editor, printModels, tr, idArray); //Active.Editor.WriteMessage("печать {0} - {1}", printModels[0].DocNumber, printModels.Count); foreach (ObjectId objectId in idArray) { ObjectCopier objectCopier = new ObjectCopier(objectId); ObjectIdCollection objectIds = objectCopier.SelectCrossingWindow(); BlockReference blkRef = (BlockReference)tr.GetObject(objectId, OpenMode.ForRead); string selAttrName = "НОМЕР_ЛИСТА"; string fileName = Utils.GetBlockAttributeValue(blkRef, selAttrName); //HostApplicationServices hs = HostApplicationServices.Current; //string path = Application.GetSystemVariable("DWGPREFIX"); //hs.FindFile(doc.Name, doc.Database, FindFileHint.Default); string createdwgFolder = Path.GetFileNameWithoutExtension(db.OriginalFileName); string folderdwg = Path.GetDirectoryName(db.OriginalFileName); string dwgFilename = Path.Combine(folderdwg, fileName + ".dwg"); objectCopier.CopyObjectsNewDatabases(objectIds, dwgFilename); // objectCopier.CopyObjectsBetweenDatabases(objectIds, dwgFilename); Active.Editor.WriteMessage("{0} сохранен", dwgFilename); string newFileName = ZoomFilesAndSave(dwgFilename); File.Delete(dwgFilename); System.IO.File.Move(newFileName, dwgFilename); } } doc.LockLayers(layersDictionary); tr.Commit(); } }