Example #1
0
        private void Start()
        {
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.mConditionObjectTemplate, (UnityEngine.Object)null))
            {
                return;
            }
            this.mConditionObjectTemplate.SetActive(false);
            UnitData unitDataByUniqueId = MonoSingleton <GameManager> .Instance.Player.FindUnitDataByUniqueID((long)GlobalVars.SelectedUnitUniqueID);

            TobiraParam.Category unitTobiraCategory = (TobiraParam.Category)GlobalVars.PreBattleUnitTobiraCategory;
            if (unitDataByUniqueId == null || unitTobiraCategory <= TobiraParam.Category.START || unitTobiraCategory >= TobiraParam.Category.MAX)
            {
                return;
            }
            this.mLayoutObjects    = new GameObject[6];
            this.mLayoutObjects[1] = this.mLayout_UnitLevel;
            this.mLayoutObjects[2] = this.mLayout_UnitAwake;
            this.mLayoutObjects[3] = this.mLayout_JobLevel;
            this.mLayoutObjects[4] = this.mLayout_TobiraLevel;
            this.mLayoutObjects[5] = this.mLayout_TobiraOpen;
            this.mLayoutObjects[0] = this.mLayout_None;
            TobiraConditionParam[] conditionsForUnit = MonoSingleton <GameManager> .Instance.MasterParam.GetTobiraConditionsForUnit(unitDataByUniqueId.UnitID, unitTobiraCategory);

            List <ConditionsResult> conditionsResultList = TobiraUtility.TobiraConditionsCheck(unitDataByUniqueId, conditionsForUnit);

            for (int index = 0; index < conditionsResultList.Count; ++index)
            {
                this.CreateLayout(conditionsResultList[index]);
            }
        }
 public void Setup(TobiraData tobiraData)
 {
     if (tobiraData == null)
     {
         DebugUtility.LogError("tobiraDataがnullの時はSetup(TobiraParam param)を使用してください");
     }
     else
     {
         this.m_Category = tobiraData.Param.TobiraCategory;
         this.m_TextTobiraName.set_text(TobiraParam.GetCategoryName(this.m_Category));
         this.m_IconTobira.ImageIndex = (int)this.m_Category;
         if (tobiraData.IsLearnedLeaderSkill)
         {
             TobiraLearnSkill listItem = this.CreateListItem();
             SkillData        skill    = new SkillData();
             skill.Setup(tobiraData.LearnedLeaderSkillIname, 1, 1, (MasterParam)null);
             listItem.Setup(skill);
         }
         List <AbilityData> newAbilitys = new List <AbilityData>();
         List <AbilityData> oldAbilitys = new List <AbilityData>();
         TobiraUtility.TryCraeteAbilityData(tobiraData.Param, tobiraData.Lv, newAbilitys, oldAbilitys, false);
         for (int index = 0; index < newAbilitys.Count; ++index)
         {
             this.CreateListItem().Setup(newAbilitys[index]);
         }
         BaseStatus add   = new BaseStatus();
         BaseStatus scale = new BaseStatus();
         TobiraUtility.CalcTobiraParameter(tobiraData.Param.UnitIname, this.m_Category, tobiraData.Lv, ref add, ref scale);
         this.m_StatusList.SetValues(add, scale, false);
         GameUtility.SetGameObjectActive(this.m_ObjectDetail, true);
         GameUtility.SetGameObjectActive(this.m_ObjectLock, false);
         GameUtility.SetGameObjectActive(this.m_ObjectCommingSoon, false);
     }
 }
Example #3
0
 public void Initialize(UnitData unit, TobiraParam.Category category)
 {
     this.mUnit     = unit;
     this.mCategory = category;
     this.SelectedGO.SetActive(false);
     this.Refresh();
 }
Example #4
0
        public void Deserialize(JSON_TobiraParam json)
        {
            if (json == null)
            {
                return;
            }
            this.mUnitIname  = json.unit_iname;
            this.mEnable     = json.enable == 1;
            this.mCategory   = (TobiraParam.Category)json.category;
            this.mRecipeId   = json.recipe_id;
            this.mSkillIname = json.skill_iname;
            this.mLearnAbilities.Clear();
            if (json.learn_abils != null)
            {
                for (int index = 0; index < json.learn_abils.Length; ++index)
                {
                    TobiraLearnAbilityParam learnAbilityParam = new TobiraLearnAbilityParam();
                    learnAbilityParam.Deserialize(json.learn_abils[index]);
                    this.mLearnAbilities.Add(learnAbilityParam);
                }
            }
            this.mOverwriteLeaderSkillIname = json.overwrite_ls_iname;
            if (!string.IsNullOrEmpty(this.mOverwriteLeaderSkillIname))
            {
                GameManager instanceDirect = MonoSingleton <GameManager> .GetInstanceDirect();

                if (Object.op_Inequality((Object)instanceDirect, (Object)null) && instanceDirect.MasterParam != null)
                {
                    this.mOverwriteLeaderSkillLevel = (int)instanceDirect.MasterParam.FixParam.TobiraLvCap;
                }
            }
            this.mPriority = json.priority;
        }
 public void Init(bool is_restore)
 {
     if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.UnitAttachTarget, (UnityEngine.Object)null) && !this.RefreshCurrentUnit())
     {
         return;
     }
     GlobalVars.SelectedEquipmentSlot.Set(-1);
     this.RefreshStatus();
     if (is_restore)
     {
         this.RefreshSelected();
         this.OnTobiraEnhanceBtn();
     }
     else if (this.mTobiraList.Count > 0)
     {
         TobiraParam.Category default_category = this.mTobiraList[0].Category;
         this.mSelectedTobiraCategory = default_category;
         GlobalVars.PreBattleUnitTobiraCategory.Set(default_category);
         this.mTobiraList.ForEach((Action <UnitTobiraItem>)(tobira => tobira.Select(tobira.Category == default_category)));
         this.mCurrentTobira = this.mCurrentUnit.TobiraData.Find((Predicate <TobiraData>)(tobira => tobira.Param.TobiraCategory == default_category));
         this.TobiraParamWindow.Refresh(this.mCurrentUnit, this.mCurrentTobira, this.mTobiraList[0].Param);
     }
     UnitEnhanceV3.Instance.RefreshTobiraBgAnimation(this.mCurrentTobira, true);
     UnitTobiraInventory.mInitTimeUniqueID = (long)GlobalVars.SelectedUnitUniqueID;
 }
Example #6
0
        public static string GetCategoryName(TobiraParam.Category category)
        {
            switch (category)
            {
            case TobiraParam.Category.Envy:
                return(LocalizedText.Get("sys.CMD_TOBIRA_ENVY"));

            case TobiraParam.Category.Wrath:
                return(LocalizedText.Get("sys.CMD_TOBIRA_WRATH"));

            case TobiraParam.Category.Sloth:
                return(LocalizedText.Get("sys.CMD_TOBIRA_SLOTH"));

            case TobiraParam.Category.Lust:
                return(LocalizedText.Get("sys.CMD_TOBIRA_LUST"));

            case TobiraParam.Category.Gluttony:
                return(LocalizedText.Get("sys.CMD_TOBIRA_GLUTTONY"));

            case TobiraParam.Category.Greed:
                return(LocalizedText.Get("sys.CMD_TOBIRA_GREED"));

            case TobiraParam.Category.Pride:
                return(LocalizedText.Get("sys.CMD_TOBIRA_PRIDE"));

            default:
                return(string.Empty);
            }
        }
 public void Deserialize(JSON_TobiraCategoriesParam json)
 {
     if (json == null)
     {
         return;
     }
     this.mCategory = (TobiraParam.Category)json.category;
     this.mName     = json.name;
 }
Example #8
0
        public static void CalcTobiraParameter(string unit_iname, TobiraParam.Category category, int lv, ref BaseStatus add, ref BaseStatus scale)
        {
            TobiraData tobiraData = new TobiraData();

            if (!tobiraData.Setup(unit_iname, category, lv))
            {
                return;
            }
            UnitParam unitParam = MonoSingleton <GameManager> .Instance.MasterParam.GetUnitParam(unit_iname);

            SkillData.GetHomePassiveBuffStatus(tobiraData.ParameterBuffSkill, unitParam == null ? EElement.None : unitParam.element, ref add, ref scale);
        }
Example #9
0
        public ReqTobiraEnhance(long unit_iid, TobiraParam.Category category, Network.ResponseCallback response)
        {
            this.name = "unit/door/lvup";
            StringBuilder stringBuilder = WebAPI.GetStringBuilder();

            stringBuilder.Append("\"unit_iid\":");
            stringBuilder.Append(unit_iid);
            stringBuilder.Append(",");
            stringBuilder.Append("\"category\":");
            stringBuilder.Append((int)category);
            this.body     = WebAPI.GetRequestString(stringBuilder.ToString());
            this.callback = response;
        }
        public void Activated(int pinID)
        {
            switch (pinID)
            {
            case 0:
                this.RefreshAll();
                break;

            case 1:
                SerializeValueList currentValue = FlowNode_ButtonEvent.currentValue as SerializeValueList;
                if (currentValue == null)
                {
                    break;
                }
                UnitTobiraItem item = currentValue.GetComponent <UnitTobiraItem>("_self");
                if (UnityEngine.Object.op_Equality((UnityEngine.Object)item, (UnityEngine.Object)null))
                {
                    break;
                }
                this.mSelectedTobiraCategory = item.Category;
                GlobalVars.PreBattleUnitTobiraCategory.Set(this.mSelectedTobiraCategory);
                this.mCurrentTobira = this.mCurrentUnit.TobiraData.Find((Predicate <TobiraData>)(tobira => tobira.Param.TobiraCategory == item.Category));
                this.mTobiraList.ForEach((Action <UnitTobiraItem>)(tobira => tobira.Select(tobira.Category == item.Category)));
                this.TobiraParamWindow.Refresh(this.mCurrentUnit, this.mCurrentTobira, item.Param);
                UnitEnhanceV3.Instance.RefreshTobiraBgAnimation(this.mCurrentTobira, false);
                break;

            case 2:
                this.OnTobiraOpenBtn();
                break;

            case 3:
                this.OnTobiraEnhanceBtn();
                break;

            case 5:
                this.RefreshCurrentUnit();
                this.SuccessTobiraEnhance();
                break;

            case 6:
                this.RefreshCurrentUnit();
                this.SuccessTobiraOpen();
                break;

            case 7:
                UnitEnhanceV3.Instance.TobiraUIActive(false, false);
                break;
            }
        }
Example #11
0
        public static bool IsClearAllToboraRecipe(UnitData unit_data, TobiraParam.Category tobira_category, int tobiraLv)
        {
            bool flag = true;
            List <ConditionsResult> conditionsResultList = TobiraUtility.TobiraRecipeCheck(unit_data, tobira_category, tobiraLv);

            for (int index = 0; index < conditionsResultList.Count; ++index)
            {
                if (!conditionsResultList[index].isClear)
                {
                    flag = false;
                    break;
                }
            }
            return(flag);
        }
 public void Setup(TobiraParam param)
 {
     this.m_Category = param.TobiraCategory;
     this.m_TextTobiraName.set_text(TobiraParam.GetCategoryName(this.m_Category));
     this.m_IconTobira.ImageIndex = (int)this.m_Category;
     if (param.Enable)
     {
         BaseStatus add   = new BaseStatus();
         BaseStatus scale = new BaseStatus();
         TobiraUtility.CalcTobiraParameter(param.UnitIname, this.m_Category, 1, ref add, ref scale);
         this.m_StatusList.SetValues(add, scale, true);
     }
     GameUtility.SetGameObjectActive(this.m_ObjectDetail, param.Enable);
     GameUtility.SetGameObjectActive(this.m_ObjectLock, param.Enable);
     GameUtility.SetGameObjectActive(this.m_ObjectCommingSoon, !param.Enable);
 }
Example #13
0
        public bool Setup(string unit_iname, TobiraParam.Category category, int lv)
        {
            this.mLv          = lv;
            this.mTobiraParam = MonoSingleton <GameManager> .Instance.MasterParam.GetTobiraParam(unit_iname, category);

            if (this.mTobiraParam == null)
            {
                return(false);
            }
            this.mParameterBuffSkill = TobiraUtility.CreateParameterBuffSkill(this.mTobiraParam, this.mLv);
            if (this.mTobiraParam.HasLeaerSkill && lv >= this.mTobiraParam.OverwriteLeaderSkillLevel)
            {
                this.mLearnedLeaderSkillIname = this.mTobiraParam.OverwriteLeaderSkillIname;
            }
            return(this.mParameterBuffSkill != null);
        }
Example #14
0
 public void Deserialize(JSON_TobiraCondsUnitParam json)
 {
     if (json == null)
     {
         return;
     }
     this.mId         = json.id;
     this.mUnitIname  = json.unit_iname;
     this.mLevel      = json.lv;
     this.mAwakeLevel = json.awake_lv;
     this.mJobIname   = json.job_iname;
     this.mJobLevel   = json.job_lv;
     this.mCategory   = (TobiraParam.Category)json.category;
     this.mTobiraLv   = json.tobira_lv;
     this.UpdateConditionsFlag();
 }
Example #15
0
 public void Deserialize(JSON_TobiraCondsParam json)
 {
     if (json == null)
     {
         return;
     }
     this.mUnitIname = json.unit_iname;
     this.mCategory  = (TobiraParam.Category)json.category;
     this.mConditions.Clear();
     if (json.conds == null)
     {
         return;
     }
     for (int index = 0; index < json.conds.Length; ++index)
     {
         TobiraConditionParam tobiraConditionParam = new TobiraConditionParam();
         tobiraConditionParam.Deserialize(json.conds[index]);
         this.mConditions.Add(tobiraConditionParam);
     }
 }
Example #16
0
        public static bool IsClearAllToboraConditions(UnitData unit_data, TobiraParam.Category tobira_category)
        {
            TobiraConditionParam[] conditionsForUnit = MonoSingleton <GameManager> .Instance.MasterParam.GetTobiraConditionsForUnit(unit_data.UnitID, tobira_category);

            if (conditionsForUnit == null)
            {
                return(true);
            }
            bool flag = true;
            List <ConditionsResult> conditionsResultList = TobiraUtility.TobiraConditionsCheck(unit_data, conditionsForUnit);

            for (int index = 0; index < conditionsResultList.Count; ++index)
            {
                if (!conditionsResultList[index].isClear)
                {
                    flag = false;
                    break;
                }
            }
            return(flag);
        }
 public ConditionsResult_TobiraLv(UnitData unitData, UnitParam unitParam, TobiraParam.Category condsTobiraCategory, int condsTobiraLv)
     : base(unitData, unitParam)
 {
     this.mCondsTobiraCategory = condsTobiraCategory;
     this.mCondsTobiraLv       = condsTobiraLv;
     this.mTargetValue         = condsTobiraLv;
     this.mTargetIsMaxLevel    = condsTobiraLv == (int)MonoSingleton <GameManager> .Instance.MasterParam.FixParam.TobiraLvCap;
     if (unitData != null)
     {
         TobiraData tobiraData = unitData.GetTobiraData(this.mCondsTobiraCategory);
         if (tobiraData == null)
         {
             return;
         }
         this.mTobiraData   = tobiraData;
         this.mIsClear      = tobiraData.Lv >= this.mCondsTobiraLv;
         this.mCurrentValue = tobiraData.Lv;
     }
     else
     {
         this.mIsClear = false;
     }
 }
Example #18
0
        public static List <ConditionsResult> TobiraRecipeCheck(UnitData unitData, TobiraParam.Category category, int targetLevel)
        {
            List <ConditionsResult> conditionsResultList = new List <ConditionsResult>();
            GameManager             instanceDirect       = MonoSingleton <GameManager> .GetInstanceDirect();

            TobiraRecipeParam tobiraRecipe = instanceDirect.MasterParam.GetTobiraRecipe(unitData.UnitID, category, targetLevel);

            if (tobiraRecipe.Cost > 0)
            {
                conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasGold(tobiraRecipe.Cost));
            }
            if (tobiraRecipe.UnitPieceNum > 0)
            {
                conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(unitData.UnitParam.piece, tobiraRecipe.UnitPieceNum));
            }
            if (tobiraRecipe.ElementNum > 0)
            {
                int       elementNum        = tobiraRecipe.ElementNum;
                ItemParam elementPieceParam = unitData.GetElementPieceParam();
                if (elementPieceParam == null)
                {
                    DebugUtility.LogWarning("対応する属性欠片が見つかりませんでした。");
                }
                else
                {
                    conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(elementPieceParam.iname, elementNum));
                }
            }
            if (tobiraRecipe.UnlockElementNum > 0)
            {
                int       unlockElementNum = tobiraRecipe.UnlockElementNum;
                ItemParam itemParam        = instanceDirect.GetItemParam(unitData.GetUnlockTobiraElementID());
                if (itemParam == null)
                {
                    DebugUtility.LogWarning("属性に対応する扉用素材が見つかりませんでした。");
                }
                else
                {
                    conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(itemParam.iname, unlockElementNum));
                }
            }
            if (tobiraRecipe.UnlockBirthNum > 0)
            {
                int       unlockBirthNum = tobiraRecipe.UnlockBirthNum;
                ItemParam itemParam      = instanceDirect.GetItemParam(unitData.GetUnlockTobiraBirthID());
                if (itemParam == null)
                {
                    DebugUtility.LogWarning("出自に対応する扉用素材が見つかりませんでした。");
                }
                else
                {
                    conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(itemParam.iname, unlockBirthNum));
                }
            }
            foreach (TobiraRecipeMaterialParam material in tobiraRecipe.Materials)
            {
                if (material != null && !string.IsNullOrEmpty(material.Iname))
                {
                    int       num       = material.Num;
                    ItemParam itemParam = instanceDirect.GetItemParam(material.Iname);
                    if (itemParam == null)
                    {
                        DebugUtility.LogWarning("アイテムが見つかりませんでした。");
                    }
                    else
                    {
                        conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(itemParam.iname, num));
                    }
                }
            }
            return(conditionsResultList);
        }