void OnCollisionExit(Collision col) { //各変数の初期化 table = null; exe = null; kit = null; }
void OnCollisionStay(Collision col) { //各コントローラーのAction1ボタンが押されたら if (Input.GetButtonDown(setting.keyAction)) { //衝突した机の種類を取得、tableKindがついていないオブジェクトだったら処理を中断 table = col.gameObject.GetComponent(typeof(TableKind)) as TableKind; if (table == null) { return; } //衝突した机のinterfaceを取得する exe = col.gameObject.GetComponent(typeof(IExecutable)) as IExecutable; kit = col.gameObject.GetComponent(typeof(IKitchenWare)) as IKitchenWare; switch (table.type) { //素材テーブル case TableType.ElemTable: SetGet_exe(); break; //こねるテーブル case TableType.KneadTable: knead = col.gameObject.GetComponent <KneadTable>(); //入れる if (knead.elemLis.Count < 2 && ElemType() && knead.createDone == null) { KneadSetGet_kit(); Destroy(haveObj); } //出す else if (knead.createDone != null && HaveChildObj() == false && knead.CheckProgress() == 1) { KneadSetGet_kit(); knead.createDone = null; } break; //オーブン case TableType.BakingTable: bake = col.gameObject.GetComponent <BakingTable>(); //入れる if (KneadType() && bake.elemLis.Count <= 0 && bake.createDone == null) { OvenSetGet_kit(); Destroy(haveObj); } //出す else if (bake.createDone != null && HaveChildObj() == false && bake.CheckProgress() == 1) { OvenSetGet_kit(); bake.createDone = null; } break; //コンベア case TableType.ExitTable: ExitTable exit = col.gameObject.GetComponent <ExitTable>(); //入れる if (HaveChildObj() && BakingType(exit)) { exe.SetElement(haveObjMat); haveObjMat = null; Destroy(haveObj); } //出す else if (haveObjMat != null && BakingType(exit) == false) { exit.missImg.SetActive(true); } break; } } }