public override void CheckNextLevel(AttackInformation atinf)
    {
        if (CurrentExperience >= NextLevelExperience)
        {
            //サウンドを鳴らす
            atinf.AddSound(SoundInformation.SoundType.Levelup);
            atinf.AddVoice(VoiceInformation.VoiceType.Levelup);

            atinf.AddMessage(
                string.Format(CommonConst.Message.LevelUpPlayer, DisplayNameInMessage));
            Level++;
            atinf.AddEffect(EffectFlareCore.CreateObject(this));
            TablePlayerLebel.SetLevel(this, Level);
        }
    }
    /// <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);
            }
        }
    }