public bool removeCard(BattleCard battle_card, bool is_unuse_card) { for (int idx = 0; idx < m_BattleCards.Length; idx++) { if (m_BattleCards[idx] == battle_card) { m_CardCount--; for (; idx < m_CardCount; idx++) { m_BattleCards[idx] = m_BattleCards[idx + 1]; m_BattleCards[idx].setPhase(BattleCard.Phase.FIELD_AREA); // 描画位置を更新 } m_BattleCards[idx] = null; if (is_unuse_card) { battle_card.setPhase(BattleCard.Phase.UNUSED); battle_card.m_ViewControl.gameObject.SetActive(false); } return(true); } } return(false); }
public void setCardToNextArea(int index, BattleCard battle_card) { if (m_NextArea != null) { removeCard(battle_card, false); m_NextArea.setCard(index, battle_card); battle_card.setPhase(BattleCard.Phase.NEXT_AREA); } }
public void addCard(BattleCard battle_card) { if (m_CardCount < m_BattleCards.Length) { battle_card.setPhase(BattleCard.Phase.IN_HAND); m_BattleCards[m_CardCount] = battle_card; m_CardCount++; } }
// Update is called once per frame void Update() { if (m_HandArea != null) { for (int idx = 0; idx < m_HandArea.getCardMaxCount(); idx++) { BattleScene.BattleCard battle_card = m_HandArea.getCard(idx); if (battle_card != null) { if (battle_card.getChangeCause() == BattleScene.BattleCard.ChangeCause.NEW_CARD) { battle_card.resetChageCause(); battle_card.setPhase(BattleScene.BattleCard.Phase.HAND_AREA); battle_card.m_ViewControl.transform.SetParent(getBattleCardTransform(idx, TransformType.NEXT_AREA), false); battle_card.m_ViewControl.transform.localPosition = Vector3.zero; battle_card.m_ViewControl.transform.localRotation = Quaternion.identity; battle_card.m_ViewControl.transform.localScale = Vector3.one; } if (battle_card.isChangePhase()) { float hold_time = battle_card.m_HoldMoveTime; battle_card.resetChangePhase(); battle_card.m_ViewControl.gameObject.SetActive(true); battle_card.m_ViewControl.setSnapToParent(getBattleCardTransform(idx, TransformType.HAND_AREA), 0.1f, hold_time); } } } } if (m_NextArea != null) { for (int idx = 0; idx < m_NextArea.getCardMaxCount(); idx++) { BattleScene.BattleCard battle_card = m_NextArea.getCard(idx); if (battle_card != null) { if (battle_card.getChangeCause() == BattleScene.BattleCard.ChangeCause.NEW_CARD) { battle_card.resetChageCause(); battle_card.setPhase(BattleScene.BattleCard.Phase.NEXT_AREA); battle_card.m_ViewControl.transform.SetParent(getBattleCardTransform(idx, TransformType.APPEAR_AREA), false); battle_card.m_ViewControl.transform.localPosition = Vector3.zero; battle_card.m_ViewControl.transform.localRotation = Quaternion.identity; battle_card.m_ViewControl.transform.localScale = Vector3.one; } if (battle_card.isChangePhase()) { battle_card.resetChangePhase(); battle_card.m_ViewControl.gameObject.SetActive(true); battle_card.m_ViewControl.setSnapToParent(getBattleCardTransform(idx, TransformType.NEXT_AREA), 0.1f); } } } } }
public bool addCard(BattleCard battle_card) { if (isFull() == false) { battle_card.setPhase(BattleCard.Phase.FIELD_AREA); m_BattleCards[m_CardCount] = battle_card; m_CardCount++; return(true); } return(false); }
public void removeCard(BattleCard battle_card, bool is_unuse_card) { for (int idx = 0; idx < m_BattleCards.Length; idx++) { if (m_BattleCards[idx] == battle_card) { m_BattleCards[idx] = null; if (is_unuse_card) { battle_card.setPhase(BattleCard.Phase.UNUSED); battle_card.m_ViewControl.gameObject.SetActive(false); } break; } } }
public void setCard(int index, BattleCard battle_card) { if (m_BattleCards[index] != null) { int free_index = -1; int dist_min = m_BattleCards.Length; for (int idx = 0; idx < m_BattleCards.Length; idx++) { if (m_BattleCards[idx] == null) { int dist = Mathf.Abs(idx - index); if (dist < dist_min) { dist_min = dist; free_index = idx; } } } if (free_index >= 0) { int step = (index > free_index) ? 1 : -1; for (int idx = free_index; idx != index; idx += step) { m_BattleCards[idx] = m_BattleCards[idx + step]; m_BattleCards[idx].m_HandCardIndex = idx; m_BattleCards[idx].setPhase(BattleCard.Phase.HAND_AREA); } m_BattleCards[index] = null; } } battle_card.setPhase(BattleCard.Phase.HAND_AREA); battle_card.m_HandCardIndex = index; m_BattleCards[index] = battle_card; }