public static Dictionary <Guid, RecipeInformation> GetValue(RecipeType type) { if (CommonFunction.IsNull(Result) == false) { return(Result); } //TableRecipeData[] datas = Array.FindAll(Table, i => i.RType == type); Result = new Dictionary <Guid, RecipeInformation>(); foreach (TableRecipeData d in Table) { RecipeInformation rec = new RecipeInformation(); //生成対象アイテムを取得 BaseItem item = TableItemIncidence.GetItemObjNo(d.IType, d.ObjNo, false); item.StrengthValue = d.Strength; rec.RecipeTargetName = item.DisplayNameNormal; rec.Weight = item.Weight; rec.RecipeTargetNo = d.ObjNo; rec.RecipeTargetType = d.IType; rec.Strength = d.Strength; TableRecipeMaterial.SetValue(rec, d.RecipeObjNo); Result.Add(rec.Name, rec); } return(Result); }
public static BaseItem ToBaseItem(SaveItemData d) { BaseItem t = TableItemIncidence.GetItemObjNo(d.it, d.on, false); QualifyInformation qi = TableQualify.GetValue(d.bnn); t.DisplayNameBeforeObjNo = qi.ObjNo; t.DisplayNameBefore = qi.Name; t.StrengthValue = d.sv; t.SortNo = d.sn; //t.IsBug = d.bb; t.IsEquip = d.be; if (t.IType == ItemType.Bag) { ((BagBase)t).MaxGap = d.cnt; } else if (t.IType == ItemType.Ball) { ((BallBase)t).RestCount = d.cnt; } //オプション if (CommonFunction.IsNull(d.ops) == false && d.ops.Length > 0) { List <BaseOption> ops = new List <BaseOption>(); foreach (SaveOptionData o in d.ops) { ops.Add(ToBaseOption(o)); } t.Options = ops; } return(t); }
private void Update() { if (this.isFading == true) { return; } if (Input.GetKeyDown(KeyControlInformation.Info.MenuOk) || (KeyControlInformation.Info.OnLeftClick() && CommonFunction.IsDoubleClick())) { TableItemIncidence.Destroy(); _manageFade.Wait = 0.6f; _manageFade.PlayFadeIn(true, 0.5f); StartCoroutine(TransSceneToNext("Scenes/GameSelect")); } }
/// <summary> /// アイテムを入れる /// </summary> public BaseItem PutinItem(int itype, BaseItem target, PlayerCharacter player) { //サウンドを鳴らす SoundInformation.Sound.Play(SoundInformation.SoundType.Putin); DisplayInformation.Info.AddMessage(string.Format(CommonConst.Message.PutinAction, target.DisplayNameInMessage, this.DisplayNameInMessage)); switch (BgType) { //保存 case BagType.Save: BagItems.Add(target); target.InDrive = this; return(target); break; //Recycle case BagType.Recycle: //ターゲットが別のバッグに入っていたら取り出しておく if (target.IsDrive == true) { BagBase bag = target.InDrive; bag.PutoutItem(target); } OtherBase d = TableOther.GetItem(CommonConst.ObjNo.Dollar); d.Initialize(); d.SellingPrice = target.SellingPrice; player.RecoverHp(999); EffectDamage dm = EffectDamage.CreateObject(player); dm.SetText("999", AttackState.Heal); dm.Play(); SoundInformation.Sound.Play(SoundInformation.SoundType.Recover); BagItems.Add(d); d.InDrive = this; return(d); break; //変化 case BagType.Change: //ターゲットが別のバッグに入っていたら取り出しておく if (target.IsDrive == true) { BagBase bag = target.InDrive; bag.PutoutItem(target); } //uintの乱数を取得 uint rand = CommonFunction.GetRandomUInt32(); BaseItem ch = TableItemIncidence.GetItem(itype, rand, true); if (CommonFunction.IsNull(ch) == true) { return(null); } int stopper = 0; while (ch.IType == ItemType.Bag || ch.IType == ItemType.Material) { if (stopper > 30) { return(null); } stopper++; rand = CommonFunction.GetRandomUInt32(); ch = TableItemIncidence.GetItem(itype, rand, true); } ch.IsAnalyse = DungeonInformation.Info.IsAnalyze == false; BagItems.Add(ch); ch.InDrive = this; //PlayerCharacter.RemoveItem(target); //player.AddItem(ch, DateTime.Now.Ticks); return(ch); break; //コロッケ case BagType.Food: //ターゲットが別のバッグに入っていたら取り出しておく if (target.IsDrive == true) { BagBase bag = target.InDrive; bag.PutoutItem(target); } BaseItem tar = TableItemIncidence.GetTypeItemRandom(itype, ItemType.Food, true); if (CommonFunction.IsNull(tar) == true) { return(null); } BagItems.Add(tar); tar.InDrive = this; //PlayerCharacter.RemoveItem(target); //player.AddItem(tar, DateTime.Now.Ticks); return(tar); break; //普通 case BagType.Normal: BagItems.Add(target); target.InDrive = this; return(target); break; } return(target); }
/// <summary> /// 調合処理 /// </summary> public BaseItem AtelierExecute(List <BaseItem> ItemSelected, BaseItem baseEquip = null) { //調合素材のオプションから対象とできるオプションを抜き出す List <BaseOption> options = new List <BaseOption>(); //ビフォアネームを抽出 string bname = ""; //強化値を抽出 int StrengthValue = 0; //鑑定済みかを抽出 bool isAnalyse = true; foreach (BaseItem i in ItemSelected) { //素材アイテムの持つオプションを抽出 if (CommonFunction.IsNull(i.Options) == false) { options.AddRange(i.Options); } //強化値を抽出 if (string.IsNullOrEmpty(i.DisplayNameBefore) == false && i.IType == RecipeTargetType) { bname = i.DisplayNameBefore; } if (StrengthValue < i.StrengthValue) { StrengthValue = i.StrengthValue; } if (i.IsAnalyse == false) { isAnalyse = false; } } if (string.IsNullOrEmpty(bname) == true && (RecipeTargetType == ItemType.Weapon || RecipeTargetType == ItemType.Shield)) { bname = "自作の"; } //調合アイテムを作成 BaseItem target = TableItemIncidence.GetItemObjNo(RecipeTargetType, RecipeTargetNo, false); //調合アイテムにbeforeName付与 target.DisplayNameBefore = bname; //調合アイテムに強化値を反映 if (this.IsStrength == true) { if (target.StrengthValue < StrengthValue) { target.StrengthValue = StrengthValue; } } //調合アイテムに鑑定フラグを付与 target.IsAnalyse = isAnalyse; if (isAnalyse == true) { target.ClearAnalyse(); } if (this.IsStrength == false) { if (target.StrengthValue < this.Strength) { target.StrengthValue = this.Strength; } } //ベースアイテムがある場合はベースアイテムの付加情報を反映 if (CommonFunction.IsNull(baseEquip) == false) { target.DisplayNameBefore = baseEquip.DisplayNameBefore; } //調合アイテムにそのまま反映できるオプションを抽出 target.Options = new List <BaseOption>(); foreach (BaseOption op in options.FindAll(o => o.TargetItemType == target.IType)) { BaseOption to = target.Options.Find(o => o.ObjNo == op.ObjNo && o.AbnormalStateTarget == op.AbnormalStateTarget); //同じオプションがすでに含まれていたらプラスの大きいほうを抽出 if (CommonFunction.IsNull(to) == false) { if (op.Plus < to.Plus) { op.Plus = to.Plus; } } else { target.Options.Add(op); } } //調合アイテムに反映できるかもしれないオプションを取得 List <BaseOption> tarOps = options.FindAll(o => o.TargetItemType == ItemType.Material); //可能性のオプションを調合アイテム用オプションに反映 foreach (BaseOption op in tarOps) { BaseOption newOpt = TableOptionCommon.GetValue(target.IType, op.OType, op.AbnormalStateTarget); if (CommonFunction.IsNull(newOpt) == false) { //同じオプションがすでに含まれていたらプラスの大きいほうを抽出 BaseOption containOpt = target.Options.Find(o => o.ObjNo == newOpt.ObjNo && o.AbnormalStateTarget == newOpt.AbnormalStateTarget); if (CommonFunction.IsNull(containOpt) == false) { if (containOpt.Plus < newOpt.Plus) { containOpt.Plus = newOpt.Plus; } } //含まれていなかったら追加 else { newOpt.Plus = op.Plus; target.Options.Add(newOpt); } } } return(target); }
/// <summary> /// キャラクターのステータス設定 /// </summary> public override void SetFirstStatus(SavePlayingInformation save) { base.SetFirstStatus(save); //基本ステータスの設定 TablePlayerLebel.SetLevelInitialize(this, save.lv); //保存データがある場合は保存データの読み込み //Hpの設定 MaxHpCorrection = save.mhc; CurrentHp = save.hv; //力の設定 PowerMax = save.pm; PowerValue = save.pv; //経験値の設定 CurrentExperience = save.ex; //満腹度の設定 SatietyReduce = CommonConst.Status.SatietyReduce; SatietyValue = save.sv; SatietyMax = save.sm; ItemMaxCount = PlayerInformation.Info.ItemMaxCount; //名前 DisplayName = save.pn; if (CommonFunction.IsNull(GameStateInformation.TempItemList) == false && GameStateInformation.TempItemList.Count > 0) { //アイテムリスト ItemList = GameStateInformation.TempItemList; GameStateInformation.TempItemList = null; } else { ItemList = new List <BaseItem>(); //大きいコロッケ BaseItem item = TableItemIncidence.GetItemObjNo(ItemType.Food, 23002, true); AddItem(item, item.ObjNo); } #if UNITY_EDITOR if (false) { //item = TableItemIncidence.GetItemObjNo(ItemType.Weapon, 20002, true); //item.StrengthValue = 1; //AddItem(item, item.ObjNo); BaseItem item = TableItemIncidence.GetItemObjNo(ItemType.Weapon, 20001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Weapon, 20002, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Weapon, 20003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Weapon, 20004, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Weapon, 20005, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Weapon, 20006, true); AddItem(item, item.ObjNo); BaseOption o = TableOptionCommon.GetValue(40001); item.Options.Add(o); o = TableOptionCommon.GetValue(40003); item.Options.Add(o); o = TableOptionCommon.GetValue(40005); item.Options.Add(o); o = TableOptionCommon.GetValue(40006); item.Options.Add(o); o = TableOptionCommon.GetValue(40007); item.Options.Add(o); o = TableOptionCommon.GetValue(40008); item.Options.Add(o); o = TableOptionCommon.GetValue(40070); item.Options.Add(o); o = TableOptionCommon.GetValue(40172); item.Options.Add(o); o = TableOptionCommon.GetValue(40173); item.Options.Add(o); o = TableOptionCommon.GetValue(40174); item.Options.Add(o); o = TableOptionCommon.GetValue(40016); item.Options.Add(o); o = TableOptionCommon.GetValue(40018); item.Options.Add(o); o = TableOptionCommon.GetValue(40019); item.Options.Add(o); o = TableOptionCommon.GetValue(40021); item.Options.Add(o); o = TableOptionCommon.GetValue(40023); item.Options.Add(o); o = TableOptionCommon.GetValue(40024); item.Options.Add(o); o = TableOptionCommon.GetValue(40028); item.Options.Add(o); o = TableOptionCommon.GetValue(40030); item.Options.Add(o); o = TableOptionCommon.GetValue(40031); item.Options.Add(o); o = TableOptionCommon.GetValue(40033); item.Options.Add(o); o = TableOptionCommon.GetValue(40034); item.Options.Add(o); o = TableOptionCommon.GetValue(40050); item.Options.Add(o); o = TableOptionCommon.GetValue(40051); item.Options.Add(o); o = TableOptionCommon.GetValue(40053); item.Options.Add(o); o = TableOptionCommon.GetValue(40054); item.Options.Add(o); o = TableOptionCommon.GetValue(40055); item.Options.Add(o); o = TableOptionCommon.GetValue(40055); item.Options.Add(o); o = TableOptionCommon.GetValue(40056); item.Options.Add(o); o = TableOptionCommon.GetValue(40058); item.Options.Add(o); o = TableOptionCommon.GetValue(40059); item.Options.Add(o); item = TableItemIncidence.GetItemObjNo(ItemType.Shield, 21001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Shield, 21002, true); AddItem(item, item.ObjNo); o = TableOptionCommon.GetValue(40175); item.Options.Add(o); o = TableOptionCommon.GetValue(40012); item.Options.Add(o); //o = TableOptionCommon.GetValue(40032); //((ShieldBase)item).Options.Add(o.Name, o); o = TableOptionCommon.GetValue(40037); item.Options.Add(o); o = TableOptionCommon.GetValue(40022); item.Options.Add(o); o = TableOptionCommon.GetValue(40047); item.Options.Add(o); o = TableOptionCommon.GetValue(40048); item.Options.Add(o); o = TableOptionCommon.GetValue(40052); item.Options.Add(o); ////o = TableOptionCommon.GetValue(40060); ////((ShieldBase)item).Options.Add(o.Name, o); //item = TableItemIncidence.GetItemObjNo(ItemType.Shield, 21003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Shield, 21004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Shield, 21005, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Shield, 21006, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Bag, 28001, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Bag, 28004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Bag, 28001, true); //AddItem(item, item.ObjNo); ////item = TableItemIncidence.GetItemObjNo(ItemType.Ring, 22017, true); ////AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30009, true); //item.StrengthValue = 5; //AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30001, true); AddItem(item, item.ObjNo); o = TableOptionCommon.GetValue(40178); item.Options.Add(o); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30002, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30002, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30002, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30002, true); AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30003, true); //AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30004, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30004, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30004, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30004, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Material, 30005, true); AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Food, 23001, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Food, 23002, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Food, 23003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Food, 23004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Ball, 25011, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Ball, 25012, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Ball, 25013, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Ball, 25014, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Ring, 22019, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24013, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24014, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24015, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24016, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24017, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26007, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26008, true); //AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Bag, 28001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Bag, 28002, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Bag, 28003, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Bag, 28005, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Ball, 25006, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Ball, 25007, true); AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24005, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24006, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24007, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24008, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24009, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24010, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Candy, 24008, true); //AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26001, true); AddItem(item, item.ObjNo); item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26001, true); AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26002, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26003, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26004, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Melody, 26005, true); //AddItem(item, item.ObjNo); //item = TableItemIncidence.GetItemObjNo(ItemType.Ball, 25009); //AddItem(item, item.ObjNo); } #endif if (save.IsLoadSave == true) { //状態異常 this.AddForceStateAbnormal(save.asn); //装備の反映 List <BaseItem> eq = ItemList.FindAll(i => i.IsEquip == true); foreach (BaseItem i in eq) { i.ForceEquip(this); } } }