public void InterfareMove(float limit, GameObject effect = null, bool isSendRpc = true)
    {
        if (interfareMoveTime > 0)
        {
            if (interfareMoveTime < limit || limit == 0)
            {
                //残り時間上書き
                interfareMoveTime = limit;
                if (isSendRpc)
                {
                    photonView.RPC("AddInterfareMoveRPC", PhotonTargets.Others, limit);
                }
            }
            return;
        }

        if (effect == stuckEffect)
        {
            moveCtrl.StopBoost();
        }

        Coroutine cor = StartCoroutine(CheckInterfareMove(limit, effect));

        SetBuffCoroutine("InterfareMove", cor, effect);

        if (isSendRpc)
        {
            int      parentViewId = (effect != null) ? GetParentViewId(effect) : -1;
            string   effectName   = (effect != null) ? effect.name : "";
            object[] args         = new object[] { limit, parentViewId, effectName };
            photonView.RPC("InterfareMoveRPC", PhotonTargets.Others, args);
        }
    }