public override GlobalDefine.PartyCharaIndex getLimitBreakSkillCaster() { // リミブレスキル使用禁止でないかチェック if (m_IsUseLimitBreakSkill) { int battle_turn_id = getBattleTurnID(); for (int member_idx = 0; member_idx < MEMBER_ORDER.Length; member_idx++) { GlobalDefine.PartyCharaIndex member_type = MEMBER_ORDER[member_idx]; // このターンでまだリミブレスキルを使用していないかチェック(1ターン中に何度も発動できるリミブレスキル対策) if (m_LimitBreakSkillTurnID[(int)member_type] != battle_turn_id) { // リミブレスキルが使用可能かチェック if (BattleParam.IsEnableLBS(member_type)) { m_LimitBreakSkillTurnID[(int)member_type] = battle_turn_id; return(member_type); } } } } return(GlobalDefine.PartyCharaIndex.ERROR); }
private void initHero() { skillWindowTag.Tab_active = false; UnityUtil.SetObjectEnabledOnce(unitNamePanel.gameObject, false); UnityUtil.SetObjectEnabledOnce(unitSkillPanel.gameObject, false); UnityUtil.SetObjectEnabledOnce(unitLinkPanel.gameObject, false); UnityUtil.SetObjectEnabledOnce(unitParamPanel.gameObject, false); UnityUtil.SetObjectEnabledOnce(unitAilmentPanel.gameObject, false); UnityUtil.SetObjectEnabledOnce(heroDetailPanel.gameObject, true); Label_text = GameTextUtil.GetText("battle_infotext5"); PacketStructHero hero = null; int unique_id = UserDataAdmin.Instance.m_StructPlayer.current_hero_id; for (int i = 0; i < UserDataAdmin.Instance.m_StructHeroList.Length; ++i) { if (UserDataAdmin.Instance.m_StructHeroList[i].unique_id == unique_id) { hero = UserDataAdmin.Instance.m_StructHeroList[i]; } } heroDetailPanel.SetDetail(hero); m_CharaIdx = GlobalDefine.PartyCharaIndex.HERO; }
/// <summary> /// 属性配置優先順を取得 /// </summary> /// <param name="member_order"></param> /// <returns></returns> public CostInfo[] getElementOrder(PanelInfo panel_info, GlobalDefine.PartyCharaIndex[] member_order) { List <CostInfo> cost_info_order = new List <CostInfo>(); // 復活があるときは回復を最優先で置く if (m_IsTryResurrect) { int sp = BattleParam.m_PlayerParty.GetSP(); if (sp > 0) { CharaOnce[] dead_charas = BattleParam.m_PlayerParty.getPartyMembers(CharaParty.CharaCondition.DEAD); if (dead_charas.Length > 0) { for (int field_idx = 0; field_idx < panel_info.m_IsBoosts.Length; field_idx++) { if (panel_info.m_IsBoosts[field_idx]) { cost_info_order.Add(new CostInfo(MasterDataDefineLabel.ElementType.HEAL, MasterDataDefineLabel.ElementType.HEAL, MasterDataDefineLabel.ElementType.HEAL, MasterDataDefineLabel.ElementType.HEAL, MasterDataDefineLabel.ElementType.HEAL)); break; } } } } } // メインユニットのLEADER,MOB_1,MOB2,MOB3,FRIEND,リンクユニットのLEADER,MOB_1,MOB2,MOB3,FRIENDの順に並べる for (int skill_idx = 0; skill_idx < m_SkillCosts.GetLength(2); skill_idx++) { for (int link_idx = 0; link_idx < m_SkillCosts.GetLength(0); link_idx++) { for (int member_idx = 0; member_idx < member_order.Length; member_idx++) { GlobalDefine.PartyCharaIndex member_type = member_order[member_idx]; SkillCost skill_cost = m_SkillCosts[link_idx, (int)member_type, skill_idx]; if (skill_cost != null && skill_cost.m_CostInfo != null ) { bool is_enable_skill = true; { CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember(member_type, CharaParty.CharaCondition.ALIVE); if (chara_once == null) { is_enable_skill = false; } } if (is_enable_skill) { cost_info_order.Add(skill_cost.m_CostInfo); } } } } } CostInfo[] ret_val = cost_info_order.ToArray(); return(ret_val); }
public void setup(Sprite icon, Sprite circle, GlobalDefine.PartyCharaIndex index, bool select) { IconImage = icon; IconAttribute = circle; m_CharaIndex = index; setSelect(select); }
public void setEffectHeal(GlobalDefine.PartyCharaIndex player_index, int heal_level = 3) { Transform chara_hp_trans = m_MemberHPTrans[(int)player_index]; GameObject effect_prefab = null; switch (heal_level) { case 0: effect_prefab = SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_00; break; case 1: effect_prefab = SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_01; break; case 2: effect_prefab = SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_02; break; case 3: effect_prefab = SceneObjReferGameMain.Instance.m_EffectPrefab.m_Heal_03; break; } if (effect_prefab != null) { EffectManager.Instance.playEffect(effect_prefab, new Vector3(1.0f, getInterfaceExtentionRate() * 0.7f - 2.7f, 0.0f), Vector3.zero, chara_hp_trans, null, 3.0f); } }
void SetUpUVParam(GlobalDefine.PartyCharaIndex charaIndex, Rect rect) { if (charaIndex == GlobalDefine.PartyCharaIndex.MOB_2) { m_DebugPartyOffset.ThirdUnitMaterial.SetTextureOffset("_MainTex", rect.position); m_DebugPartyOffset.ThirdUnitMaterial.SetTextureScale("_MainTex", rect.size); } }
public void AddData(PacketStructUnit unitData, GlobalDefine.PartyCharaIndex partyCharaIndex, PacketStructUnit[] partyUnits) { PartyMemberStatusListItemContext unitStatus = new PartyMemberStatusListItemContext(); unitStatus.PartyCharaIndex = partyCharaIndex; SetUnitData(ref unitStatus, unitData, partyUnits); UnitStatusParams.Add(unitStatus); }
public void ChangeData(PacketStructUnit unitData, GlobalDefine.PartyCharaIndex partyCharaIndex, PacketStructUnit[] partyUnits) { PartyMemberStatusListItemContext selectUnitStatus = UnitStatusParams.Find(value => value.PartyCharaIndex == partyCharaIndex); SetUnitData(ref selectUnitStatus, unitData, partyUnits); UpdateOtherMemberStatus(partyCharaIndex, partyUnits); SetStatusParam(); }
public bool IsSkillMenuActiveUnit(GlobalDefine.PartyCharaIndex index) { if (index == m_CharaIdx) { return(true); } return(false); }
protected override void PageSwitchSetting(bool initalize) { base.PageSwitchSetting(initalize); AndroidBackKeyManager.Instance.StackPush(m_CanvasObj.gameObject, OnSelectReturn); //-------------------------------- // オブジェクトの取得 //-------------------------------- m_PartyMemberUnitGroup = m_CanvasObj.GetComponentInChildren <PartyMemberUnitGroup>(); m_PartyMemberUnitGroup.SetPositionAjustStatusBar(new Vector2(0, -132)); m_PartyMemberUnitGroup.SetSizeParfect(new Vector2(0, 100)); m_UnitGrid = m_CanvasObj.GetComponentInChildren <UnitGridComplex>(); //ユニットグリッド取得 m_UnitGrid.SetPositionAjustStatusBar(new Vector2(0, -15), new Vector2(-48, -355)); m_UnitGrid.AttchUnitGrid <UnitGridView>(UnitGridView.Create()); m_ExpandWindow = m_CanvasObj.GetComponentInChildren <ExpandWindow>(); m_ExpandWindow.SetPositionAjustStatusBar(new Vector2(0, -232)); m_ExpandWindow.DidSelectButton = SelectWindowButton; m_PartyMemberStatusPanel = m_CanvasObj.GetComponentInChildren <PartyMemberStatusPanel>(); m_UnitPartyAssignButtonPanel = m_CanvasObj.GetComponentInChildren <UnitPartyAssignButtonPanel>(); m_SelectPartyCharaIndex = GlobalDefine.PartyCharaIndex.ERROR; m_IsPartyMemberChange = false; //カレントパーティ設定 m_CurrentSelectPartyIndex = UserDataAdmin.Instance.m_StructPlayer.unit_party_current; CreatePartyMemberUnitGroup(); // パーティメンバーの作成 CreateUnitGrid(); // ユニットリストの作成 CreatePatyStatusPanel(); ChangeUnitGridMark(); if (m_UnitPartyAssignButtonPanel != null) { m_UnitPartyAssignButtonPanel.ClickExecuteButton = OnClickDecision; m_UnitPartyAssignButtonPanel.ClickReturnButton = OnSelectReturn; } m_ExpandWindow.Close(true); if (MainMenuParam.m_PartyAssignPrevPage == MAINMENU_SEQ.SEQ_QUEST_SELECT_PARTY) { MainMenuManager.Instance.currentCategory = MAINMENU_CATEGORY.QUEST; } else { MainMenuManager.Instance.currentCategory = MAINMENU_CATEGORY.UNIT; } m_IsShowChangeConfirmation = false; m_IsFinishChangeConfirmation = false; CheckUnitSpace(); }
public static void plusFormedSkillCounts(int skill_index, GlobalDefine.PartyCharaIndex member_index, int value) { int new_value = m_FormedSkillCounts[skill_index, (int)member_index] + value; if (new_value < 0) { new_value = 0; } m_FormedSkillCounts[skill_index, (int)member_index] = new_value; }
/// <summary> /// スキル効果を適用 /// </summary> /// <param name="passive_skill_master"></param> /// <param name="member_index"></param> /// <param name="is_link_member"></param> /// <param name="dest_param_ai"></param> public void applySkill(MasterDataSkillPassive passive_skill_master, GlobalDefine.PartyCharaIndex member_index, bool is_link_member) { for (MasterDataDefineLabel.AutoPlaySkillType skill_type = MasterDataDefineLabel.AutoPlaySkillType.NONE + 1; skill_type < MasterDataDefineLabel.AutoPlaySkillType.MAX; skill_type++) { bool is_exist = passive_skill_master.Check_AutoPlaySkillType(skill_type); if (is_exist) { applySkill(skill_type, member_index, is_link_member); } } }
public void changeUnit(GlobalDefine.PartyCharaIndex prevIndex, GlobalDefine.PartyCharaIndex nextIndex) { if (prevIndex != GlobalDefine.PartyCharaIndex.HERO) { m_UnitIcon[(int)prevIndex].setSelect(false); } if (nextIndex != GlobalDefine.PartyCharaIndex.HERO) { m_UnitIcon[(int)nextIndex].setSelect(true); } }
public void setup(GlobalDefine.PartyCharaIndex index, System.Action <GlobalDefine.PartyCharaIndex> action) { for (int i = 0; i < (int)GlobalDefine.PartyCharaIndex.MAX; ++i) { m_UnitIcon[i].setup(InGamePlayerParty.Instance.m_PartyUnit[i].Unit_base, InGamePlayerParty.Instance.m_PartyUnit[i].Attribute_circle, (GlobalDefine.PartyCharaIndex)i, i == (int)index); m_UnitIcon[i].m_ClickAction = action; } HeroImage = InGamePlayerParty.Instance.m_InGamePartyManager.Hero_face; HeroImageMask = InGamePlayerParty.Instance.m_InGamePartyManager.Hero_face_mask; changeHero(index == GlobalDefine.PartyCharaIndex.HERO); }
private static BattleSkillActivity getLeaderSkillActivity(GlobalDefine.PartyCharaIndex charaIdx, CharaParty PlayerParty) { BattleSkillActivity activity = new BattleSkillActivity(); if (activity == null) { return(null); } if (charaIdx < 0 || charaIdx >= GlobalDefine.PartyCharaIndex.MAX) { return(null); } if (PlayerParty == null) { return(null); } // パーティリーダーキャラ情報を取得 CharaOnce chara = PlayerParty.getPartyMember(charaIdx, CharaParty.CharaCondition.EXIST); if (chara == null) { return(null); } if (chara == null) { return(null); } if (!chara.m_bHasCharaMasterDataParam) { return(null); } MasterDataSkillLeader skill = BattleParam.m_MasterDataCache.useSkillLeader(chara.m_CharaMasterDataParam.skill_leader); if (skill == null) { return(null); } //-------------------------------------------------------------------- // スキル発動情報設定 //-------------------------------------------------------------------- activity.m_SkillParamOwnerNum = charaIdx; activity.m_SkillParamFieldID = 0; activity.m_SkillParamSkillID = chara.m_CharaMasterDataParam.skill_leader; activity.m_SkillType = ESKILLTYPE.eLEADER; return(activity); }
public int addSkill(GlobalDefine.PartyCharaIndex party_member_index, string skill_name, ESKILLTYPE skill_type, MasterDataDefineLabel.ElementType skill_element, int active_skill_index) { SkillInfo skill_info = new SkillInfo(party_member_index, skill_name, skill_type, skill_element, active_skill_index, m_SkillIndex); m_SkillInfos.Add(skill_info); int ret_val = m_SkillIndex; m_SkillIndex++; return(ret_val); }
//------------------------------------------------------------------------ /*! * @brief LBSリクエスト設定 * @param[in] int (nIdx) キャラインデックス */ //------------------------------------------------------------------------ public static void RequestLBS(GlobalDefine.PartyCharaIndex nIdx) { if (nIdx >= 0 && nIdx < GlobalDefine.PartyCharaIndex.MAX) { m_LBSCharaIdx = nIdx; } else if (nIdx == GlobalDefine.PartyCharaIndex.HERO && IsKobetsuHP ) { m_LBSCharaIdx = nIdx; } }
private void UpdateOtherMemberStatus(GlobalDefine.PartyCharaIndex changeCharaIndex, PacketStructUnit[] partyUnits) { for (var i = (int)GlobalDefine.PartyCharaIndex.LEADER; i < partyUnits.Length; i++) { var charaIndex = (GlobalDefine.PartyCharaIndex)i; if (changeCharaIndex == charaIndex) { continue; } var selectUnitStatus = UnitStatusParams.Find(value => value.PartyCharaIndex == charaIndex); SetUnitData(ref selectUnitStatus, partyUnits[i], partyUnits); } }
private static BattleSkillActivity getSkillActivity(GlobalDefine.PartyCharaIndex charaIdx, uint skillID, ESKILLTYPE skillType) { BattleSkillActivity activity = new BattleSkillActivity(); //-------------------------------- // スキル情報を設定 //-------------------------------- activity.m_SkillParamOwnerNum = charaIdx; activity.m_SkillParamFieldID = 0; activity.m_SkillParamSkillID = skillID; activity.m_SkillType = skillType; return(activity); }
void SetUpUVParam(GlobalDefine.PartyCharaIndex charaIndex) { int index = (int)charaIndex; if (index < 0 || m_OffsetXArray.GetLength(1) <= index) { return; } Rect rect = new Rect(m_OffsetXArray[m_Index, index], m_OffsetYArray[m_Index, index], m_TilingArray[m_Index, index], m_TilingArray[m_Index, index]); SetUpUVParam(charaIndex, rect); }
private void setEnableLimitBreak(int on_off, GlobalDefine.PartyCharaIndex caster_index) { if (caster_index >= GlobalDefine.PartyCharaIndex.LEADER && caster_index < GlobalDefine.PartyCharaIndex.MAX) { // リミブレスキルを使用可能に CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember(caster_index, CharaParty.CharaCondition.SKILL_TURN1); if (chara_once != null) { m_IsForbidLimitBreak[(int)caster_index] = !(on_off != 0); chara_once.AddCharaLimitBreak(99999); } } m_IsNextCommand = true; }
public static void plusPartyMemberHands(GlobalDefine.PartyCharaIndex member_index, int value) { if (member_index == GlobalDefine.PartyCharaIndex.GENERAL) { member_index = m_PlayerParty.getGeneralPartyMember(); } if (member_index >= GlobalDefine.PartyCharaIndex.LEADER && member_index < GlobalDefine.PartyCharaIndex.MAX) { m_PartyMemberHands[(int)member_index] += value; if (m_PartyMemberHands[(int)member_index] < 0) { m_PartyMemberHands[(int)member_index] = 0; } } }
public static bool BattleInitialize(BattleReq cBattleReq, SceneModeContinuousBattle continuous_battle) { initBattleParam(continuous_battle); m_BattleRequest = cBattleReq; if (cBattleReq != null) { m_QuestBuild = cBattleReq.m_QuestBuild; } else { m_QuestBuild = null; } m_EnemyToPlayerTarget = GlobalDefine.PartyCharaIndex.ERROR; return(BattleSceneManager.Instance.PRIVATE_FIELD.BattleInitialize()); }
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); }
private CostInfo _getActiveSkillCost(GlobalDefine.PartyCharaIndex member_index, int active_skill_no) { CostInfo ret_val = null; CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember(member_index, CharaParty.CharaCondition.EXIST); if (chara_once != null) { uint active_skill_fix_id = (active_skill_no == 0) ? chara_once.m_CharaMasterDataParam.skill_active0 : chara_once.m_CharaMasterDataParam.skill_active1; MasterDataSkillActive master_data_skill_active = BattleParam.m_MasterDataCache.useSkillActive(active_skill_fix_id); if (master_data_skill_active != null) { ret_val = new CostInfo(master_data_skill_active.cost1, master_data_skill_active.cost2, master_data_skill_active.cost3, master_data_skill_active.cost4, master_data_skill_active.cost5); } } return(ret_val); }
//---------------------------------------------------------------------------- /*! * @brief リンクシステム:リンクユニットIDの取得 * @param[in] int (nPartyCharaIdx) パーティキャラ番号 * @return uint [キャラID] * @note パーティキャラから、リンクユニットのキャラIDを取得 */ //---------------------------------------------------------------------------- static public uint GetLinkUnitID(GlobalDefine.PartyCharaIndex nPartyCharaIdx) { uint unResult = 0; //-------------------------------- // エラーチェック //-------------------------------- CharaOnce chara_once = BattleParam.m_PlayerParty.getPartyMember(nPartyCharaIdx, CharaParty.CharaCondition.EXIST); if (chara_once == null) { return(unResult); } unResult = chara_once.m_LinkParam.m_CharaID; return(unResult); }
public void changePartyUnit(GlobalDefine.PartyCharaIndex index) { if (index == GlobalDefine.PartyCharaIndex.ERROR) { return; } if (m_CharaIdx == index) { return; } if (index != GlobalDefine.PartyCharaIndex.HERO) { if (InGamePlayerParty.Instance != null && InGamePlayerParty.Instance.m_PartyUnit[(int)index].IsSetUnit() == false) { return; } } SoundUtil.PlaySE(SEID.SE_MENU_OK); skillWindowParty.changeUnit(m_CharaIdx, index); skillWindowParty.changeHero(index == GlobalDefine.PartyCharaIndex.HERO); if (index != GlobalDefine.PartyCharaIndex.HERO) { if (m_CharaIdx == GlobalDefine.PartyCharaIndex.HERO) { skillWindowTag.Tab_active = true; UnityUtil.SetObjectEnabledOnce(unitNamePanel.gameObject, true); setupStatusWindow(); } m_CharaId = SceneModeContinuousBattle.Instance.m_PlayerPartyChara[(int)index].m_CharaMasterDataParam.fix_id; m_CharaIdx = index; initPanel(); if (UnityUtil.ChkObjectEnabled(unitLinkPanel.gameObject) == true && skillWindowTag.Link_tag_active == false) { setupStatusWindow(); } } else { initHero(); } }
/// <summary> /// 各メンバーのスキル成立数を取得 /// </summary> /// <param name="member_index"></param> /// <returns></returns> public static int getPartyMemberHands(GlobalDefine.PartyCharaIndex member_index) { if (member_index == GlobalDefine.PartyCharaIndex.GENERAL) { member_index = m_PlayerParty.getGeneralPartyMember(); } if (member_index >= GlobalDefine.PartyCharaIndex.LEADER && member_index < GlobalDefine.PartyCharaIndex.MAX) { int ret_val = m_PartyMemberHands[(int)member_index]; if (ret_val > 0) { return(ret_val); } } return(0); }
public bool isForbidLimitBreak(GlobalDefine.PartyCharaIndex caster_index) { if (BattleParam.IsTutorial()) { if (m_IsForbidButton) { return(true); } if (caster_index >= GlobalDefine.PartyCharaIndex.LEADER && caster_index < GlobalDefine.PartyCharaIndex.MAX) { return(m_IsForbidLimitBreak[(int)caster_index]); } if (caster_index == GlobalDefine.PartyCharaIndex.HERO) { return(true); } } return(false); }
private static void initBattleParam(SceneModeContinuousBattle continuous_battle) { if (continuous_battle != null) { m_QuestAreaID = continuous_battle.m_QuestAreaID; m_QuestMissionID = continuous_battle.m_QuestMissionID; m_PlayerParty = continuous_battle.m_PlayerParty; m_QuestFloor = continuous_battle.m_QuestFloor; m_AcquireKey = continuous_battle.m_AcquireKey; m_LBSCharaIdx = continuous_battle.m_LBSCharaIdx; m_SkillRequestLimitBreak = continuous_battle.m_SkillRequestLimitBreak; m_QuestTotalTurn = continuous_battle.m_QuestTotalTurn; m_BattleRound = continuous_battle.battleCount; m_QuestRandSeed = continuous_battle.m_QuestRandSeed; } }