/** * * ステージクリア時、NPCドロップがあれば * CharaDataを生成して返す。 * * dropNpcStrのフォーマット * Rarity:Percentage:Gender (Percentageはfloat型) * */ private CharaData ParseDropNpc(string dropNpcStr) { if (string.IsNullOrEmpty(dropNpcStr)) { return(null); } string[] dropSplited = dropNpcStr.Split(':'); int rarity = Int32.Parse(dropSplited [0]); float ratio = float.Parse(dropSplited [1]); int gender = Int32.Parse(dropSplited [2]); int MAX = 10000; int RATIOLINE = (int)((float)MAX * ratio); int rand = UnityEngine.Random.Range(1, MAX); if (rand <= RATIOLINE) { CharaData genedChar = CharacterLevelSystem.GenerateCharacterData(rarity); genedChar.gender = (CharaData.Gender)Enum.ToObject(typeof(CharaData.Gender), gender); genedChar.ClothDataStr = ClothingSystem.AutoClothGenerator(genedChar.gender); return(genedChar); } return(null); }
public static void InitPlayerData() { //保持しているマテリアル _itemOwnedDictionary ["wood"] = 100; _itemOwnedDictionary ["metal"] = 100; _itemOwnedDictionary ["potato"] = 100; //プレイヤーキャラの初期化 playerCharData = CharacterLevelSystem.GenerateCharacterData(1, (int)CharaData.Gender.Male); playerCharData.ID = PLAYERID; playerCharData.Name = "Player"; playerCharData.SwordID = "swd2"; playerCharData.GunID = "gun2"; //TODO テスト的に追加 if (playerNpcDictionary.Count == 0) { CharaData chardata = CharacterLevelSystem.GenerateCharacterData(1, (int)CharaData.Gender.Female); chardata.Name = "Mia"; chardata.BodyPrefab = "Female1"; chardata.SwordID = "swd1"; chardata.GunID = ""; Debug.LogError("NPC1: " + chardata.ClothDataStr); playerNpcDictionary.Add(chardata.ID, chardata); chardata = CharacterLevelSystem.GenerateCharacterData(1, (int)CharaData.Gender.Female); chardata.Name = "Mia"; chardata.BodyPrefab = "Female1"; chardata.SwordID = ""; chardata.GunID = "gun1"; Debug.LogError("NPC1: " + chardata.ClothDataStr); playerNpcDictionary.Add(chardata.ID, chardata); //// SerializeUtil.XmlSerialize ("char", playerNpcDictionary); } }