public void SetControlActive(bool isActive)
    {
        TankPlayerInputHandler handler = TankPlayerInputHandler.Instance();

        if (isActive != isControlActive)    //第一次点击 => 注册
        {
            isControlActive = isActive;

            handler.Axis1VerticalInputEvent   += Move;
            handler.Axis1HorizontalInputEvent += Rotate;
            handler.Axis2VerticalInputEvent   += RotateGun;
            handler.Axis2HorizontalInputEvent += RotateTurret;
            handler.FireInputEvent            += Fire;
        }
        else
        {
            isControlActive = !isActive;    //再次点击 => 移除注册信息

            handler.Axis1VerticalInputEvent   -= Move;
            handler.Axis1HorizontalInputEvent -= Rotate;
            handler.Axis2VerticalInputEvent   -= RotateGun;
            handler.Axis2HorizontalInputEvent -= RotateTurret;
            handler.FireInputEvent            -= Fire;
        }
    }
 public static TankPlayerInputHandler Instance()
 {
     _sInstance = FindObjectOfType <TankPlayerInputHandler>();        //保证整个场景只有一个
     if (_sInstance == null)
     {
         GameObject newObj = new GameObject(name: "TankPlayerInputHandler");
         _sInstance = newObj.AddComponent <TankPlayerInputHandler>();
     }
     return(_sInstance);
 }
 public void OnPointerClick(PointerEventData eventData)
 {
     TankPlayerInputHandler.Instance().TakeTankControl(this);
 }