protected virtual UdonaCharacterData MakeUdonaDetailData() { var result = new UdonaCharacterData { Name = "detail" }; result.Data = new List <UdonaCharacterData>(); //リソース var resource = new UdonaCharacterData { Name = "リソース", Data = new List <UdonaCharacterData> { new UdonaCharacterData { Name = "HP", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)DiceBotResource.HP].Value.ToString(), Value = this.DodontoFPCData.Resources[(int)DiceBotResource.MaxHP].Value.ToString() }, new UdonaCharacterData { Name = "MP", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)DiceBotResource.MP].Value.ToString(), Value = this.DodontoFPCData.Resources[(int)DiceBotResource.MaxMP].Value.ToString() } } }; result.Data.Add(resource); return(result); }
protected override UdonaCharacterData MakeUdonaDetailData() { var result = new UdonaCharacterData { Name = "detail" }; result.Data = new List <UdonaCharacterData>(); //リソース var resource = new UdonaCharacterData { Name = "リソース", Data = new List <UdonaCharacterData> { new UdonaCharacterData { Name = "HP", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)XXResource.HP].Value.ToString(), Value = this.DodontoFPCData.Resources[(int)XXResource.MaxHP].Value.ToString() }, new UdonaCharacterData { Name = "侵蝕率", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)XXResource.Erosion].Value.ToString(), Value = "300" }, new UdonaCharacterData { Name = "ロイス", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)XXResource.Roice].Value.ToString(), Value = "7" } } }; result.Data.Add(resource); //能力値 var characterValues = new UdonaCharacterData { Name = "能力値" }; characterValues.Data = this.CharacterValues.Items.Select((v, i) => new UdonaCharacterData { Name = ((XXCharacterValueName)i).Name() + "値", Value = v.Value.ToString() } ).ToList(); result.Data.Add(characterValues); //ダイスロール var rolls = this.RollDices.Items.GroupBy(i => i.RollGroup); foreach (var group in rolls) { var abilities = new UdonaCharacterData { Name = $"{group.Key}判定" }; abilities.Data = group.Select(i => new UdonaCharacterData { Name = i.RollName, Value = $"{i.DiceNumber}DX{i.DiceBase}+{i.DiceConst}" } ).ToList(); result.Data.Add(abilities); } return(result); }
public UdonaCharacter MakeUdonaPCData(string addChatPalette) { var result = new UdonaCharacter(); result.Chatpalette.DiceBot = this.GetType().GetTrpgSystem().ToString(); result.Chatpalette.Value = MakeUdonaChatPalette(addChatPalette); result.Data.Data = new List <UdonaCharacterData>(); //イメージ //イメージを追加しない場合でも空を入れておく必要あり。 var images = this.DodontoFPCData.Images; var imgData = new UdonaCharacterData { Name = "image", Data = new List <UdonaCharacterData> { new UdonaCharacterData { Name = "imageIdentifier", Type = "image" } } }; var imagePath = ""; if (images.Items.CheckIndex(images.SelectedIndex)) { imagePath = this.DodontoFPCData.AbImages[this.DodontoFPCData.Images.SelectedIndex]; } imgData.Data[0].Value = imagePath; result.Data.Data.Add(imgData); //コモンデータ var commonData = new UdonaCharacterData { Name = "common", Data = new List <UdonaCharacterData> { new UdonaCharacterData { Name = "name", Value = this.Name }, new UdonaCharacterData { Name = "size", Value = this.DodontoFPCData.Size.ToString() }, //シートURLぶっこんでるけど、仕様外なのでエラーが出る可能性あり。 new UdonaCharacterData { Name = "url", Value = this.SheetUrl }, new UdonaCharacterData { Name = "説明", Type = "note", Value = "" }, new UdonaCharacterData { Name = "メモ", Type = "note", Value = "" } } }; result.Data.Data.Add(commonData); //詳細データ、各システムごとに変わる result.Data.Data.Add(this.MakeUdonaDetailData()); return(result); }
protected override UdonaCharacterData MakeUdonaDetailData() { var result = new UdonaCharacterData { Name = "detail" }; result.Data = new List <UdonaCharacterData>(); //リソース var resource = new UdonaCharacterData { Name = "リソース", Data = new List <UdonaCharacterData> { new UdonaCharacterData { Name = "HP", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)CoCResource.HP].Value.ToString(), Value = this.DodontoFPCData.Resources[(int)CoCResource.MaxHP].Value.ToString() }, new UdonaCharacterData { Name = "MP", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)CoCResource.MP].Value.ToString(), Value = this.DodontoFPCData.Resources[(int)CoCResource.MaxMP].Value.ToString() }, new UdonaCharacterData { Name = "SAN", Type = "numberResource", CurrentValue = this.DodontoFPCData.Resources[(int)CoCResource.SAN].Value.ToString(), Value = "100" } } }; result.Data.Add(resource); //能力値 var characterValues = new UdonaCharacterData { Name = "能力値" }; characterValues.Data = this.CharacterValues.Items.Select((v, i) => new UdonaCharacterData { Name = ((CoCCharacterValueName)i).ToString(), Value = v.Value.ToString() } ).ToList(); result.Data.Add(characterValues); //ダイスロール var rolls = this.RollDices.Items.GroupBy(i => i.RollGroup); foreach (var group in rolls) { var abilities = new UdonaCharacterData { Name = $"{group.Key}判定" }; abilities.Data = group.Select(i => new UdonaCharacterData { Name = i.RollName, Value = i.TargetValue.ToString() } ).ToList(); result.Data.Add(abilities); } return(result); }