void On_WeaponChanged(ModuleWeapon newWeapon) { if (m_Weapon != null) { if (!M_Weapon.CardInfo.BaseInfo.IsTemp) { BattlePlayer.CardDeckManager.CardDeck.RecycleCardInstanceID(m_Weapon.OriginCardInstanceId); } m_Weapon.UnRegisterSideEffect(); } m_Weapon = newWeapon; BattlePlayer.GameManager.EventManager.Invoke(SideEffectExecute.TriggerTime.OnEquipEquiped, new ExecutorInfo(clientId: BattlePlayer.ClientId, mechId: M_MechID, equipId: m_Weapon.M_EquipID)); EquipWeaponServerRequest request = new EquipWeaponServerRequest(BattlePlayer.ClientId, (CardInfo_Equip)newWeapon.GetCurrentCardInfo(), M_MechID, m_Weapon.M_EquipID); BattlePlayer.MyClientProxy.BattleGameManager.Broadcast_AddRequestToOperationResponse(request); RefreshAttackTime(); int att_before = m_MechAttack; int we_before = m_MechWeaponEnergy; int weMax_before = m_MechWeaponEnergyMax; m_MechAttack = CardInfo.BattleInfo.BasicAttack + newWeapon.CardInfo.WeaponInfo.Attack; m_MechWeaponEnergyMax = newWeapon.CardInfo.WeaponInfo.EnergyMax; m_MechWeaponEnergy = newWeapon.CardInfo.WeaponInfo.Energy; if (m_MechWeaponEnergy == 0) { m_MechAttack = CardInfo.BattleInfo.BasicAttack; } MechAttributesChangeRequest request2 = new MechAttributesChangeRequest(BattlePlayer.ClientId, M_MechID, addAttack: m_MechAttack - att_before, addWeaponEnergy: m_MechWeaponEnergy - we_before, addWeaponEnergyMax: m_MechWeaponEnergyMax - weMax_before); BattlePlayer.MyClientProxy.BattleGameManager.Broadcast_AddRequestToOperationResponse(request2); }
void On_WeaponDown() { if (m_Weapon != null) { if (!M_Weapon.CardInfo.BaseInfo.IsTemp) { BattlePlayer.CardDeckManager.CardDeck.RecycleCardInstanceID(m_Weapon.OriginCardInstanceId); } BattlePlayer.GameManager.EventManager.Invoke(SideEffectExecute.TriggerTime.OnEquipDie, new ExecutorInfo(clientId: BattlePlayer.ClientId, mechId: M_MechID, equipId: m_Weapon.M_EquipID)); m_Weapon.UnRegisterSideEffect(); EquipWeaponServerRequest request = new EquipWeaponServerRequest(clientId: BattlePlayer.ClientId, cardInfo: null, mechId: M_MechID, equipID: m_Weapon.M_EquipID); BattlePlayer.MyClientProxy.BattleGameManager.Broadcast_AddRequestToOperationResponse(request); m_Weapon = null; int att_before = m_MechAttack; int we_before = m_MechWeaponEnergy; int weMax_before = m_MechWeaponEnergyMax; m_MechAttack = CardInfo.BattleInfo.BasicAttack; m_MechWeaponEnergy = 0; m_MechWeaponEnergyMax = 0; MechAttributesChangeRequest request2 = new MechAttributesChangeRequest(BattlePlayer.ClientId, M_MechID, addAttack: m_MechAttack - att_before, addWeaponEnergy: m_MechWeaponEnergy - we_before, addWeaponEnergyMax: m_MechWeaponEnergyMax - weMax_before); BattlePlayer.MyClientProxy.BattleGameManager.Broadcast_AddRequestToOperationResponse(request2); } }
private void OnEquipWeapon(EquipWeaponServerRequest r) { ClientPlayer cp = GetPlayerByClientId(r.clientId); cp.BattlePlayer.BattleGroundManager.EquipWeapon(r.cardInfo, r.mechId, r.equipID); }