Card.cs 2.85 KB
using UnityEngine;


[System.Serializable] // 유니티 3d 에서 직접 모든 변수에 대해 접근 가능!
public class Card
{
    public int CharacterID; //소속된 캐릭터의 ID
    public int CardID; //카드 고유번호
    public char Rank; //캐릭터 랭크 (S, SR, SSR)
    public string CardName; // 카드이름 

    public int[] StoryID = new int[10]; // 해당 카드가 갖고있는 스토리 ID. -1은없는것. 리스트로 해도될까..
    public int StoryKey; // 입수순간 위 ID중 보유하지않은게 순서대로 Storykey개 열림. 

    public Sprite[] Illust_2d = new Sprite[2] ; // 각성전 + 각성후 2D일러스트
    public GameObject Model_3d; // 3D모델 (옷입구있는거) 

    public string[,] Dialogues = new string[3,3] ; // [얻을때, 각성했을때, 한계돌파했때]
                                                   // [스킬A 1차 렙업, 2차렙업, 3차렙업 ]
                                                   // [스킬B 1차 렙업, 2차렙업, 3차렙업 ]

    public int[,,] Items_need = new int[3,3,2]; // ([[1차떄 필요아이템ID, NUM],[],[]]
                                                // [[2차떄..ID,NUM] , [] , []]
                                                // [[3차때..ID,NUM] . [] , []] )

    public int[] Stat_A = new int[2]; //스탯A의 초기, 최종 스탯
    public int[] Stat_B = new int[2];
    public int[] Stat_C = new int[3];

    public int[] Skill_A = new int[3]; // 스킬 A의 1,2,3단걔 UP률 
    public int[] Skill_B = new int[3]; // 스킬 B의 1,2,3단계 UP률

    public SkillType_A Stype_A;
    public SkillType_B Stype_B;

    public enum SkillType_A
    {
        StatUp_A,
        StatUp_B,
        StatUp_C
    }

    public enum SkillType_B {
        Enhance_Judgement,
        ScoreUP,
        ComboBonus,
        RestoreLife,
        DefenceLife,
        MaintainCombo
    }

    public Card()
    {
        //빈생성자
    }
    public Card(int characterid, int cardid, char rank, string name, int[] storyid, int s_keynum, Sprite[] illusts, GameObject model, string[,] dialogues, int[,,] itemneed, int[] sta, int[] stb, int[] stc, int[] ska, int[] skb,  SkillType_A stypea, SkillType_B stypeb)
    {

        CharacterID = characterid; 
        CardID = cardid; 
        Rank = rank ; 
        CardName = name; 

        StoryID = storyid; 
        StoryKey = s_keynum; 

        Illust_2d = illusts; 
        Model_3d = model;

        Dialogues = dialogues; 

        Items_need = itemneed;

        Stat_A = sta; 
        Stat_B = stb;
        Stat_C = stc;

        Skill_A = ska;
        Skill_B = skb;

        Stype_A = stypea;
        Stype_B = stypeb;
    }

    public Card Clone()
    {

        //필요할일이 있으려나? 일단 방법만 냅둠.
        Card card = new Card();

        card.CharacterID = this.CharacterID;

        return card;
    }

}