Exemple #1
0
    private void InitCard(ref List <CardDeckSettingData> settingDataList, ref List <CharacterCard> inGameDataList, bool isPlayerTeam)
    {
        ObjectPoolManager objectPoolMgr = GameObject.Find("CharacterCardPool").GetComponent <ObjectPoolManager>();

        for (int i = 0; i < settingDataList.Count; ++i)
        {
            CharacterCard settingCardPrefab = settingDataList[i].CardPrefab.GetComponent <CharacterCard>();
            CharacterCard inGameCardObject  = objectPoolMgr.GetObject().GetComponent <CharacterCard>();

            // 카드에 나오는 캐릭터 스프라이트를 바꿔준다.
            SpriteRenderer settingPortraitSpr  = settingCardPrefab.m_PortraitRenderer;
            SpriteRenderer inGamePortraitSpr   = inGameCardObject.m_PortraitRenderer;
            SpriteRenderer inGameBackgroundSpr = inGameCardObject.m_BackgroundRenderer;
            inGamePortraitSpr.sprite  = settingPortraitSpr.sprite;
            inGameBackgroundSpr.color = new Color(1.0f, 1.0f, 1.0f, 0.0f);

            inGameCardObject.IsPlayerTeam  = isPlayerTeam;
            inGameCardObject.m_HealthPoint = settingCardPrefab.m_HealthPoint;
            inGameCardObject.m_AttackPoint = (settingDataList[i].IsDefensiveCard) ? (int)(settingCardPrefab.m_AttackPoint * 0.5f)
                                                                    : settingCardPrefab.m_AttackPoint;
            inGameCardObject.m_Speed         = settingCardPrefab.m_Speed;
            inGameCardObject.IsDefensiveCard = settingDataList[i].IsDefensiveCard;
            inGameCardObject.ResetStatus();

            StartCoroutine(inGameCardObject.UpdateCardStatus());

            inGameDataList.Add(inGameCardObject);
        }
    }