wangguan
2020-12-02 cf99ef52be344ac7dd3ba28dd51c63dd5de38a4b
Assets/Scripts/TowerDefense/Input/EndlessTowerDefenseKeyboardMouseInput.cs
@@ -5,6 +5,7 @@
using UnityEngine;
using UnityInput = UnityEngine.Input;
using State = TowerDefense.UI.HUD.EndlessGameUI.State;
using KTGMGemClient;
namespace TowerDefense.Input
{
@@ -109,15 +110,12 @@
                    if (UnityInput.GetKeyDown(key))
                    {
                        Tower controller = EndlessLevelManager.instance.TowerLibrary[key - KeyCode.Alpha1];
                        if (EndlessLevelManager.instance.Currency.CanAfford(controller.purchaseCost))
                        if (m_GameUI.isBuilding)
                        {
                            if (m_GameUI.isBuilding)
                            {
                                m_GameUI.CancelGhostPlacement();
                            }
                            EndlessGameUI.instance.SetToBuildMode(controller);
                            EndlessGameUI.instance.TryMoveGhost(InputController.instance.basicMouseInfo);
                            m_GameUI.CancelGhostPlacement();
                        }
                        EndlessGameUI.instance.SetToBuildMode(controller);
                        EndlessGameUI.instance.TryMoveGhost(InputController.instance.basicMouseInfo);
                        break;
                    }
                }
@@ -146,17 +144,43 @@
            }
        }
        float currentTimeScale = 1.0f;
        protected virtual void OnStartDrag(PointerActionInfo pointer)
        {
            if (GameConfig.IsNewbie)
            {
                if (!GameConfig.CanDragTower)
                {
                    Debug.Log("新手不可以拖拽");
                    return;
                }
            }
            // select towers
            m_GameUI.TrySelectTower(pointer);
            // River: 为了开始拖动后可以直接显示GhostTower
            m_GameUI.TryMoveGhost(pointer, false);
            this.isInDragState = true;
            AudioSourceManager.Ins.Play(AudioEnum.DragTower);
            if (m_GameUI.HasTower)
            {
                EndlessUIStart.instance.SetDarkGround(true);
            //Debug.Log("开始拖拽");
                this.isInDragState = true;
                AudioSourceManager.Ins.Play(AudioEnum.DragTower);
                m_GameUI.CheckAllCanPlace();//检查上阵宝石有么有可以合成的位置
                if (!GameConfig.IsNewbie)
                {
                    //新手引导这里会把引导的速度变慢
                    currentTimeScale = Time.timeScale;
                    Time.timeScale = 0.5f;
                }
                else
                {
                    GuideCtrl.Ins.BeginDrag5_1();
                }
            }
        }
        protected override void OnDrag(PointerActionInfo pointer)
@@ -169,19 +193,26 @@
            }
        }
        /// <summary>
        /// 鼠标抬起
        /// </summary>
        /// <param name="pointer"></param>
        protected void OnEndDrag(PointerActionInfo pointer)
        {
            // EndDrag 只能放置相关的GhostTower.
            if (this.isInDragState)
            {
                EndlessUIStart.instance.SetDarkGround(false);
                AudioSourceManager.Ins.Play(AudioEnum.PutTower);
                m_GameUI.CloseCanPlaceRenderer();//关闭所有宝石示意
                m_GameUI.onEndTowerDrag(pointer);
                this.isInDragState = false;
                if (!GameConfig.IsNewbie)
                    Time.timeScale = currentTimeScale;
            }
            m_GameUI.onEndTowerDrag(pointer);
            this.isInDragState = false;
            //Debug.Log("结束拖拽");
        }
        /// <summary>