private bool LoadDigimonNotCharaParams(string monsterGroupId, AdventureDigimonInfo digimonInfo)
        {
            bool result = true;

            try
            {
                MonsterClientMaster monsterMasterByMonsterGroupId = MonsterMaster.GetMonsterMasterByMonsterGroupId(monsterGroupId);
                string     modelId    = monsterMasterByMonsterGroupId.Group.modelId;
                string     filePath   = MonsterObject.GetFilePath(modelId);
                GameObject original   = AssetDataMng.Instance().LoadObject(filePath, null, true) as GameObject;
                GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(original);
                gameObject.name             = "Digimon_" + monsterGroupId;
                gameObject.transform.parent = ClassSingleton <AdventureSceneData> .Instance.scriptObjectRoot.transform;
                gameObject.SetActive(false);
                digimonInfo.model = gameObject;
                CharacterParams component = gameObject.GetComponent <CharacterParams>();
                UnityEngine.Object.Destroy(component);
                CapsuleCollider component2 = gameObject.GetComponent <CapsuleCollider>();
                UnityEngine.Object.Destroy(component2);
                Transform transform = gameObject.transform;
                for (int i = 0; i < transform.childCount; i++)
                {
                    Animation component3 = transform.GetChild(i).GetComponent <Animation>();
                    UnityEngine.Object.Destroy(component3);
                }
            }
            catch
            {
                result = false;
            }
            return(result);
        }
Esempio n. 2
0
        private void CreateRouteList(string monsterId, string growStep)
        {
            this.beforeRouteList.Clear();
            this.afterRouteList.Clear();
            List <GameWebAPI.RespDataMA_GetMonsterEvolutionM.Evolution> list = ClassSingleton <EvolutionData> .Instance.GetBeforeMonsterEvolutionList(monsterId, growStep);

            for (int i = 0; i < list.Count; i++)
            {
                MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(list[i].baseMonsterId);
                if (monsterMasterByMonsterId != null)
                {
                    this.AddMonsterData(monsterMasterByMonsterId, this.beforeRouteList);
                }
            }
            list = ClassSingleton <EvolutionData> .Instance.GetAfterMonsterEvolutionList(monsterId, growStep);

            for (int j = 0; j < list.Count; j++)
            {
                MonsterClientMaster monsterMasterByMonsterId2 = MonsterMaster.GetMonsterMasterByMonsterId(list[j].nextMonsterId);
                if (monsterMasterByMonsterId2 != null)
                {
                    this.AddMonsterData(monsterMasterByMonsterId2, this.afterRouteList);
                }
            }
        }
Esempio n. 3
0
    private void OpenConfirmMedalInheritance()
    {
        MonsterAbilityStatusInfo monsterAbilityStatusInfo = ClassSingleton <AbilityData> .Instance.CreateAbilityStatus(this.baseDigimon, this.partnerDigimon);

        MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(this.baseDigimon.userMonster.monsterId);
        int goldMedalMaxNum = MonsterArousalData.GetGoldMedalMaxNum(monsterMasterByMonsterId.Simple.rare);
        List <AbilityData.GoldMedalInheritanceState> goldMedalInheritanceList = ClassSingleton <AbilityData> .Instance.GetGoldMedalInheritanceList(this.baseDigimon.userMonster, this.partnerDigimon.userMonster);

        ClassSingleton <AbilityData> .Instance.AdjustMedalInheritanceRate(monsterAbilityStatusInfo, goldMedalInheritanceList, goldMedalMaxNum);

        int countInheritanceGoldMedal = ClassSingleton <AbilityData> .Instance.GetCountInheritanceGoldMedal(goldMedalInheritanceList);

        bool             hasGoldOver      = goldMedalMaxNum < countInheritanceGoldMedal;
        CMD_AbilityModal cmd_AbilityModal = GUIMain.ShowCommonDialog(null, "CMD_AbilityModal", null) as CMD_AbilityModal;

        cmd_AbilityModal.SetRemovePartnerEquipChip(this.partnerDigimon);
        cmd_AbilityModal.SetAnyNotUpdate(monsterAbilityStatusInfo);
        cmd_AbilityModal.SetHasGoldOver(hasGoldOver, goldMedalMaxNum);
        cmd_AbilityModal.SetStatus(monsterAbilityStatusInfo);
        cmd_AbilityModal.SetMonsterIcon(this.baseDigimon);
        cmd_AbilityModal.SetActionYesButton(delegate
        {
            RestrictionInput.StartLoad(RestrictionInput.LoadType.LARGE_IMAGE_MASK_ON);
            DataMng.Instance().CheckCampaign(new Action <int>(this.DoExec), new GameWebAPI.RespDataCP_Campaign.CampaignType[]
            {
                GameWebAPI.RespDataCP_Campaign.CampaignType.MedalTakeOverUp
            });
        });
    }
        public void SetEggStatus(MonsterData monsterData)
        {
            this.chipBaseSelect.SetSelectedCharChg(monsterData);
            string eggName = StringMaster.GetString("CharaStatus-06");
            int    num     = MasterDataMng.Instance().RespDataMA_MonsterEvolutionRouteM.monsterEvolutionRouteM.Length;

            for (int i = 0; i < num; i++)
            {
                GameWebAPI.RespDataMA_GetMonsterEvolutionRouteM.MonsterEvolutionRouteM monsterEvolutionRouteM = MasterDataMng.Instance().RespDataMA_MonsterEvolutionRouteM.monsterEvolutionRouteM[i];
                if (monsterEvolutionRouteM.monsterEvolutionRouteId == monsterData.userMonster.monsterEvolutionRouteId)
                {
                    GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterGroupId(monsterEvolutionRouteM.eggMonsterId).Group;
                    if (group != null)
                    {
                        eggName = group.monsterName;
                    }
                }
            }
            if (!MonsterStatusData.IsVersionUp(monsterData.GetMonsterMaster().Simple.rare))
            {
                this.skillInfo.ClearSkill();
            }
            else
            {
                this.extraSkillInfo.ClearSkill();
            }
            this.basicInfo.SetEggData(eggName, monsterData.monsterM.rare);
            this.statusList.ClearEggCandidateMedalValues();
            this.changeValueList.SetEggStatusValues();
            this.resistanceList.ClearValues();
            this.medalList.SetValues(monsterData.userMonster);
        }
        public void SetViewNextEvolutionMonster(string monsterId, GameWebAPI.RespDataUS_GetMonsterList.UserMonsterList userMonster)
        {
            GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(monsterId).Simple;
            GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group  = MonsterMaster.GetMonsterMasterByMonsterGroupId(simple.monsterGroupId).Group;
            DataMng.ExperienceInfo experienceInfo = DataMng.Instance().GetExperienceInfo(0);
            MonsterData            monsterData    = new MonsterData(new GameWebAPI.RespDataUS_GetMonsterList.UserMonsterList(userMonster)
            {
                monsterId   = monsterId,
                level       = "1",
                ex          = "0",
                levelEx     = "0",
                nextLevelEx = experienceInfo.expLevNext.ToString()
            });

            if (!string.IsNullOrEmpty(group.leaderSkillId) && "0" != group.leaderSkillId)
            {
                monsterData.userMonster.leaderSkillId = group.leaderSkillId;
                monsterData.InitSkillInfo();
            }
            StatusValue statusValue = MonsterStatusData.GetStatusValue(monsterId, "1");

            statusValue.luck = int.Parse(userMonster.luck);
            monsterData.SetStatus(statusValue);
            CMD_CharacterDetailed.DataChg = monsterData;
            GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM resistanceMaster = MonsterResistanceData.GetResistanceMaster(monsterData.monsterM.resistanceId);
            bool active = this.AnyMatchStrongResistance(resistanceMaster, userMonster.tranceResistance, userMonster.tranceStatusAilment);

            this.nextMonsterResistanceAlert.gameObject.SetActive(active);
        }
Esempio n. 6
0
        public static int CalcClusterForModeChange(string monsterId)
        {
            GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterId(monsterId).Group;
            int num      = 0;
            int num2     = 0;
            int growStep = group.growStep.ToInt32();

            if (MonsterGrowStepData.IsRipeScope(growStep))
            {
                num = ConstValue.MODE_CHANGE_COEFFICIENT_FOR_5;
            }
            else if (MonsterGrowStepData.IsPerfectScope(growStep))
            {
                num = ConstValue.MODE_CHANGE_COEFFICIENT_FOR_6;
            }
            else if (MonsterGrowStepData.IsUltimateScope(growStep))
            {
                num = ConstValue.MODE_CHANGE_COEFFICIENT_FOR_7;
            }
            else
            {
                Debug.Log("growStepの値が不正です");
            }
            GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(monsterId).Simple;
            int arousal = simple.GetArousal();

            if (arousal >= 0 && arousal < ConstValue.MODE_CHANGE_COEFFICIENT_RARE.Length)
            {
                num2 = ConstValue.MODE_CHANGE_COEFFICIENT_RARE[arousal];
            }
            return(num2 * num);
        }
Esempio n. 7
0
    public static int GetExtraEffectCorrectionValue(int areaId, List <ExtraEffectStatus> extraEffectStatusList, int baseValue, MonsterData[] chipPlayers, MonsterData[] chipEnemys, MonsterData chipTarget, AffectEffectProperty affectEffectProperty, EffectStatusBase.ExtraEffectType effectType)
    {
        List <ExtraEffectStatus> list = ChipEffectStatus.CheckStageEffectInvalid(areaId, extraEffectStatusList, chipPlayers, chipEnemys, chipTarget);

        if (list.Count == 0)
        {
            return(baseValue);
        }
        bool flag = chipEnemys.Where((MonsterData item) => item.userMonster.userMonsterId == chipTarget.userMonster.userMonsterId).Any <MonsterData>();

        GameWebAPI.RespDataMA_GetMonsterMG.MonsterM         group = MonsterMaster.GetMonsterMasterByMonsterGroupId(chipTarget.monsterM.monsterGroupId).Group;
        GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster responseMonsterIntegrationGroupMaster = MasterDataMng.Instance().ResponseMonsterIntegrationGroupMaster;
        GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup[] source      = responseMonsterIntegrationGroupMaster.monsterIntegrationGroupM.Where((GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup item) => item.monsterId == chipTarget.monsterM.monsterId).ToArray <GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup>();
        string[] monsterIntegrationIds = source.Select((GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup item) => item.monsterIntegrationId).ToArray <string>();
        GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM        resistanceMaster     = MonsterResistanceData.GetResistanceMaster(chipTarget.monsterM.resistanceId);
        List <GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM> uniqueResistanceList = MonsterResistanceData.GetUniqueResistanceList(chipTarget.GetResistanceIdList());

        GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM data = MonsterResistanceData.AddResistanceFromMultipleTranceData(resistanceMaster, uniqueResistanceList);
        Tolerance tolerance = ServerToBattleUtility.ResistanceToTolerance(data);
        GrowStep  growStep  = MonsterGrowStepData.ToGrowStep(group.growStep);
        List <ExtraEffectStatus> totalExtraEffectStatusList = ExtraEffectStatus.GetTotalExtraEffectStatusList(list, monsterIntegrationIds, chipTarget.monsterM.monsterGroupId, tolerance, group.tribe, growStep, affectEffectProperty, null, (!flag) ? ExtraEffectStatus.ExtraTargetType.Player : ExtraEffectStatus.ExtraTargetType.Enemy, effectType);

        if (totalExtraEffectStatusList.Count > 0)
        {
            return((int)ExtraEffectStatus.GetCorrectionValue((float)baseValue, totalExtraEffectStatusList));
        }
        return(baseValue);
    }
    private string GetPresentName(GameWebAPI.RespDataMA_GetAssetCategoryM.AssetCategoryM masterAssetCategory, string objectId)
    {
        string result = StringMaster.GetString("Present-10");

        if (masterAssetCategory != null)
        {
            result = masterAssetCategory.assetTitle;
        }
        MasterDataMng.AssetCategory assetCategory = (MasterDataMng.AssetCategory)masterAssetCategory.assetCategoryId.ToInt32();
        switch (assetCategory)
        {
        case MasterDataMng.AssetCategory.FACILITY_KEY:
        {
            FacilityKeyM facilityKeyMaster = FarmDataManager.GetFacilityKeyMaster(objectId);
            if (facilityKeyMaster != null)
            {
                result = facilityKeyMaster.facilityKeyName;
            }
            break;
        }

        default:
            if (assetCategory != MasterDataMng.AssetCategory.MONSTER)
            {
                if (assetCategory == MasterDataMng.AssetCategory.ITEM)
                {
                    GameWebAPI.RespDataMA_GetItemM.ItemM itemM = MasterDataMng.Instance().RespDataMA_ItemM.GetItemM(objectId);
                    if (itemM != null)
                    {
                        result = itemM.name;
                    }
                }
            }
            else
            {
                GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(objectId).Simple;
                if (simple != null)
                {
                    GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterGroupId(simple.monsterGroupId).Group;
                    if (group != null)
                    {
                        result = group.monsterName;
                    }
                }
            }
            break;

        case MasterDataMng.AssetCategory.DUNGEON_TICKET:
        {
            GameWebAPI.RespDataMA_DungeonTicketMaster.DungeonTicketM dungeonTicketM = MasterDataMng.Instance().RespDataMA_DungeonTicketMaster.dungeonTicketM.FirstOrDefault((GameWebAPI.RespDataMA_DungeonTicketMaster.DungeonTicketM x) => objectId == x.dungeonTicketId);
            if (dungeonTicketM != null)
            {
                result = dungeonTicketM.name;
            }
            break;
        }
        }
        return(result);
    }
Esempio n. 9
0
        private void CreateMasterDataCache()
        {
            MonsterMaster.Initialize();
            MonsterSkillData.Initialize();
            ClassSingleton <EvolutionData> .Instance.Initialize();

            VersionUpMaterialData.Initialize();
            MonsterFriendshipData.Initialize();
            MonsterGrowStepData.Initialize();
            MonsterTribeData.Initialize();
        }
 public void Initialize(GameWebAPI.RespDataUS_GetMonsterList.UserMonsterList userMonster, int defaultLevel)
 {
     this.userMonster  = userMonster;
     this.defaultLevel = defaultLevel;
     if (this.levelLabel != null)
     {
         MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(this.userMonster.monsterId);
         this.levelLabel.text = string.Format(StringMaster.GetString("SystemFraction"), this.defaultLevel.ToString(), monsterMasterByMonsterId.Simple.maxLevel);
     }
     this.displayLevel = defaultLevel;
     this.HideDifference();
 }
Esempio n. 11
0
    private void SetDetails()
    {
        string groupId = this.monsterInfos[this.selectedIndex].groupId;

        GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterGroupId(groupId).Group;
        this.nameLabel.text   = group.monsterName;
        this.detailLabel.text = group.description;
        this.line.SetActive(true);
        this.GetLeftDigimonTransform().localPosition             = this.circleTrans.localPosition - Vector3.right * 5f;
        this.monsterTransforms[this.selectedIndex].localPosition = this.circleTrans.localPosition;
        this.GetRightDigimonTransform().localPosition            = this.circleTrans.localPosition + Vector3.right * 5f;
    }
        private bool LoadDigimon(string monsterGroupId, AdventureDigimonInfo digimonInfo)
        {
            bool result = true;

            try
            {
                MonsterClientMaster monsterMasterByMonsterGroupId = MonsterMaster.GetMonsterMasterByMonsterGroupId(monsterGroupId);
                string     modelId    = monsterMasterByMonsterGroupId.Group.modelId;
                string     path       = MonsterObject.GetFilePath(modelId);
                GameObject original   = AssetDataMng.Instance().LoadObject(path, null, true) as GameObject;
                GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(original);
                gameObject.name             = "Digimon_" + monsterGroupId;
                gameObject.transform.parent = ClassSingleton <AdventureSceneData> .Instance.scriptObjectRoot.transform;
                gameObject.SetActive(false);
                digimonInfo.model = gameObject;
                List <GameWebAPI.RespDataMA_GetSkillM.SkillM> list;
                if (!this.LoadUniqueSkill(monsterGroupId, out list))
                {
                    throw new Exception("Error : 固有スキルの読み込みに失敗");
                }
                for (int i = 0; i < list.Count; i++)
                {
                    int num  = list[i].skillGroupSubId.ToInt32();
                    int num2 = num - 1;
                    path                        = CommonResourcesDataMng.Instance().GetUniqueSkillPrefabPathByAttackEffectId(list[i].attackEffect);
                    original                    = (AssetDataMng.Instance().LoadObject(path, null, true) as GameObject);
                    gameObject                  = UnityEngine.Object.Instantiate <GameObject>(original);
                    gameObject.name             = "SkillEffect_" + list[i].attackEffect;
                    gameObject.transform.parent = ClassSingleton <AdventureSceneData> .Instance.scriptObjectRoot.transform;
                    gameObject.SetActive(false);
                    digimonInfo.skillEffectList[num2] = gameObject;
                    InvocationEffectParams component = gameObject.GetComponent <InvocationEffectParams>();
                    path                        = CommonResourcesDataMng.Instance().GetCameraMotionPrefabPathByCameraId(component.cameraMotionId);
                    original                    = (AssetDataMng.Instance().LoadObject(path, null, true) as GameObject);
                    gameObject                  = UnityEngine.Object.Instantiate <GameObject>(original);
                    gameObject.name             = "CameraAnime_" + component.cameraMotionId;
                    gameObject.transform.parent = ClassSingleton <AdventureSceneData> .Instance.scriptObjectRoot.transform;
                    gameObject.SetActive(false);
                    digimonInfo.skillCameraAnimation[num2] = gameObject;
                    digimonInfo.skillEffectSeList[num2]    = list[i].soundEffect;
                }
            }
            catch
            {
                result = false;
                digimonInfo.Delete();
            }
            return(result);
        }
Esempio n. 13
0
        private bool SetMonsterIcon(string assetsValue, Transform parent, int iconSize, int depth, int monsterIconOption)
        {
            bool result = false;
            MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(assetsValue);

            if (monsterMasterByMonsterId != null)
            {
                MonsterIcon monsterIcon = MonsterIconFactory.CreateIcon(monsterIconOption);
                if (monsterIcon != null)
                {
                    monsterIcon.Initialize(parent, iconSize, depth);
                    monsterIcon.Message.SetSortTextColor(Color.white);
                    monsterIcon.SetMonsterImage(monsterMasterByMonsterId);
                    result = true;
                }
            }
            return(result);
        }
    public void SetBossDetails(int monsterId, int resistanceId)
    {
        GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(monsterId.ToString()).Simple;
        GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group  = MonsterMaster.GetMonsterMasterByMonsterGroupId(simple.monsterGroupId).Group;
        this.digimonNameLabel.text = group.monsterName;
        this.tribeLabel.text       = MonsterTribeData.GetTribeName(group.tribe);
        this.growStepLabel.text    = MonsterGrowStepData.GetGrowStepName(group.growStep);
        GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM monsterResistanceM = null;
        string b = resistanceId.ToString();

        GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM[] monsterResistanceM2 = MasterDataMng.Instance().RespDataMA_MonsterResistanceM.monsterResistanceM;
        for (int i = 0; i < monsterResistanceM2.Length; i++)
        {
            if (monsterResistanceM2[i].monsterResistanceId == b)
            {
                monsterResistanceM = monsterResistanceM2[i];
                break;
            }
        }
        this.monsterResistanceList.SetValues(monsterResistanceM);
        this.monsterInvalidResistanceList.SetInvalid(monsterResistanceM);
    }
 public void SetValues(MonsterData monsterData, bool setBaseStatus = false, bool showMaxLuck = false)
 {
     if (!setBaseStatus)
     {
         this.hpLabel.text           = monsterData.userMonster.hp;
         this.attackLabel.text       = monsterData.userMonster.attack;
         this.defenseLabel.text      = monsterData.userMonster.defense;
         this.magicAttackLabel.text  = monsterData.userMonster.spAttack;
         this.magicDefenceLabel.text = monsterData.userMonster.spDefense;
         this.speedLabel.text        = monsterData.userMonster.speed;
     }
     else
     {
         StatusValue statusValue = MonsterStatusData.GetStatusValue(monsterData.userMonster.monsterId, monsterData.userMonster.level);
         this.hpLabel.text           = statusValue.hp.ToString();
         this.attackLabel.text       = statusValue.attack.ToString();
         this.defenseLabel.text      = statusValue.defense.ToString();
         this.magicAttackLabel.text  = statusValue.magicAttack.ToString();
         this.magicDefenceLabel.text = statusValue.magicDefense.ToString();
         this.speedLabel.text        = statusValue.speed.ToString();
     }
     GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(monsterData.userMonster.monsterId).Simple;
     if (showMaxLuck)
     {
         this.luckLabel.text = string.Format(StringMaster.GetString("SystemFraction"), monsterData.userMonster.luck, simple.maxLuck);
     }
     else
     {
         this.luckLabel.text = monsterData.userMonster.luck.ToString();
     }
     if (!this.disableFriendshipMaxValue)
     {
         this.friendshipLabel.text = MonsterFriendshipData.GetMaxFriendshipFormat(monsterData.userMonster.friendship, monsterData.monsterMG.growStep);
     }
     else
     {
         this.friendshipLabel.text = monsterData.userMonster.friendship;
     }
 }
Esempio n. 16
0
    public void SetBossInfo(GameWebAPI.RespDataWD_GetDungeonInfo.EncountEnemy enemy)
    {
        this.bossInfo = enemy;
        string text = enemy.monsterId.ToString();

        GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(text).Simple;
        if (simple != null)
        {
            text = simple.monsterGroupId;
            GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterGroupId(text).Group;
            if (group != null)
            {
                this.monsterIcon.gameObject.SetActive(true);
                this.monsterIcon.SetImage(simple.iconId, group.growStep);
                UIWidget component = this.monsterIcon.GetComponent <UIWidget>();
                if (null != component)
                {
                    this.monsterIcon.SetSize(component.width, component.height);
                }
            }
        }
    }
Esempio n. 17
0
    public void SetChangeData(string monsterId, string friendship)
    {
        StatusValue         values    = this.monsterStatusList.GetValues();
        int                 num       = values.friendship / ConstValue.RIZE_CONDITION_FRENDSHIPSTATUS;
        int                 num2      = friendship.ToInt32();
        int                 num3      = num2 / ConstValue.RIZE_CONDITION_FRENDSHIPSTATUS;
        int                 bonusStep = num - num3;
        MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(monsterId);
        StatusValue         friendshipBonusValue     = MonsterFriendshipData.GetFriendshipBonusValue(monsterMasterByMonsterId.Simple, bonusStep);
        StatusValue         beforeStatus             = new StatusValue
        {
            hp           = values.hp - friendshipBonusValue.hp,
            attack       = values.attack - friendshipBonusValue.attack,
            defense      = values.defense - friendshipBonusValue.defense,
            magicAttack  = values.magicAttack - friendshipBonusValue.magicAttack,
            magicDefense = values.magicDefense - friendshipBonusValue.magicDefense,
            speed        = values.speed - friendshipBonusValue.speed,
            luck         = values.luck,
            friendship   = num2
        };

        this.monsterStatusChangeValueList.SetValues(beforeStatus, values);
    }
 private void ShowDetail()
 {
     if (!this.data.userMonster.IsEgg())
     {
         this.ngTX_NAME.text  = this.data.monsterMG.monsterName;
         this.ngTX_GRADE.text = MonsterGrowStepData.GetGrowStepName(this.data.monsterMG.growStep);
         if (CMD_DigiGarden.instance != null && CMD_DigiGarden.instance.IsOfflineModeFlag)
         {
             this.ngTX_EXP.text = StringMaster.GetString("Garden-13");
         }
     }
     else
     {
         string text = StringMaster.GetString("CharaStatus-06");
         foreach (GameWebAPI.RespDataMA_GetMonsterEvolutionRouteM.MonsterEvolutionRouteM monsterEvolutionRouteM2 in MasterDataMng.Instance().RespDataMA_MonsterEvolutionRouteM.monsterEvolutionRouteM)
         {
             if (monsterEvolutionRouteM2.monsterEvolutionRouteId == this.data.userMonster.monsterEvolutionRouteId)
             {
                 MonsterClientMaster monsterMasterByMonsterGroupId = MonsterMaster.GetMonsterMasterByMonsterGroupId(monsterEvolutionRouteM2.eggMonsterId);
                 text = monsterMasterByMonsterGroupId.Group.monsterName;
             }
         }
         this.ngTX_NAME.text  = text;
         this.ngTX_GRADE.text = StringMaster.GetString("CharaStatus-04");
         this.ngTX_EXP.text   = StringMaster.GetString("Garden-08");
         this.canEvolveParticle.SetActive(true);
     }
     if (this.data.userMonster.IsEgg())
     {
         this.ngTX_BTN.text = StringMaster.GetString("Garden-12");
     }
     else
     {
         this.ngTX_BTN.text = StringMaster.GetString("EvolutionTitle");
     }
 }
    public static List <ExtraEffectStatus> CheckStageEffectInvalid(int areaId, List <ExtraEffectStatus> extraEffectStatusList, MonsterData[] chipPlayers, MonsterData[] chipEnemys, MonsterData chipTarget)
    {
        List <ExtraEffectStatus> list = new List <ExtraEffectStatus>();
        bool flag = chipEnemys.Where((MonsterData item) => item.userMonster.userMonsterId == chipTarget.userMonster.userMonsterId).Any <MonsterData>();

        GameWebAPI.RespDataMA_GetMonsterMG.MonsterM         group = MonsterMaster.GetMonsterMasterByMonsterGroupId(chipTarget.monsterM.monsterGroupId).Group;
        GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster responseMonsterIntegrationGroupMaster = MasterDataMng.Instance().ResponseMonsterIntegrationGroupMaster;
        GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup[] source      = responseMonsterIntegrationGroupMaster.monsterIntegrationGroupM.Where((GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup item) => item.monsterId == chipTarget.monsterM.monsterId).ToArray <GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup>();
        string[] monsterIntegrationIds = source.Select((GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup item) => item.monsterIntegrationId).ToArray <string>();
        GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM        resistanceMaster     = MonsterResistanceData.GetResistanceMaster(chipTarget.monsterM.resistanceId);
        List <GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM> uniqueResistanceList = MonsterResistanceData.GetUniqueResistanceList(chipTarget.GetResistanceIdList());

        GameWebAPI.RespDataMA_GetMonsterResistanceM.MonsterResistanceM data = MonsterResistanceData.AddResistanceFromMultipleTranceData(resistanceMaster, uniqueResistanceList);
        Tolerance tolerance = ServerToBattleUtility.ResistanceToTolerance(data);
        GrowStep  growStep  = MonsterGrowStepData.ToGrowStep(group.growStep);

        foreach (ExtraEffectStatus extraEffectStatus in extraEffectStatusList)
        {
            bool flag2 = true;
            for (int i = 0; i < chipPlayers.Length; i++)
            {
                MonsterData chipActer = chipPlayers[i];
                if (chipActer != null)
                {
                    ChipEffectStatus.TargetType targetType;
                    if (chipActer.userMonster.userMonsterId == chipTarget.userMonster.userMonsterId)
                    {
                        targetType = ChipEffectStatus.TargetType.Actor;
                    }
                    else if (!chipEnemys.Where((MonsterData item) => item.userMonster.userMonsterId == chipActer.userMonster.userMonsterId).Any <MonsterData>())
                    {
                        if (!flag)
                        {
                            targetType = ChipEffectStatus.TargetType.Player;
                        }
                        else
                        {
                            targetType = ChipEffectStatus.TargetType.Enemy;
                        }
                    }
                    else if (flag)
                    {
                        targetType = ChipEffectStatus.TargetType.Player;
                    }
                    else
                    {
                        targetType = ChipEffectStatus.TargetType.Enemy;
                    }
                    foreach (int num in chipActer.GetChipEquip().GetChipIdList())
                    {
                        GameWebAPI.RespDataMA_ChipEffectM.ChipEffect[] array = ChipDataMng.GetChipEffectData(num.ToString());
                        array = ChipEffectStatus.GetStageEffectInvalidList(areaId, array, extraEffectStatus).ToArray();
                        if (array.Length > 0)
                        {
                            List <GameWebAPI.RespDataMA_ChipEffectM.ChipEffect> totalChipEffectStatusList = ChipEffectStatus.GetTotalChipEffectStatusList(array, flag, monsterIntegrationIds, chipTarget.monsterM.monsterGroupId, tolerance, group.tribe, growStep, null, null, targetType, EffectStatusBase.ExtraEffectType.StageEffextInvalid);
                            if (totalChipEffectStatusList.Count > 0)
                            {
                                flag2 = false;
                                break;
                            }
                        }
                    }
                }
            }
            if (flag2)
            {
                list.Add(extraEffectStatus);
            }
        }
        return(list);
    }
Esempio n. 20
0
        private static string GetAssetValueName(int assetCategoryId, string assetValue)
        {
            string result = string.Empty;

            switch (assetCategoryId)
            {
            case 14:
            {
                GameWebAPI.RespDataMA_GetSoulM.SoulM soulMasterBySoulId = VersionUpMaterialData.GetSoulMasterBySoulId(assetValue);
                if (soulMasterBySoulId != null)
                {
                    result = soulMasterBySoulId.soulName;
                }
                break;
            }

            default:
                if (assetCategoryId != 1)
                {
                    if (assetCategoryId == 6)
                    {
                        GameWebAPI.RespDataMA_GetItemM.ItemM itemM = MasterDataMng.Instance().RespDataMA_ItemM.GetItemM(assetValue);
                        if (itemM != null)
                        {
                            result = itemM.name;
                        }
                    }
                }
                else
                {
                    GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(assetValue).Simple;
                    if (simple != null)
                    {
                        GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterGroupId(simple.monsterGroupId).Group;
                        if (group != null)
                        {
                            result = group.monsterName;
                        }
                    }
                }
                break;

            case 16:
            {
                FacilityKeyM facilityKeyMaster = FarmDataManager.GetFacilityKeyMaster(assetValue);
                if (facilityKeyMaster != null)
                {
                    result = facilityKeyMaster.facilityKeyName;
                }
                break;
            }

            case 17:
            {
                int chipId = int.Parse(assetValue);
                GameWebAPI.RespDataMA_ChipM.Chip chipMaster = ChipDataMng.GetChipMaster(chipId);
                if (chipMaster != null)
                {
                    result = chipMaster.name;
                }
                break;
            }

            case 18:
            {
                GameWebAPI.RespDataMA_DungeonTicketMaster.DungeonTicketM dungeonTicketM = MasterDataMng.Instance().RespDataMA_DungeonTicketMaster.dungeonTicketM.FirstOrDefault((GameWebAPI.RespDataMA_DungeonTicketMaster.DungeonTicketM x) => assetValue == x.dungeonTicketId);
                if (dungeonTicketM != null)
                {
                    result = dungeonTicketM.name;
                }
                break;
            }

            case 19:
            {
                GameWebAPI.RespDataMA_TitleMaster.TitleM titleM = TitleDataMng.GetDictionaryTitleM()[int.Parse(assetValue)];
                if (titleM != null)
                {
                    result = titleM.name;
                }
                break;
            }
            }
            return(result);
        }
    private void DisplayDifference()
    {
        bool flag = false;
        MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(this.userMonster.monsterId);

        if (this.levelUpLabel != null)
        {
            string text = string.Empty;
            if (this.displayLevel > this.defaultLevel)
            {
                text = string.Format(StringMaster.GetString("SystemFraction"), this.displayLevel.ToString(), monsterMasterByMonsterId.Simple.maxLevel);
            }
            this.levelUpLabel.text = text;
            flag = true;
        }
        int         bonusStep            = int.Parse(this.userMonster.friendship) / ConstValue.RIZE_CONDITION_FRENDSHIPSTATUS;
        StatusValue friendshipBonusValue = MonsterFriendshipData.GetFriendshipBonusValue(monsterMasterByMonsterId.Simple, bonusStep);
        StatusValue statusValue          = MonsterStatusData.GetStatusValue(this.userMonster.monsterId, this.displayLevel.ToString());
        StatusValue statusValue2         = MonsterStatusData.GetStatusValue(this.userMonster.monsterId, this.userMonster.level);

        if (this.hpUpLabel != null)
        {
            float num  = 0f;
            float num2 = 0f;
            int   num3 = 0;
            if (int.TryParse(this.userMonster.hpAbility, out num3))
            {
                num  = Mathf.Floor((float)statusValue.hp * (float)num3 / 100f);
                num2 = Mathf.Floor((float)statusValue2.hp * (float)num3 / 100f);
            }
            int num4 = int.Parse(this.userMonster.hp) - (statusValue2.hp + friendshipBonusValue.hp + (int)num2);
            this.hpUpLabel.text = this.GetTextStatusUpValue(this.userMonster.hp, statusValue.hp + friendshipBonusValue.hp + (int)num + num4);
            flag = true;
        }
        if (this.atkUpLabel != null)
        {
            float num5 = 0f;
            float num6 = 0f;
            int   num7 = 0;
            if (int.TryParse(this.userMonster.attackAbility, out num7))
            {
                num5 = Mathf.Floor((float)statusValue.attack * (float)num7 / 100f);
                num6 = Mathf.Floor((float)statusValue2.attack * (float)num7 / 100f);
            }
            int num8 = int.Parse(this.userMonster.attack) - (statusValue2.attack + friendshipBonusValue.attack + (int)num6);
            this.atkUpLabel.text = this.GetTextStatusUpValue(this.userMonster.attack, statusValue.attack + friendshipBonusValue.attack + (int)num5 + num8);
            flag = true;
        }
        if (this.defUpLabel != null)
        {
            float num9  = 0f;
            float num10 = 0f;
            int   num11 = 0;
            if (int.TryParse(this.userMonster.defenseAbility, out num11))
            {
                num9  = Mathf.Floor((float)statusValue.defense * (float)num11 / 100f);
                num10 = Mathf.Floor((float)statusValue2.defense * (float)num11 / 100f);
            }
            int num12 = int.Parse(this.userMonster.defense) - (statusValue2.defense + friendshipBonusValue.defense + (int)num10);
            this.defUpLabel.text = this.GetTextStatusUpValue(this.userMonster.defense, statusValue.defense + friendshipBonusValue.defense + (int)num9 + num12);
            flag = true;
        }
        if (this.sAtkUpLabel != null)
        {
            float num13 = 0f;
            float num14 = 0f;
            int   num15 = 0;
            if (int.TryParse(this.userMonster.spAttackAbility, out num15))
            {
                num13 = Mathf.Floor((float)statusValue.magicAttack * (float)num15 / 100f);
                num14 = Mathf.Floor((float)statusValue2.magicAttack * (float)num15 / 100f);
            }
            int num16 = int.Parse(this.userMonster.spAttack) - (statusValue2.magicAttack + friendshipBonusValue.magicAttack + (int)num14);
            this.sAtkUpLabel.text = this.GetTextStatusUpValue(this.userMonster.spAttack, statusValue.magicAttack + friendshipBonusValue.magicAttack + (int)num13 + num16);
            flag = true;
        }
        if (this.sDefUpLabel != null)
        {
            float num17 = 0f;
            float num18 = 0f;
            int   num19 = 0;
            if (int.TryParse(this.userMonster.spDefenseAbility, out num19))
            {
                num17 = Mathf.Floor((float)statusValue.magicDefense * (float)num19 / 100f);
                num18 = Mathf.Floor((float)statusValue2.magicDefense * (float)num19 / 100f);
            }
            int num20 = int.Parse(this.userMonster.spDefense) - (statusValue2.magicDefense + friendshipBonusValue.magicDefense + (int)num18);
            this.sDefUpLabel.text = this.GetTextStatusUpValue(this.userMonster.spDefense, statusValue.magicDefense + friendshipBonusValue.magicDefense + (int)num17 + num20);
            flag = true;
        }
        if (this.spdUpLabel != null)
        {
            float num21 = 0f;
            float num22 = 0f;
            int   num23 = 0;
            if (int.TryParse(this.userMonster.speedAbility, out num23))
            {
                num21 = Mathf.Floor((float)statusValue.speed * (float)num23 / 100f);
                num22 = Mathf.Floor((float)statusValue2.speed * (float)num23 / 100f);
            }
            int num24 = int.Parse(this.userMonster.speed) - (statusValue2.speed + friendshipBonusValue.speed + (int)num22);
            this.spdUpLabel.text = this.GetTextStatusUpValue(this.userMonster.speed, statusValue.speed + friendshipBonusValue.speed + (int)num21 + num24);
            flag = true;
        }
        if (this.luckUpLabel != null)
        {
            this.luckUpLabel.text = this.GetTextStatusUpValue("0", this.luckUpValue);
            flag = true;
        }
        if (flag && this.animationCoroutine == null)
        {
            this.animationCoroutine = AppCoroutine.Start(this.PlayStatusUpAnimation(), false);
        }
    }
    void OnGUI()
    {
        if (_data == null) {
            // ScriptableObjectの読み込み
            _data = AssetDatabase.LoadAssetAtPath(DataPath, typeof(MonsterMaster)) as MonsterMaster;
            if(_data == null)
            {
                _data = ScriptableObject.CreateInstance<MonsterMaster>() as MonsterMaster;
                AssetDatabase.CreateAsset(_data, DataPath);
                AssetDatabase.Refresh();
            }
        }

        EditorGUILayout.BeginHorizontal();

        #region 要素の追加処理 ================================================================================
        Color mainColor = GUI.color;
        GUI.color = Color.green;
        if (GUILayout.Button("+", GUILayout.Width(20))) {
            MonsterData addData = new MonsterData();
            MonsterData[] copy = new MonsterData[_data.mons.Count];
            Array.Copy(_data.mons.ToArray(), copy, _data.mons.Count);
            Array.Sort(copy, (MonsterData a, MonsterData b)=>{ return a.id - b.id; });
            int newId = (copy!=null && copy.Length>0) ? copy[0].id : 0;
            // 最小のモンスターIDを探す
            for (int i=0; i<copy.Length; i++)
            {
                if (newId < copy[i].id) {
                    break;
                }
                else {
                    newId++;
                }
            }
            addData.id = newId;

            // データの追加
            _data.mons.Insert(newId, addData);
        }
        GUI.color = mainColor;
        #endregion

        #region コピー処理 ================================================================================
        GUI.color = (copyInstance==null) ? Color.white : Color.green;
        if (GUILayout.Button("copy", GUILayout.Width(50))) {
            if (selected != -1)
            {
                copyInstance = (MonsterData)_data.mons[selected].Clone();
                Debug.Log("copy : " + copyInstance.id + "  " +  copyInstance.name);
            }
        }
        GUI.color = mainColor;
        #endregion

        #region ペースト処理 ================================================================================
        GUI.color = (copyInstance==null ? Color.white : Color.green);
        if (GUILayout.Button("paste", GUILayout.Width(50))) {
            if (selected != -1)
            {
                int pasteId = _data.mons[selected].id;
                copyInstance.id = pasteId;
                _data.mons[selected] = copyInstance;
                Debug.Log("paste : " + copyInstance.id + "  " +  copyInstance.name);
            }
        }
        GUI.color = mainColor;
        #endregion

        EditorGUILayout.EndHorizontal();

        #region 各要素の編集 ================================================================================
        scrollPos = GUILayout.BeginScrollView(scrollPos);
        Color orgCol = GUI.backgroundColor;

        // 配置オブジェクトのリストを表示
        if (_data != null && _data.mons != null && _data.mons.Count > 0)
        {
            for(int i = 0; i < _data.mons.Count; i++) {
                orgCol = GUI.backgroundColor;

                GUILayout.BeginHorizontal();
                bool prev = i == selected;
                if (prev) GUI.backgroundColor = Color.magenta;
                bool flag = GUILayout.Toggle((i == selected), _data.mons[i].id.ToString() + " : " + _data.mons[i].j_name, "BoldLabel");

                GUI.backgroundColor = orgCol;
                if (GUILayout.Button("Edit",GUILayout.Width(60))) {
                    isEditMode = !isEditMode;
                    selected = i;// 選択中にする
                }
                GUI.backgroundColor = Color.red;
                if (GUILayout.Button("Remove", GUILayout.Width(60))) {
                    // 削除確認のダイアログ
                    bool result = EditorUtility.DisplayDialog(
                        "Remove",
                        "Remove this object.",
                        "OK",
                        "Cancel");

                    if(result){
                        _data.mons.RemoveAt(i);
                        GUI.FocusControl("");
                    }
                }
                GUI.backgroundColor = orgCol;
                EditorGUILayout.EndHorizontal();
                if (flag){
                    selected = i;

                    // 編集モード
                    if (isEditMode){
                        // TODO : 変数代入のエディタスクリプトを記述
                        int id_new				= EditorGUILayout.IntField("\tid", _data.mons[i].id);
                        if (id_new != _data.mons[i].id)
                        {
                            // すでにIDが使われていないかチェック
                            if (_data.mons.Find(a=>a.id==id_new) == null)
                                _data.mons[i].id = id_new;
                        }

                        _data.mons[i].name		= EditorGUILayout.TextField("\tname", _data.mons[i].name);
                        _data.mons[i].j_name		= EditorGUILayout.TextField("\tj_name", _data.mons[i].j_name);
                        _data.mons[i].race		= EditorGUILayout.TextField("\trace", _data.mons[i].race);
                        _data.mons[i].rarity = EditorGUILayout.IntField("\trarity", _data.mons[i].rarity);
                        _data.mons[i].element		= (Element)Enum.ToObject(typeof(Element), EditorGUILayout.EnumPopup("\telement", _data.mons[i].element));

                        _data.mons[i].level = EditorGUILayout.IntField("\tlevel", _data.mons[i].level);
                        _data.mons[i].b_hp = EditorGUILayout.IntField("\tb_hp", _data.mons[i].b_hp);
                        _data.mons[i].b_atk = EditorGUILayout.IntField("\tb_atk", _data.mons[i].b_atk);
                        _data.mons[i].b_def = EditorGUILayout.IntField("\tb_def", _data.mons[i].b_def);
                        _data.mons[i].b_spd = EditorGUILayout.IntField("\tb_spd", _data.mons[i].b_spd);
                        _data.mons[i].b_crate = EditorGUILayout.IntField("\tb_crate", _data.mons[i].b_crate);
                        _data.mons[i].b_cdmg = EditorGUILayout.IntField("\tb_cdmg", _data.mons[i].b_cdmg);
                        _data.mons[i].b_res = EditorGUILayout.IntField("\tb_res", _data.mons[i].b_res);
                        _data.mons[i].b_acc = EditorGUILayout.IntField("\tb_acc", _data.mons[i].b_acc);
                    }
                }
                else{
                    // トグルを二度押ししたら非選択状態にする
                    if (prev){
                        selected = -1;
                        isEditMode = false;
                    }
                }
                GUI.color = orgCol;
            }
        }
        #endregion

        // スクロールバー終了
        GUILayout.EndScrollView();
        // Apply Data
        ScriptableObject scriptable = AssetDatabase.LoadAssetAtPath(DataPath, typeof(ScriptableObject)) as ScriptableObject;
        EditorUtility.SetDirty(scriptable);
    }
Esempio n. 23
0
    public string GetPresentName(GameWebAPI.RespDataMA_GetAssetCategoryM.AssetCategoryM masterAssetCategory, string objectId, bool showDetail = false)
    {
        string result = StringMaster.GetString("Present-10");

        if (masterAssetCategory != null)
        {
            result = masterAssetCategory.assetTitle;
        }
        MasterDataMng.AssetCategory assetCategory = (MasterDataMng.AssetCategory)masterAssetCategory.assetCategoryId.ToInt32();
        switch (assetCategory)
        {
        case MasterDataMng.AssetCategory.FACILITY_KEY:
        {
            FacilityKeyM facilityKeyMaster = FarmDataManager.GetFacilityKeyMaster(objectId);
            if (facilityKeyMaster != null)
            {
                result = facilityKeyMaster.facilityKeyName;
            }
            break;
        }

        default:
            if (assetCategory != MasterDataMng.AssetCategory.MONSTER)
            {
                if (assetCategory == MasterDataMng.AssetCategory.ITEM)
                {
                    GameWebAPI.RespDataMA_GetItemM.ItemM itemM = MasterDataMng.Instance().RespDataMA_ItemM.GetItemM(objectId);
                    if (itemM != null)
                    {
                        result = itemM.name;
                    }
                }
            }
            else
            {
                GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(objectId).Simple;
                if (simple != null)
                {
                    GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterGroupId(simple.monsterGroupId).Group;
                    if (group != null)
                    {
                        result = group.monsterName;
                    }
                }
            }
            break;

        case MasterDataMng.AssetCategory.DUNGEON_TICKET:
        {
            GameWebAPI.RespDataMA_DungeonTicketMaster.DungeonTicketM dungeonTicketM = MasterDataMng.Instance().RespDataMA_DungeonTicketMaster.dungeonTicketM.FirstOrDefault((GameWebAPI.RespDataMA_DungeonTicketMaster.DungeonTicketM x) => objectId == x.dungeonTicketId);
            if (dungeonTicketM != null)
            {
                result = dungeonTicketM.name;
            }
            break;
        }

        case MasterDataMng.AssetCategory.TITLE:
        {
            GameWebAPI.RespDataMA_TitleMaster.TitleM titleM = TitleDataMng.GetDictionaryTitleM()[int.Parse(objectId)];
            if (titleM != null)
            {
                result = titleM.name;
            }
            break;
        }
        }
        if (showDetail)
        {
            MasterDataMng.AssetCategory assetCategory2 = (MasterDataMng.AssetCategory)masterAssetCategory.assetCategoryId.ToInt32();
            if (assetCategory2 != MasterDataMng.AssetCategory.CHIP)
            {
                if (assetCategory2 == MasterDataMng.AssetCategory.SOUL)
                {
                    GameWebAPI.RespDataMA_GetSoulM.SoulM soulMasterBySoulId = VersionUpMaterialData.GetSoulMasterBySoulId(objectId);
                    result = soulMasterBySoulId.soulName;
                }
            }
            else
            {
                int chipId = int.Parse(objectId);
                GameWebAPI.RespDataMA_ChipM.Chip chipMaster = ChipDataMng.GetChipMaster(chipId);
                result = chipMaster.name;
            }
        }
        return(result);
    }
Esempio n. 24
0
        public string GetEvolutionEffectType(string baseMonsterId, string nextMonsterId)
        {
            MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(baseMonsterId);

            return(this.GetEvolutionEffectType(baseMonsterId, monsterMasterByMonsterId.Group.growStep, nextMonsterId));
        }
    private static int GetExtraChipValue(MonsterData monsterData, EffectStatusBase.ExtraEffectType effectType)
    {
        float num    = 0f;
        int   areaId = ExtraEffectUtil.GetAreaId();

        GameWebAPI.RespDataMA_GetMonsterMG.MonsterM group = MonsterMaster.GetMonsterMasterByMonsterGroupId(monsterData.monsterM.monsterGroupId).Group;
        foreach (int num2 in monsterData.GetChipEquip().GetChipIdList())
        {
            GameWebAPI.RespDataMA_ChipEffectM.ChipEffect[] chipEffectData = ChipDataMng.GetChipEffectData(num2.ToString());
            if (chipEffectData != null)
            {
                GameWebAPI.RespDataMA_ChipEffectM.ChipEffect[] invocationList = ChipEffectStatus.GetInvocationList(chipEffectData, EffectStatusBase.EffectTriggerType.Area, monsterData.monsterM.monsterGroupId.ToInt32(), null, areaId);
                int num3 = 0;
                EffectStatusBase.ExtraEffectType effectType2 = EffectStatusBase.ExtraEffectType.Non;
                switch (effectType)
                {
                case EffectStatusBase.ExtraEffectType.Atk:
                    num3        = monsterData.userMonster.attack.ToInt32();
                    effectType2 = EffectStatusBase.ExtraEffectType.Atk;
                    break;

                case EffectStatusBase.ExtraEffectType.Def:
                    num3        = monsterData.userMonster.defense.ToInt32();
                    effectType2 = EffectStatusBase.ExtraEffectType.Def;
                    break;

                case EffectStatusBase.ExtraEffectType.Hp:
                    num3        = monsterData.userMonster.hp.ToInt32();
                    effectType2 = EffectStatusBase.ExtraEffectType.Hp;
                    break;

                case EffectStatusBase.ExtraEffectType.Speed:
                    num3        = monsterData.userMonster.speed.ToInt32();
                    effectType2 = EffectStatusBase.ExtraEffectType.Speed;
                    break;

                case EffectStatusBase.ExtraEffectType.Satk:
                    num3        = monsterData.userMonster.spAttack.ToInt32();
                    effectType2 = EffectStatusBase.ExtraEffectType.Satk;
                    break;

                case EffectStatusBase.ExtraEffectType.Sdef:
                    num3        = monsterData.userMonster.spDefense.ToInt32();
                    effectType2 = EffectStatusBase.ExtraEffectType.Sdef;
                    break;

                default:
                    if (effectType == EffectStatusBase.ExtraEffectType.SkillPower || effectType == EffectStatusBase.ExtraEffectType.SkillHit)
                    {
                        num3        = 0;
                        effectType2 = EffectStatusBase.ExtraEffectType.Non;
                    }
                    break;
                }
                GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster responseMonsterIntegrationGroupMaster = MasterDataMng.Instance().ResponseMonsterIntegrationGroupMaster;
                GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup[] source      = responseMonsterIntegrationGroupMaster.monsterIntegrationGroupM.Where((GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup item) => item.monsterId == monsterData.monsterM.monsterId).ToArray <GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup>();
                string[] monsterIntegrationIds = source.Select((GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup item) => item.monsterIntegrationId).ToArray <string>();
                num += ChipEffectStatus.GetChipEffectValueToFloat(invocationList, (float)num3, false, monsterIntegrationIds, monsterData.monsterM.monsterGroupId, ExtraEffectUtil.ResistanceToTolerance(monsterData), group.tribe, MonsterGrowStepData.ToGrowStep(group.growStep), null, null, ChipEffectStatus.TargetType.Actor, effectType2, 0);
            }
        }
        return(Mathf.FloorToInt(num));
    }
Esempio n. 26
0
    private void EndEvolveDo(string monsterModelId, string monsterGrowStep, int costCluster)
    {
        if (this.evolveDataBK.mem.effectType != "2")
        {
            GooglePlayGamesTool.Instance.Evolution();
        }
        DataMng.Instance().US_PlayerInfoSubChipNum(costCluster);
        this.UpdateClusterNum();
        ClassSingleton <GUIMonsterIconList> .Instance.RefreshList(MonsterDataMng.Instance().GetMonsterDataList());

        ClassSingleton <EvolutionData> .Instance.EvolvePostProcess(this.evolveDataBK.itemList);

        string partnerModelId = string.Empty;

        if ("0" != this.evolveDataBK.mem.effectMonsterId)
        {
            MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(this.evolveDataBK.mem.effectMonsterId);
            if (monsterMasterByMonsterId != null)
            {
                partnerModelId = monsterMasterByMonsterId.Group.modelId;
            }
        }
        MonsterUserData userMonster = ClassSingleton <MonsterUserDataMng> .Instance.GetUserMonster(this.evolveDataBK.md.GetMonster().userMonsterId);

        if (!MonsterPicturebookData.ExistPicturebook(userMonster.GetMonsterMaster().Group.monsterCollectionId))
        {
            MonsterPicturebookData.AddPictureBook(userMonster.GetMonsterMaster().Group.monsterCollectionId);
        }
        CutsceneDataBase cutsceneData = null;
        string           effectType   = this.evolveDataBK.mem.effectType;

        if (effectType != null)
        {
            if (!(effectType == "1"))
            {
                if (!(effectType == "2"))
                {
                    if (effectType == "3" || effectType == "4")
                    {
                        CutsceneDataJogress cutsceneDataJogress = new CutsceneDataJogress();
                        cutsceneDataJogress.path           = "Cutscenes/Jogress";
                        cutsceneDataJogress.beforeModelId  = monsterModelId;
                        cutsceneDataJogress.afterModelId   = userMonster.GetMonsterMaster().Group.modelId;
                        cutsceneDataJogress.partnerModelId = partnerModelId;
                        CutsceneDataJogress cutsceneDataJogress2 = cutsceneDataJogress;
                        if (CMD_Evolution.< > f__mg$cache3 == null)
                        {
                            CMD_Evolution.< > f__mg$cache3 = new Action(CutSceneMain.FadeReqCutSceneEnd);
                        }
                        cutsceneDataJogress2.endCallback = CMD_Evolution.< > f__mg$cache3;
                        cutsceneData = cutsceneDataJogress;
                    }
                }
                else
                {
                    CutsceneDataModeChange cutsceneDataModeChange = new CutsceneDataModeChange();
                    cutsceneDataModeChange.path          = "Cutscenes/ModeChange";
                    cutsceneDataModeChange.beforeModelId = monsterModelId;
                    cutsceneDataModeChange.afterModelId  = userMonster.GetMonsterMaster().Group.modelId;
                    CutsceneDataModeChange cutsceneDataModeChange2 = cutsceneDataModeChange;
                    if (CMD_Evolution.< > f__mg$cache2 == null)
                    {
                        CMD_Evolution.< > f__mg$cache2 = new Action(CutSceneMain.FadeReqCutSceneEnd);
                    }
                    cutsceneDataModeChange2.endCallback = CMD_Evolution.< > f__mg$cache2;
                    cutsceneData = cutsceneDataModeChange;
                }
            }
            else if (MonsterGrowStepData.IsUltimateScope(userMonster.GetMonsterMaster().Group.growStep))
            {
                CutsceneDataEvolutionUltimate cutsceneDataEvolutionUltimate = new CutsceneDataEvolutionUltimate();
                cutsceneDataEvolutionUltimate.path          = "Cutscenes/EvolutionUltimate";
                cutsceneDataEvolutionUltimate.beforeModelId = monsterModelId;
                cutsceneDataEvolutionUltimate.afterModelId  = userMonster.GetMonsterMaster().Group.modelId;
                CutsceneDataEvolutionUltimate cutsceneDataEvolutionUltimate2 = cutsceneDataEvolutionUltimate;
                if (CMD_Evolution.< > f__mg$cache0 == null)
                {
                    CMD_Evolution.< > f__mg$cache0 = new Action(CutSceneMain.FadeReqCutSceneEnd);
                }
                cutsceneDataEvolutionUltimate2.endCallback = CMD_Evolution.< > f__mg$cache0;
                cutsceneData = cutsceneDataEvolutionUltimate;
            }
            else
            {
                CutsceneDataEvolution cutsceneDataEvolution = new CutsceneDataEvolution();
                cutsceneDataEvolution.path           = "Cutscenes/Evolution";
                cutsceneDataEvolution.beforeModelId  = monsterModelId;
                cutsceneDataEvolution.beforeGrowStep = monsterGrowStep;
                cutsceneDataEvolution.afterModelId   = userMonster.GetMonsterMaster().Group.modelId;
                cutsceneDataEvolution.afterGrowStep  = userMonster.GetMonsterMaster().Group.growStep;
                CutsceneDataEvolution cutsceneDataEvolution2 = cutsceneDataEvolution;
                if (CMD_Evolution.< > f__mg$cache1 == null)
                {
                    CMD_Evolution.< > f__mg$cache1 = new Action(CutSceneMain.FadeReqCutSceneEnd);
                }
                cutsceneDataEvolution2.endCallback = CMD_Evolution.< > f__mg$cache1;
                cutsceneData = cutsceneDataEvolution;
            }
        }
        Loading.Invisible();
        CutSceneMain.FadeReqCutScene(cutsceneData, new Action(this.StartCutSceneCallBack), delegate()
        {
            this.detailedWindow.StartAnimation();
            if (this.execEvolutionReviewStatus != CMD_Evolution.EvolutionReviewStatus.FIRST_EVOLUTION_REVIEW && this.execEvolutionReviewStatus != CMD_Evolution.EvolutionReviewStatus.FIRST_ULTIMA_EVOLUTION_REVIEW)
            {
                RestrictionInput.EndLoad();
            }
        }, 0.5f, 0.5f);
    }
        public static void CreateMonsterDataList(EvolutionDiagramData diagramData)
        {
            List <string> list = new List <string>();

            foreach (KeyValuePair <string, Dictionary <string, MonsterClientMaster> > keyValuePair in MonsterMaster.GetGroupMasterList())
            {
                MonsterClientMaster monsterClientMaster;
                if (keyValuePair.Value.TryGetValue("1", out monsterClientMaster) && "0" != monsterClientMaster.Group.monsterCollectionId && !list.Contains(monsterClientMaster.Group.monsterCollectionId))
                {
                    list.Add(monsterClientMaster.Group.monsterCollectionId);
                    EvolutionDiagramData.IconMonster monsterData = new EvolutionDiagramData.IconMonster
                    {
                        collectionId = monsterClientMaster.Group.monsterCollectionId.ToInt32(),
                        master       = monsterClientMaster
                    };
                    diagramData.AddMonsterData(monsterData);
                }
            }
        }