コード例 #1
0
ファイル: FunctionBlockBase.cs プロジェクト: EpicProj/RPG
        public void OnBlockDrag(CameraManager.CameraEvent camera)
        {
            var point = camera.point + _deltaDistance;

            point.x = Mathf.Floor(point.x);
            point.z = Mathf.Floor(point.z);

            if (Input.GetKeyDown(KeyCode.R))
            {
                transform.rotation = Quaternion.Euler(0, 90, 0);
            }

            if (point != transform.localPosition)
            {
                SetPosition(new Vector3(Mathf.Floor(point.x), transform.localScale.y / 2, Mathf.Floor(point.z)));
                bool canPlace = InPlacablePosition();
                if (canPlace)
                {
                    UIinfo.selectionUIInstance.SetGridColor(SelectionUIObject.PlaceState.CanPlace);
                }
                else
                {
                    UIinfo.selectionUIInstance.SetGridColor(SelectionUIObject.PlaceState.CanNotPlace);
                }

                AudioManager.Instance.PlaySound(AudioClipPath.ItemEffect.Block_Move);
            }
        }
コード例 #2
0
 /// <summary>
 /// Drag
 /// </summary>
 /// <param name="camera"></param>
 public void OnBlockDrag(CameraManager.CameraEvent camera)
 {
     if (_dragBlock != null)
     {
         _dragBlock.OnBlockDrag(camera);
     }
 }
コード例 #3
0
 public void OnBlockAreaEnter(CameraManager.CameraEvent camera)
 {
     _currentEnterBlock = camera.blockBase;
     if (_currentEnterBlock != null)
     {
         _currentEnterBlock.SetBlockAreaEnter(true);
     }
 }
コード例 #4
0
 public void OnBlockAreaExit(CameraManager.CameraEvent camera)
 {
     if (_currentEnterBlock != null && camera.blockBase == null)
     {
         FunctionBlockBase temp = _currentEnterBlock;
         _currentEnterBlock = null;
         temp.SetBlockAreaEnter(false);
     }
 }
コード例 #5
0
 public void OnGroundSelect(CameraManager.CameraEvent camera)
 {
     if (selectBlock != null)
     {
         FunctionBlockBase temp = selectBlock;
         selectBlock = null;
         temp.SetSelect(false);
     }
 }
コード例 #6
0
        public void OnBlockSelect(CameraManager.CameraEvent camera)
        {
            var block = camera.blockBase;

            if (selectBlock != null)
            {
                selectBlock.SetSelect(false);
            }
            selectBlock = block;
            block.SetSelect(true);
        }
コード例 #7
0
ファイル: FunctionBlockBase.cs プロジェクト: EpicProj/RPG
        public void OnBlockDragEnd(CameraManager.CameraEvent camera)
        {
            bool canPlace = InPlacablePosition();

            if (canPlace)
            {
                if (UIinfo.selectionUIInstance != null)
                {
                    UIinfo.selectionUIInstance.ShowGrid(false);
                }

                GridManager.Instance.UpdateFunctionBlockNodes(this, GridManager.Action.ADD);

                AudioManager.Instance.PlaySound(AudioClipPath.ItemEffect.Block_Place);
            }
        }
コード例 #8
0
ファイル: FunctionBlockBase.cs プロジェクト: EpicProj/RPG
        /// <summary>
        /// Move Block
        /// </summary>
        public void OnBlockDragStart(CameraManager.CameraEvent camera)
        {
            _deltaDistance = GetPosition() - camera.point;
            GridManager.Instance.UpdateFunctionBlockNodes(this, GridManager.Action.REMOVE);

            bool canPlace = InPlacablePosition();

            if (canPlace)
            {
                if (UIinfo.selectionUIInstance != null)
                {
                    UIinfo.selectionUIInstance.ShowGrid(true);
                }
                _oldPosition = GetPosition();
            }
        }
コード例 #9
0
 /// <summary>
 /// Drag Start
 /// </summary>
 /// <param name="camera"></param>
 public void OnBlockDragStart(CameraManager.CameraEvent camera)
 {
     _dragBlock = camera.blockBase;
     _dragBlock.OnBlockDragStart(camera);
 }