示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }