public void OnGroundSelect(CameraManager.CameraEvent camera) { if (selectBlock != null) { FunctionBlockBase temp = selectBlock; selectBlock = null; temp.SetSelect(false); } }
public void OnBlockSelect(CameraManager.CameraEvent camera) { var block = camera.blockBase; if (selectBlock != null) { selectBlock.SetSelect(false); } selectBlock = block; block.SetSelect(true); }
/// <summary> /// 选择建筑,面板 /// </summary> void HandleBlockPanelSelect() { if (isSelectBlock_Panel == true && currentSelectBuildID != -1) { if (CameraManager.Instance.InBlockPanelPos() == false) { return; } if (_hasAddBlockToMap == false) { var pos = CameraManager.Instance.TryGetRaycastHitGround(Input.mousePosition); currentInitBlock = FunctionBlockManager.Instance.AddFunctionBlock(PlayerModule.GetBuildingPanelDataByKey(currentSelectBuildID).FunctionBlockID, (int)pos.x, (int)pos.z); currentInitBlock.currentState = FunctionBlockBase.BlockState.Move; currentInitBlock.SetSelect(true); _hasAddBlockToMap = true; CameraManager.Instance.currentBlockMode = CameraManager.BlockMode.Move; } else if (_hasAddBlockToMap == true && currentInitBlock != null) { CameraManager.Instance.UpdateBlockMove(currentInitBlock); } } /// ESC to Delete if (Input.GetKeyDown(KeyCode.Escape)) { if (_hasAddBlockToMap == true) { FunctionBlockManager.Instance.RemoveItem(currentInitBlock); currentInitBlock = null; _hasAddBlockToMap = false; InitBlockBuildPanelSelect(-1, false); CameraManager.Instance.currentBlockMode = CameraManager.BlockMode.None; CameraManager.Instance.ResetDragState(); } } }