internal override void DragEnter()
    {
        if (State != TablePeaceState.OnTable)
        {
            return;
        }

        if (_OnCheckLiftUpOK())
        {
            State = TablePeaceState.LiftUp;
        }
    }
    internal override void DragDrop()
    {
        if (State == TablePeaceState.LiftUp)
        {
            bool result = _OnReportDragDrop(_Postion.IntX, _Postion.IntY);

            if (result == false)
            {
                //Comeback
                State = TablePeaceState.ComeBack;

                // 自動移動開始
                Hashtable table = new Hashtable();

                table.Add("x", DefPos.x);
                table.Add("y", DefPos.y);
                table.Add("speed", 5.0f);

                table.Add("easetype", iTween.EaseType.linear);

                table.Add("onstart", "StartHandler");       // トゥイーン開始時にStartHandler()を呼ぶ
                table.Add("onstartparams", name + " ComeBack Start");        // StartHandler()の引数に渡す値
                table.Add("onupdate", "UpdateHandler");     // トゥイーンを開始してから毎フレームUpdateHandler()を呼ぶ
                table.Add("onupdateparams", name + " ComeBack Update");      // UpdateHandler()の引数に渡す値
                table.Add("oncomplete", "CompleteHandler"); // トゥイーン終了時にCompleteHandler()を呼ぶ
                table.Add("oncompleteparams", name + " ComeBack Complete");  // CompleteHandler()の引数に渡す値

                iTween.MoveTo(gameObject, table);

            }
            else
            {
                //表示切替
                State = TablePeaceState.ViewState;
                _Postion.X = DefPos.x;
                _Postion.Y = DefPos.y;
                _Postion.Z = DefPos.z;
            }
        }
    }
    internal override void DragDrop()
    {
        if (State == TablePeaceState.LiftUp)
        {
            bool result = _OnReportDragDrop(_Postion.IntX, _Postion.IntY);

            if (result == false)
            {
                //Comeback
                State = TablePeaceState.ComeBack;

                // 自動移動開始
                Hashtable table = new Hashtable();

                table.Add("x", DefPos.x);
                table.Add("y", DefPos.y);
                table.Add("speed", 5.0f);

                table.Add("easetype", iTween.EaseType.linear);

                table.Add("onstart", "StartHandler");                       // トゥイーン開始時にStartHandler()を呼ぶ
                table.Add("onstartparams", name + " ComeBack Start");       // StartHandler()の引数に渡す値
                table.Add("onupdate", "UpdateHandler");                     // トゥイーンを開始してから毎フレームUpdateHandler()を呼ぶ
                table.Add("onupdateparams", name + " ComeBack Update");     // UpdateHandler()の引数に渡す値
                table.Add("oncomplete", "CompleteHandler");                 // トゥイーン終了時にCompleteHandler()を呼ぶ
                table.Add("oncompleteparams", name + " ComeBack Complete"); // CompleteHandler()の引数に渡す値

                iTween.MoveTo(gameObject, table);
            }
            else
            {
                //表示切替
                State      = TablePeaceState.ViewState;
                _Postion.X = DefPos.x;
                _Postion.Y = DefPos.y;
                _Postion.Z = DefPos.z;
            }
        }
    }
    private void CompleteHandler(string message)
    {
        Debug.Log(message);

        State = TablePeaceState.OnTable;
    }
    internal override void DragEnter()
    {
        if (State != TablePeaceState.OnTable)
            return;

        if (_OnCheckLiftUpOK())
        {
            State = TablePeaceState.LiftUp;
        }
    }
    private void CompleteHandler(string message)
    {
        Debug.Log(message);

        State = TablePeaceState.OnTable;
    }