void Update() { if (Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, Mathf.Infinity, 1 << 8)) { GameObject obj = hit.collider.gameObject; switch (step) { case Step.SERECT: select_pieces = obj.GetComponent <SellDate>().on_pise; if (select_pieces != null) { if (select_pieces.GetComponent <piece>().team_number == control_team) { setUiStatus(select_pieces.GetComponent <piece>()); select_pieces.GetComponent <piece>().OnMoveArea(); step++; } } break; case Step.MOVE: if (obj.GetComponent <SellDate>().is_movable) { moveSell = obj.GetComponent <SellDate>().sell; select_pieces.GetComponent <piece>().OnAttackArea(moveSell); step++; } else { step = 0; } board.allMovableOff(); break; case Step.ATACK: if (obj.GetComponent <SellDate>().is_attack) { if (obj.GetComponent <SellDate>().on_pise != null) { //違うチームだったら if (obj.GetComponent <SellDate>().on_pise.GetComponent <piece>().team_number != select_pieces.GetComponent <piece>().team_number) { obj.GetComponent <SellDate>().on_pise.GetComponent <piece>().damage( select_pieces.GetComponent <piece>().attack_power ); } } board.OnPiceMove(select_pieces.GetComponent <piece>().sell, moveSell); select_pieces.GetComponent <piece>().setSell(moveSell); setControlTeam((control_team + 1) % 2); } board.allAttackOff(); step = 0; break; } } else { board.allMovableOff(); board.allAttackOff(); select_pieces = null; step = 0; } } }