CreateAndLaunch()にGameObject[]オーバーロードを追加 - #37
Merged
Conversation
複数のレシーバーオブジェクトに跨ってデカールを貼るケースで、ランタイム生成 (CreateAndLaunch)が単一レシーバーしか受け取れなかった制限を解消する。 投影パイプライン(ExecuteLaunch)は元々receiverObjects配列をループする 複数レシーバー対応済みで、インスペクタ配置では複数指定できていた。 - CreateAndLaunch()にGameObject[]を受け取るオーバーロードを追加。 既存の単体版は配列版へ委譲(後方互換維持)。渡された配列は防御的コピーし、 数フレームかかるLaunch中に呼び出し側が配列を書き換えても投影対象が 変わらないようにする - EditModeテスト追加(委譲の互換性・全要素の設定・防御的コピー) - README EN/JAに複数レシーバーオーバーロードの説明とサンプルを追記 - Demo_05追加: 2枚の壁の継ぎ目にステッカーを貼り、複数レシーバー版 (跨って連続)と単体版(継ぎ目で切れる)をGUIで切り替えて比較できる 既知の制限: receiver引数にnullリテラルを直渡しする既存コードは オーバーロード解決が曖昧になりコンパイルエラーになる(変数経由は影響なし。 (GameObject)nullキャストで回避可能)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Merged
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
複数のレシーバーオブジェクトに跨ってデカールを貼るケースで、ランタイム生成 API(
CreateAndLaunch())が単一レシーバーしか受け取れなかった制限を解消します。投影パイプライン(
ExecuteLaunch())は元々receiverObjects配列をループする複数レシーバー対応済みで、インスペクタ配置では複数指定が可能でした。CreateAndLaunch()だけが長さ1の配列を固定生成していたため、ランタイム生成では利用できませんでした。変更内容
CreateAndLaunch()にGameObject[]を受け取るオーバーロードを追加new[] { receiverObject }で配列版へ委譲(後方互換維持)TestCreateAndLaunch: 委譲の互換性・全要素の設定・防御的コピー)動作仕様
LaunchingCanceledとなり残りは処理されない(インスペクタで複数指定した場合の現行挙動と同一)既知の制限
receiver 引数に
nullリテラルを直渡しする既存コードはオーバーロード解決が曖昧になりコンパイルエラーになります(変数経由の呼び出しは影響なし。(GameObject)nullキャストで回避可能)。null レシーバー指定は何も焼かれない実質無意味な呼び出しのため、許容と判断しました。確認
🤖 Generated with Claude Code