//캐릭터 인덱스 기반 데이터 이므로 /// <summary> /// Save data /// </summary> public void Save() { //내가 가진 모든 캐릭터 세이브 int iCount = m_ListChar.Count; CharInfoData[] Node = new CharInfoData[iCount]; try { for (int i = 0; i < iCount; i++) { Node[i] = new CharInfoData { CharIndex = Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_INDEX)), CharLevel = Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_LEVEL)), CharCurEXP = Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_CUR_EXP)), CharWeaponType = (ITEM_TYPE)Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_WEAPON_TYPE)), CharWeapon = Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_WEAPON_INDEX)), CharStigmaTop = Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_STIGMA_TOP_INDEX)), CharStigmaCenter = Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_STIGMA_CENTER_INDEX)), CharStigmaBottom = Util.ConvertToInt(m_ListChar[i].GetCharData(CHAR_DATA.CHAR_STIGMA_BOTTOM_INDEX)) }; } string Char = JSON.JsonUtil.ToJson <CharInfoData>(Node); Debug.Log(Char); JSON.JsonUtil.CreateJson("UserCharInfoData", Char); } catch (System.NullReferenceException ex) { Debug.Log(ex); } }
public void Init(CharInfoData Char, List <Dictionary <string, object> > CharTable) { CharacterData Node = new CharacterData(Char, CharTable); m_ListChar.Add(Node); //내가 가진 캐릭터 인덱스 값 Node.CharUpdate(); }
private List <Dictionary <CHAR_DATA, object> > m_CharInfo = new List <Dictionary <CHAR_DATA, object> >(); //위의 인덱스들을 키로 가지는 리스트값 public CharacterData(CharInfoData Data, List <Dictionary <string, object> > Table) //캐릭터 인덱스 { int iLevel = Data.CharLevel - 1; NodeSetting(CHAR_DATA.CHAR_NAME, Table[iLevel][CHAR_DATA.CHAR_NAME.ToString()]); //캐릭터 이름 NodeSetting(CHAR_DATA.CHAR_INDEX, Data.CharIndex); //캐릭터 인덱스 NodeSetting(CHAR_DATA.CHAR_LEVEL, Data.CharLevel); //캐릭터 레벨 NodeSetting(CHAR_DATA.CHAR_MAX_HP, Table[iLevel][CHAR_DATA.CHAR_MAX_HP.ToString()]); //캐릭터 HP NodeSetting(CHAR_DATA.CHAR_MAX_SP, Table[iLevel][CHAR_DATA.CHAR_MAX_SP.ToString()]); //캐릭터 SP NodeSetting(CHAR_DATA.CHAR_MAX_EXP, Table[iLevel][CHAR_DATA.CHAR_MAX_EXP.ToString()]); //캐릭터 EXP NodeSetting(CHAR_DATA.CHAR_CUR_EXP, Data.CharCurEXP); //캐릭터 현재 EXP NodeSetting(CHAR_DATA.CHAR_ATK, Table[iLevel][CHAR_DATA.CHAR_ATK.ToString()]); //공격력 NodeSetting(CHAR_DATA.CHAR_DEF, Table[iLevel][CHAR_DATA.CHAR_DEF.ToString()]); //방어력 NodeSetting(CHAR_DATA.CHAR_CRI, Table[iLevel][CHAR_DATA.CHAR_CRI.ToString()]); //크리 NodeSetting(CHAR_DATA.CHAR_WEAPON_TYPE, Data.CharWeaponType); NodeSetting(CHAR_DATA.CHAR_WEAPON_INDEX, Data.CharWeapon); //웨폰 NodeSetting(CHAR_DATA.CHAR_STIGMA_TOP_INDEX, Data.CharStigmaTop); //상 NodeSetting(CHAR_DATA.CHAR_STIGMA_CENTER_INDEX, Data.CharStigmaCenter); //중 NodeSetting(CHAR_DATA.CHAR_STIGMA_BOTTOM_INDEX, Data.CharStigmaBottom); //하 }
public void OnClick() { UIInput Input = m_UserCreate.transform.GetChild(2).GetComponent <UIInput>(); if (Input.value != string.Empty) { //적힌 것이 있다면 //유저 데이터를 기반으로 저장 UserInfoData Data = new UserInfoData(Input.value); var Table = EXCEL.ExcelLoad.Read("Excel/Table/UserTable"); Data.CurEnergy = int.Parse(Table[0][USER_INFO.USER_INFO_MAX_ENERGY.ToString()].ToString()); string jsonData = JSON.JsonUtil.ToJson(Data); Debug.Log(jsonData); JSON.JsonUtil.CreateJson("UserInfoData", jsonData); //유저 데이터 JSON(초기 유저 데이터) CharInfoData[] Char = new CharInfoData[2]; Char[0] = new CharInfoData(0, ITEM_TYPE.ITEM_GAUNTLET); Char[0].CharWeapon = 0; Char[1] = new CharInfoData(1, ITEM_TYPE.ITEM_SWORD); Char[1].CharWeapon = 1; string CharData = JSON.JsonUtil.ToJson <CharInfoData>(Char); Debug.Log(CharData); JSON.JsonUtil.CreateJson("UserCharInfoData", CharData); //초기 캐릭터 데이터 JSON ItemInfoData[] Item = new ItemInfoData[2]; Item[0] = new ItemInfoData(ITEM_TYPE.ITEM_GAUNTLET, 0);//아이템 타입, 아이템 인덱스 Item[0].ItemEquipChar = 0; Item[1] = new ItemInfoData(ITEM_TYPE.ITEM_SWORD, 0); Item[1].ItemEquipChar = 1; string WeaponData = JSON.JsonUtil.ToJson <ItemInfoData>(Item); Debug.Log(WeaponData); JSON.JsonUtil.CreateJson(INVENTORY_TYPE.INVENTORY_WEAPON.ToString(), WeaponData); ////유저의 초기 데이터들 UserInfo.instance.Init(); m_UserCreate.gameObject.SetActive(false); } }