void on_card_touch(CCardPicture card_picture) { // 카드 연속 터치등을 막기 위한 처리. this.card_collision_manager.enabled = false; int count = this.player_hand_card_manager.Count; for (int i = 0; i < count; ++i) { this.player_hand_card_manager[i].enable_all_colliders(false); } // 일반 카드, 폭탄 카드에 따라 다르게 처리한다. if (card_picture.is_back_card()) { CPacket msg = CPacket.create((short)PROTOCOL.FLIP_BOMB_CARD_REQ); CNetworkManager.Instance.send(msg); } else { // 손에 같은 카드 3장이 있고 바닥에 같은카드가 없을 때 흔들기 팝업을 출력한다. int same_on_hand = this.player_hand_card_manager[this.player_me_index].get_same_number_count(card_picture.card.number); int same_on_floor = get_same_number_count_on_floor(card_picture.card.number); if (same_on_hand == 3 && same_on_floor == 0) { CUIManager.Instance.show(UI_PAGE.POPUP_ASK_SHAKING); CPopupShaking popup = CUIManager.Instance.get_uipage(UI_PAGE.POPUP_ASK_SHAKING).GetComponent <CPopupShaking>(); popup.refresh(card_picture.card, card_picture.slot); } else { CPlayRoomUI.send_select_card(card_picture.card, card_picture.slot, 0); } } }
void on_choice_shaking(byte is_shaking) { gameObject.SetActive(false); CPlayRoomUI.send_select_card(this.selected_card_info, this.card_slot, is_shaking); }