mimyquality / FukuroUdon

MimyLab's U# utilitiy pack for VPM.
MIT License
28 stars 4 forks source link

ManualObjectSync で DisallowTheft の設定が効いていない #3

Closed mfmfuyu closed 1 year ago

mfmfuyu commented 1 year ago

VRC PickupDisallow Theft を有効にしていても他人がピックアップしているオブジェクトを横取りできてしまうようです

https://github.com/mimyquality/FukuroUdon/blob/c2ebcafd511ef4fea0f7b68a892ef5cf07fef3d2/Packages/com.mimylab.fukuroudon/Runtime/ManualObjectSync/Scripts/ManualObjectSync.cs#L63 DisallowTheft の値を見てピックアップできるかの判定は上記の箇所で実装されてましたが、確認したところピックアップした人のローカルでのみ動作しているようでした

https://github.com/mimyquality/FukuroUdon/blob/c2ebcafd511ef4fea0f7b68a892ef5cf07fef3d2/Packages/com.mimylab.fukuroudon/Runtime/ManualObjectSync/Scripts/ManualObjectSync.cs#L142 上記の _isHeld[FieldChangeCallback(nameof(IsHeld))] を設定すると一見正しく動作はしていそうなのですが、これで正しい挙動になるのかまでは確認できていません...

mimyquality commented 1 year ago

おっしゃる通り、FieldChangeCallbackの一文が抜けていたために機能していませんでした。 1.4.2にて修正しました。