そうだなレフトだろうな

で、理解できるかはともかく、つづけると

このスクリプトの一番下がその配列
ItemFunction[] funcs = {
//0番
(itemData, bokking) => {
Debug.Log ("なんもないがな");
},
//1番
(itemData, bokking) => {
Debug.Log ("HPが" + itemData.HP回復量 + "回復した");
bokking.recoveryHP(itemData.HP回復量);
},
(itemData, bokking) => {
Debug.Log ("しらんがな");
},
(itemData, bokking) => {
Debug.Log ("わからんがな");
}
};

このデリゲートの処理で、やっとScriptableObjectにデータを問い合わせて
ID1番なら1番のアイテムデータを取り出して使っている

実際の回復処理はPlayerbokkingが処理すべきなので
必要なデータを渡しつつrecoveryHPというPlayerbokkingのメソッドを
作っておいて実行している