/// <summary> /// 手札エリアに新しいカードを配る /// </summary> /// <param name="hand_area_index"></param> /// <param name="element_type"></param> public void addNewCardInHandArea(int hand_area_index, MasterDataDefineLabel.ElementType element_type) { BattleCard battle_card = getUnusedCard(); if (battle_card != null) { MasterDataDefineLabel.ElementType wrk_element_type = element_type; #if BUILD_TYPE_DEBUG if (m_DebugNextCardFix[hand_area_index] != MasterDataDefineLabel.ElementType.NONE) { wrk_element_type = m_DebugNextCardFix[hand_area_index]; } #endif //BUILD_TYPE_DEBUG battle_card.setElementType(wrk_element_type, BattleCard.ChangeCause.NEW_CARD); if (m_NextArea != null) { BattleCard next_card = m_NextArea.getCard(hand_area_index); if (next_card != null) { setCardToHandArea(hand_area_index, next_card); } setCardToNextArea(hand_area_index, battle_card); } else { setCardToHandArea(hand_area_index, battle_card); } } }
public void Copy(UnitGridParam _data) { unit_id = _data.unit_id; unique_id = _data.unique_id; party_assign = _data.party_assign; favorite = _data.favorite; evolve = _data.evolve; get_time = _data.get_time; draw_id = _data.draw_id; level = _data.level; hp = _data.hp; pow = _data.pow; plus = _data.plus; cost = _data.cost; rare = _data.rare; element = _data.element; kind = _data.kind; sub_kind = _data.sub_kind; limitover_lv = _data.limitover_lv; charm = _data.charm; unit = _data.unit; master = _data.master; }
/// <summary> /// ソートの属性テキストを取得 /// </summary> /// <param name="elementType"></param> /// <returns></returns> public static string GetSortDialogElementText(MasterDataDefineLabel.ElementType elementType) { string textKey = ""; switch (elementType) { case MasterDataDefineLabel.ElementType.NAUGHT: textKey = "filter_text34"; break; case MasterDataDefineLabel.ElementType.FIRE: textKey = "filter_text29"; break; case MasterDataDefineLabel.ElementType.WATER: textKey = "filter_text30"; break; case MasterDataDefineLabel.ElementType.LIGHT: textKey = "filter_text32"; break; case MasterDataDefineLabel.ElementType.DARK: textKey = "filter_text33"; break; case MasterDataDefineLabel.ElementType.WIND: textKey = "filter_text31"; break; } return(GameTextUtil.GetText(textKey)); }
//---------------------------------------------------------------------------- /*! * @brief 属性->属性テキストキー * @param[in] int (elem) 属性 * @return string [対応したゲームテキストキー] */ //---------------------------------------------------------------------------- static public string GetElemToTextKey(MasterDataDefineLabel.ElementType elem) { string strElementMsgKey = "ELEM_NAUGHT"; switch (elem) { case MasterDataDefineLabel.ElementType.NONE: strElementMsgKey = "ELEM_NONE"; break; case MasterDataDefineLabel.ElementType.FIRE: strElementMsgKey = "ELEM_FIRE"; break; case MasterDataDefineLabel.ElementType.WATER: strElementMsgKey = "ELEM_WATER"; break; case MasterDataDefineLabel.ElementType.WIND: strElementMsgKey = "ELEM_WIND"; break; case MasterDataDefineLabel.ElementType.DARK: strElementMsgKey = "ELEM_DARK"; break; case MasterDataDefineLabel.ElementType.LIGHT: strElementMsgKey = "ELEM_LIGHT"; break; case MasterDataDefineLabel.ElementType.NAUGHT: strElementMsgKey = "ELEM_NAUGHT"; break; case MasterDataDefineLabel.ElementType.HEAL: strElementMsgKey = "ELEM_HEAL"; break; default: Debug.LogError("Unit Kind Error!: elem:" + elem); break; } return(strElementMsgKey); }
/// <summary> /// パーティメンバー個別へのダメージ演出(ダメージ数値) /// </summary> /// <param name="member_index"></param> /// <param name="effect_prefab"></param> public void setDamageValueMember(MasterDataDefineLabel.ElementType damage_element, BattleSceneUtil.MultiInt damage_value, BattleSceneUtil.MultiInt damage_target) { if (BattleParam.IsKobetsuHP == false) { return; } for (int idx = 0; idx < damage_value.getMemberCount(); idx++) { int dmg_target = damage_target.getValue((GlobalDefine.PartyCharaIndex)idx); if (dmg_target > 0) { int dmg_value = damage_value.getValue((GlobalDefine.PartyCharaIndex)idx); EDAMAGE_TYPE damage_type = EDAMAGE_TYPE.eDAMAGE_TYPE_NORMAL; if (damage_element != MasterDataDefineLabel.ElementType.NONE) { CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST); if (chara_once != null) { damage_type = InGameUtilBattle.GetSkillElementAffinity(damage_element, chara_once.m_CharaMasterDataParam.element); } } DrawDamageManager.showDamage(m_MemberHPTrans[idx], dmg_value, damage_type, 3.0f, getInterfaceExtentionRate() * INTERFACE_EXTENTION_DAMAGE_VALUE_OFFSET_Y + 0.14f, 2.0f); } } }
// Update is called once per frame void Update() { if (m_BattleCard != null) { if (m_BattleCard.getPhase() == BattleScene.BattleCard.Phase.UNUSED) { m_ElementType = MasterDataDefineLabel.ElementType.NONE; m_IsOn = false; } if (m_BattleCard.getElementType() != m_ElementType || m_BattleCard.m_IsOn != m_IsOn ) { _updateSprite(); } #if BUILD_TYPE_DEBUG if (m_BattleCard.getPhase() != BattleScene.BattleCard.Phase.UNUSED) { // 開発中はエラーであることをわかりやすくするための表示 if (m_ElementType <= MasterDataDefineLabel.ElementType.NONE || m_ElementType >= MasterDataDefineLabel.ElementType.MAX) { m_SpriteRenderer.enabled = true; m_SpriteRenderer.sprite = m_SpritesOff[RandManager.GetRand(1, 7)]; } } #endif } // カード配りアニメーション if (m_AnimWait > 0.0f) { const float ANIM_TIME = 0.1f; m_AnimWait -= Time.deltaTime; if (m_AnimWait > ANIM_TIME) { m_SpriteRenderer.enabled = false; transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.Euler(new Vector3(0.0f, 90.0f, 0.0f)); } else if (m_AnimWait > 0.0f) { m_SpriteRenderer.enabled = true; transform.localPosition = new Vector3(0.0f, 0.0f, -1.0f * (1.0f - m_AnimWait / ANIM_TIME)); transform.localRotation = Quaternion.Euler(new Vector3(0.0f, 90.0f * (m_AnimWait / ANIM_TIME), 0.0f)); } else { m_AnimWait = 0.0f; m_SpriteRenderer.enabled = true; transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.Euler(new Vector3(0.0f, 0.0f, 0.0f)); } } m_MyTween.update(Time.deltaTime); }
public void resetCosts() { m_CostCountUsing = 0; for (MasterDataDefineLabel.ElementType element_idx = MasterDataDefineLabel.ElementType.NONE; element_idx < MasterDataDefineLabel.ElementType.MAX; element_idx++) { m_ElementCounts[(int)element_idx] = 0; } }
/// <summary> /// アクティブスキルに使用されるカードであることをセット /// </summary> /// <param name="element_type"></param> public void setSkillCardInfo(MasterDataDefineLabel.ElementType element_type) { if (element_type > MasterDataDefineLabel.ElementType.NONE && element_type < MasterDataDefineLabel.ElementType.MAX) { m_IsSkillCardInfo[(int)element_type] = true; } m_IsUpdateSkillCardInfo = true; }
/// <summary> /// アクティブスキルに使用されるカードであるかどうか調べる /// </summary> /// <param name="element_type"></param> /// <returns></returns> public bool isSkillCard(MasterDataDefineLabel.ElementType element_type) { if (element_type > MasterDataDefineLabel.ElementType.NONE && element_type < MasterDataDefineLabel.ElementType.MAX) { return(m_IsSkillCardInfo[(int)element_type]); } return(false); }
/// <summary> /// ソートパラメータ設定(ユニット共通) /// </summary> /// <param name="_main"></param> /// <param name="_mainMaster"></param> /// <param name="_sub"></param> private void setSortParamUnit(PacketStructUnit _main, MasterDataParamChara _mainMaster, PacketStructUnit _sub) { CharaOnce baseChara = new CharaOnce(); if (_main.link_info == (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_BASE && _sub != null) { baseChara.CharaSetupFromParam( _mainMaster, (int)_main.level, (int)_main.limitbreak_lv, (int)_main.limitover_lv, (int)_main.add_pow, (int)_main.add_hp, _sub.id, (int)_sub.level, (int)_sub.add_pow, (int)_sub.add_hp, (int)_main.link_point, (int)_sub.limitover_lv ); } else { baseChara.CharaSetupFromParam( _mainMaster, (int)_main.level, (int)_main.limitbreak_lv, (int)_main.limitover_lv, (int)_main.add_pow, (int)_main.add_hp, 0, 0, 0, 0, 0, 0 ); } draw_id = (int)_mainMaster.draw_id; level = (int)_main.level; hp = baseChara.m_CharaHP; pow = baseChara.m_CharaPow; plus = baseChara.m_CharaPlusHP + baseChara.m_CharaPlusPow; cost = _mainMaster.party_cost; if (_main.link_info == (uint)ServerDataDefine.CHARALINK_TYPE.CHARALINK_TYPE_BASE && _sub != null) { cost += CharaLinkUtil.GetLinkUnitCost(_sub.id); } rare = (int)_mainMaster.rare; element = _mainMaster.element; kind = _mainMaster.kind; sub_kind = _mainMaster.sub_kind; limitover_lv = (int)_main.limitover_lv; charm = baseChara.m_CharaCharm; }
public void AddElement(MasterDataDefineLabel.ElementType elementType) { SortDialogElementListContext filterSwitch = new SortDialogElementListContext(); filterSwitch.IconImage = GetElementPanel(elementType); filterSwitch.ElementType = elementType; filterSwitch.IsSelect = CheckSelectElement(elementType, m_SortDialog.m_SortData); filterSwitch.DidSelectItem = OnClickElementButton; Elements.Add(filterSwitch); }
public CostInfo(CostInfo cost_info) { m_CostCountMax = cost_info.m_CostCountMax; m_CostCountUsing = cost_info.m_CostCountUsing; for (MasterDataDefineLabel.ElementType element_idx = MasterDataDefineLabel.ElementType.NONE; element_idx < MasterDataDefineLabel.ElementType.MAX; element_idx++) { m_ElementCounts[(int)element_idx] = cost_info.m_ElementCounts[(int)element_idx]; } }
public void addLine(Vector3 start_position, Vector3 end_position, MasterDataDefineLabel.ElementType element_type) { if (m_LineCount < m_StartPositions.Length) { m_StartPositions[m_LineCount] = start_position; m_EndPositions[m_LineCount] = end_position; m_Elements[m_LineCount] = element_type; m_LineCount++; } }
/// <summary> /// ヘイト初期値を取得 /// </summary> /// <param name="element_type">キャラの属性</param> /// <returns></returns> public int getInitialHate(MasterDataDefineLabel.ElementType element_type, MasterDataDefineLabel.KindType main_kind, MasterDataDefineLabel.KindType sub_kind) { int ret_val = 0; if (isEnableHate()) { int element_rate = getHateRatePercent(element_type, main_kind, sub_kind); ret_val = m_QuestBuildBattle.hate.hate_initial * element_rate / 100; } return(ret_val); }
/// <summary> /// フィルタの選択状態をチェック /// </summary> /// <param name="elementType"></param> /// <returns></returns> bool CheckSelectElement(MasterDataDefineLabel.ElementType elementType, LocalSaveSortInfo sortInfo) { if (sortInfo == null) { return(false); } if (sortInfo.m_FilterElements == null || sortInfo.m_FilterElements.Length == 0) { return(false); } return(Array.IndexOf(sortInfo.m_FilterElements, (int)elementType) >= 0); }
//PASSIVESKILL_PARAM_CARD_CHANCE_UP_FIRE 手札出現率調整(属性別) public int Get_CARD_CHANCE_UP(MasterDataDefineLabel.ElementType element_type) { #if true // GC回避のためメモリ確保しないバージョン int ret_val = 0; switch (element_type) { case MasterDataDefineLabel.ElementType.NAUGHT: ret_val = skill_param_05; break; case MasterDataDefineLabel.ElementType.FIRE: ret_val = skill_param_00; break; case MasterDataDefineLabel.ElementType.WATER: ret_val = skill_param_01; break; case MasterDataDefineLabel.ElementType.LIGHT: ret_val = skill_param_03; break; case MasterDataDefineLabel.ElementType.DARK: ret_val = skill_param_04; break; case MasterDataDefineLabel.ElementType.WIND: ret_val = skill_param_02; break; case MasterDataDefineLabel.ElementType.HEAL: ret_val = skill_param_06; break; } return(ret_val); #else int[] table = { 0, //NONE skill_param_05, //NAUGHT skill_param_00, //FIRE skill_param_01, //WATER skill_param_03, //LIGHT skill_param_04, //DARK skill_param_02, //WIND skill_param_06, //HEAL }; return(table[(int)element_type]); #endif }
/// <summary> /// デバッグ用スキルカットイン再生 /// </summary> /// <param name="chara_fix_id"></param> /// <param name="img_2_tiling"></param> /// <param name="img_2_offsetX"></param> /// <param name="img_2_offsetY"></param> public void debugSkillCutin(int chara_fix_id, int img_2_tiling, int img_2_offsetX, int img_2_offsetY, int size_width, int size_height, MasterDataDefineLabel.PivotType pivot, int side_offset) { MasterDataParamChara base_chara_master = MasterFinder <MasterDataParamChara> .Instance.Find(chara_fix_id); if (base_chara_master != null) { // ダミーのキャラマスターを生成(面倒なのでスキルカットインで使うところだけ設定) MasterDataParamChara dummy_chara_master = new MasterDataParamChara(); dummy_chara_master.fix_id = base_chara_master.fix_id; dummy_chara_master.element = base_chara_master.element; dummy_chara_master.skill_active0 = base_chara_master.skill_active0; dummy_chara_master.img_2_tiling = img_2_tiling; dummy_chara_master.img_2_offsetX = img_2_offsetX; dummy_chara_master.img_2_offsetY = img_2_offsetY; dummy_chara_master.size_width = size_width; dummy_chara_master.size_height = size_height; dummy_chara_master.pivot = pivot; dummy_chara_master.side_offset = side_offset; // ダミーのキャラマスターをバトルのキャッシュに登録 BattleParam.m_MasterDataCache.clearCachePlayerAll(); BattleParam.m_MasterDataCache.addCharaParam(dummy_chara_master); // ダミーのキャラデータを生成(バトルのキャッシュを使用して生成される) CharaOnce chara_once = new CharaOnce(); bool is_success = chara_once.CharaSetupFromID((uint)chara_fix_id, 1); if (is_success) { string skill_name = "スキル名"; MasterDataDefineLabel.ElementType element_type = base_chara_master.element; MasterDataSkillActive skill_master = MasterFinder <MasterDataSkillActive> .Instance.Find((int)chara_once.m_CharaMasterDataParam.skill_active0); if (skill_master != null) { skill_name = skill_master.name; element_type = skill_master.skill_element; } // ダミーのパーティを生成 CharaOnce[] party_members = new CharaOnce[5]; party_members[0] = chara_once; BattleParam.m_PlayerParty = new CharaParty(); BattleParam.m_PlayerParty.PartySetup(party_members, true); // カットインを開始 clearSkill(); addSkill(GlobalDefine.PartyCharaIndex.LEADER, skill_name, ESKILLTYPE.eACTIVE, element_type, 0); startCutin(false, false, false); } } }
//---------------------------------------------------------------------------- /*! * @brief 手札変換:パネル指定 */ //---------------------------------------------------------------------------- public void ChangeHandPanel(BattleSkillActivity activity) { //------------------------------ // エラーチェック //------------------------------ if (activity == null || BattleParam.isActiveBattle() == false) { return; } // バトルマネージャ取得 BattleSceneManager battleMgr = BattleSceneManager.Instance; // 汎用パラメータから設定 MasterDataDefineLabel.ElementType[] elemArray = activity.Get_BOOSTSKILL_HAND_CNG_PANEL(); for (int i = 0; i < elemArray.Length; ++i) { BattleScene.BattleCard battle_card = battleMgr.PRIVATE_FIELD.m_BattleCardManager.m_HandArea.getCard(i); if (battle_card == null || elemArray[i] == MasterDataDefineLabel.ElementType.MAX) { continue; } // 変換先が設定されている場合 if (elemArray[i] != MasterDataDefineLabel.ElementType.NONE) { // 属性変更 battle_card.setElementType(elemArray[i], BattleScene.BattleCard.ChangeCause.SKILL); // 手札変化エフェクト BattleSceneManager.Instance.PRIVATE_FIELD.m_BattleCardManager.addEffectInfo(BattleScene._BattleCardManager.EffectInfo.EffectPosition.HAND_CARD_AREA, i, BattleScene._BattleCardManager.EffectInfo.EffectType.CARD_CHANGE); // 設定されていない場合は、ランダム変換 } else { // ランダム属性を取得 MasterDataDefineLabel.ElementType randElement = (MasterDataDefineLabel.ElementType)RandManager.GetRand((int)MasterDataDefineLabel.ElementType.NAUGHT, (int)MasterDataDefineLabel.ElementType.MAX); // 属性変更 battle_card.setElementType(randElement, BattleScene.BattleCard.ChangeCause.SKILL); // 手札変化エフェクト BattleSceneManager.Instance.PRIVATE_FIELD.m_BattleCardManager.addEffectInfo(BattleScene._BattleCardManager.EffectInfo.EffectPosition.HAND_CARD_AREA, i, BattleScene._BattleCardManager.EffectInfo.EffectType.CARD_CHANGE); } } }
private void SetSkillCutin(BattleSkillActivity cBattleSkillActivity) { if (cBattleSkillActivity != null) { string skill_name = cBattleSkillActivity.getMainText(); ESKILLTYPE skill_type = cBattleSkillActivity.m_SkillType; MasterDataDefineLabel.ElementType skill_element = cBattleSkillActivity.m_Element; int id = m_NewBattleSkillCutin.addSkill(cBattleSkillActivity.m_SkillParamOwnerNum, skill_name, skill_type, skill_element, cBattleSkillActivity.m_SkillIndex); cBattleSkillActivity.m_CutinID = id; } }
/// <summary> /// 手札内に指定属性のカードが何枚あるかを計算 /// </summary> /// <param name="element_type"></param> /// <returns></returns> public int countElement(MasterDataDefineLabel.ElementType element_type) { int ret_val = 0; for (int idx = 0; idx < m_BattleCards.Length; idx++) { if (m_BattleCards[idx] != null) { if (m_BattleCards[idx].getElementType() == element_type) { ret_val++; } } } return(ret_val); }
public CostInfo( MasterDataDefineLabel.ElementType cost0, MasterDataDefineLabel.ElementType cost1 = MasterDataDefineLabel.ElementType.NONE, MasterDataDefineLabel.ElementType cost2 = MasterDataDefineLabel.ElementType.NONE, MasterDataDefineLabel.ElementType cost3 = MasterDataDefineLabel.ElementType.NONE, MasterDataDefineLabel.ElementType cost4 = MasterDataDefineLabel.ElementType.NONE ) { m_CostCountMax = 5; resetCosts(); addCost(cost0); addCost(cost1); addCost(cost2); addCost(cost3); addCost(cost4); }
// Update is called once per frame void Update() { if (BattleParam.IsKobetsuHP && BattleParam.m_PlayerParty != null) { BattleSceneUtil.MultiInt damage_value = BattleParam.m_PlayerParty.getDispDamageValue(); BattleSceneUtil.MultiInt damage_target = BattleParam.m_PlayerParty.getDispDamageTarget(); MasterDataDefineLabel.ElementType damage_element = BattleParam.m_PlayerParty.getDispDamageElement(); BattleSceneUtil.MultiInt heal_value = BattleParam.m_PlayerParty.getDispRecoveryValue(); // ダメージ表示 setDamageValueMember(damage_element, damage_value, damage_target); // SP回復or消費 if (m_SP != BattleParam.m_PlayerParty.m_PartyTotalSP) { m_IsSpChangeEffect = true; } m_SP = BattleParam.m_PlayerParty.m_PartyTotalSP; if (m_IsSpChangeEffect) { if (BattleSkillCutinManager.Instance.isRunning() == false) { EffectManager.Instance.playEffect(SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_SP, Vector3.zero, Vector3.zero, m_PartySP.transform, null, 1.0f); m_IsSpChangeEffect = false; } } for (int idx = 0; idx < (int)GlobalDefine.PartyCharaIndex.MAX; idx++) { // HP回復 if (heal_value != null) { Transform chara_hp_trans = m_MemberHPTrans[idx]; int hp_delta = heal_value.getValue((GlobalDefine.PartyCharaIndex)idx); if (hp_delta > 0) { DrawDamageManager.showDamage(chara_hp_trans, hp_delta, EDAMAGE_TYPE.eDAMAGE_TYPE_HEAL, 3.0f, getInterfaceExtentionRate() * INTERFACE_EXTENTION_DAMAGE_VALUE_OFFSET_Y - 0.65f); setEffectHeal((GlobalDefine.PartyCharaIndex)idx); } } } } }
public SkillInfo(GlobalDefine.PartyCharaIndex party_member_index, string skill_name, ESKILLTYPE skill_type, MasterDataDefineLabel.ElementType skill_element, int active_skill_index, int skill_index) { m_Caster = party_member_index; if (m_Caster == GlobalDefine.PartyCharaIndex.GENERAL) { m_Caster = BattleParam.m_PlayerParty.getGeneralPartyMember(); } m_SkillName = skill_name; m_SkillType = skill_type; m_SkillElement = skill_element; m_ActiveSkillIndex = active_skill_index; m_SkillIndex = skill_index; m_ResurrectFlag = 0; m_Key = ((int)m_Caster) + ((m_SkillType == ESKILLTYPE.eLINK || m_SkillType == ESKILLTYPE.eLINKPASSIVE) ? 100 : 0); }
/// <summary> /// 属性ごとの色を取得する /// </summary> /// <param name="element_type"></param> /// <returns></returns> public static Color GetElementLabelColor(MasterDataDefineLabel.ElementType element_type) { string hex = ""; switch (element_type) { case MasterDataDefineLabel.ElementType.NAUGHT: hex = "#c6c6c6"; break; case MasterDataDefineLabel.ElementType.FIRE: hex = "#ff372c"; break; case MasterDataDefineLabel.ElementType.WATER: hex = "#41b6ff"; break; case MasterDataDefineLabel.ElementType.LIGHT: hex = "#ffff00"; break; case MasterDataDefineLabel.ElementType.DARK: hex = "#b400ff"; break; case MasterDataDefineLabel.ElementType.WIND: hex = "#25b300"; break; case MasterDataDefineLabel.ElementType.HEAL: hex = "#ff8c00"; break; } if (hex.IsNullOrEmpty()) { return(Color.white); } return(HexColor.ToColor(hex)); }
public Sprite GetElementPanel(MasterDataDefineLabel.ElementType elementType) { string sprite_name = ""; switch (elementType) { case MasterDataDefineLabel.ElementType.NAUGHT: sprite_name = "mu"; break; case MasterDataDefineLabel.ElementType.FIRE: sprite_name = "hi"; break; case MasterDataDefineLabel.ElementType.WATER: sprite_name = "mizu"; break; case MasterDataDefineLabel.ElementType.LIGHT: sprite_name = "hikari"; break; case MasterDataDefineLabel.ElementType.DARK: sprite_name = "yami"; break; case MasterDataDefineLabel.ElementType.WIND: sprite_name = "kaze"; break; case MasterDataDefineLabel.ElementType.HEAL: sprite_name = "kaifuku"; break; } if (sprite_name.IsNullOrEmpty()) { return(null); } return(ResourceManager.Instance.Load(sprite_name, ResourceType.Battle)); }
/// <summary> /// お手本戦闘用のカード供給 /// </summary> /// <returns></returns> public MasterDataDefineLabel.ElementType getTutorialCard() { MasterDataDefineLabel.ElementType ret_val = MasterDataDefineLabel.ElementType.NONE; if (m_CardIndex < m_CardOrder.Length) { ServerDataDefine.PacketStructHero hero = UserDataAdmin.Instance.getCurrentHero(); if (hero != null && hero.hero_id > 0 && hero.hero_id < m_CardAssign.GetLength(0) ) { ret_val = m_CardAssign[hero.hero_id][m_CardOrder[m_CardIndex]]; } m_CardIndex++; } return(ret_val); }
public void addCost(MasterDataDefineLabel.ElementType element_type, int value = 1) { if (element_type != MasterDataDefineLabel.ElementType.NONE) { if (m_CostCountUsing + value > m_CostCountMax) { value = m_CostCountMax - m_CostCountUsing; } if (m_ElementCounts[(int)element_type] + value < 0) { value = -m_ElementCounts[(int)element_type]; } m_ElementCounts[(int)element_type] += value; { m_CostCountUsing += value; } } }
// 属性ダメージ軽減情報を取得 public DeclineElementDamageInfo Get_DeclineElementDamageInfo(MasterDataDefineLabel.ElementType element_type) { // 個別属性指定と全属性が同時に存在するときは個別属性指定を優先する { MasterDataSkillPassive wrk_master = this; while (wrk_master != null) { if (wrk_master._Is_skill_decline_dmg_elem_active() && element_type == wrk_master.skill_decline_dmg_elem_elem ) { DeclineElementDamageInfo ret_val = new DeclineElementDamageInfo(); ret_val.m_DamagePercent = wrk_master.skill_decline_dmg_elem_rate; return(ret_val); } wrk_master = BattleParam.m_MasterDataCache.useSkillPassive((uint)wrk_master.add_fix_id); } } // 全属性(マスターデータに属性指定が無いものは全属性に対して効果あり) { MasterDataSkillPassive wrk_master = this; while (wrk_master != null) { if (wrk_master._Is_skill_decline_dmg_elem_active() && MasterDataDefineLabel.ElementType.NONE == wrk_master.skill_decline_dmg_elem_elem ) { DeclineElementDamageInfo ret_val = new DeclineElementDamageInfo(); ret_val.m_DamagePercent = wrk_master.skill_decline_dmg_elem_rate; return(ret_val); } wrk_master = BattleParam.m_MasterDataCache.useSkillPassive((uint)wrk_master.add_fix_id); } } return(null); }
private void _updateSprite() { if (m_BattleCard != null) { m_ElementType = m_BattleCard.getElementType(); m_IsOn = m_BattleCard.m_IsOn; Sprite sprite = null; if (m_ElementType > MasterDataDefineLabel.ElementType.NONE && m_ElementType < MasterDataDefineLabel.ElementType.MAX) { if (m_IsOn) { sprite = m_SpritesOn[(int)m_ElementType]; } else { sprite = m_SpritesOff[(int)m_ElementType]; } } if (sprite != null) { m_SpriteRenderer.enabled = true; m_SpriteRenderer.sprite = sprite; } else { m_SpriteRenderer.enabled = false; m_SpriteRenderer.sprite = null; } } else { m_ElementType = MasterDataDefineLabel.ElementType.NONE; m_IsOn = false; m_SpriteRenderer.enabled = false; m_SpriteRenderer.sprite = null; } }
/// <summary> /// 回復ヘイト値を取得 /// </summary> /// <param name="element_type">キャラの属性</param> /// <param name="rank">順位(1~5)</param> /// <returns></returns> public int getHealHate(MasterDataDefineLabel.ElementType element_type, MasterDataDefineLabel.KindType main_kind, MasterDataDefineLabel.KindType sub_kind, int rank) { int ret_val = 0; if (isEnableHate()) { int heal_hate = 0; switch (rank) { case 1: heal_hate = m_QuestBuildBattle.hate.hate_heal1; break; case 2: heal_hate = m_QuestBuildBattle.hate.hate_heal2; break; case 3: heal_hate = m_QuestBuildBattle.hate.hate_heal3; break; case 4: heal_hate = m_QuestBuildBattle.hate.hate_heal4; break; case 5: heal_hate = m_QuestBuildBattle.hate.hate_heal5; break; } int element_rate = getHateRatePercent(element_type, main_kind, sub_kind); ret_val = heal_hate * element_rate / 100; } return(ret_val); }