Skip to content

Instantly share code, notes, and snippets.

@zonaryFUND
Last active January 17, 2024 12:49
Show Gist options
  • Save zonaryFUND/bfdd9b229495bec2304df080dd85df58 to your computer and use it in GitHub Desktop.
Save zonaryFUND/bfdd9b229495bec2304df080dd85df58 to your computer and use it in GitHub Desktop.
// ドラッグして移動されるオブジェクトAに、DragDropSenderと一緒にアタッチされるべきコンポーネント
public class DraggedComponentA: MonoBehaviour, ISenderComponent {
public void OnBeginDrag() {
// ドラッグしはじめでこのメソッドがDragDropSenderから呼ばれる
// 色変えなどをする
}
public bool IsCorrespondingObject(GameObject obj) {
// このオブジェクトがIDropReceiverを持つ別のオブジェクトと重なったときに呼ばれる
// 対応するコンポーネントBであればtrueを返す
return obj.GetComponent<ReceiverComponentB>() != null;
}
public void OnOverlappingCorrespondingReceiverChange(GameObject correspondingObject) {
// Aに対応する受け取り手と重なった/重ならなくなった/別のものと重なったときにこのメソッドがDragDropSenderから呼ばれる
// 色変えなどをする
}
public void OnDrop(GameObject receiverObject) {
// マウスドラッグが終了したときに呼ばれる
// 対応するIDropReceiverと重なっていれば引数は非null、重なっていなければnullが渡される
// 各種処理をする
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment