public void InternalUpdate(PlayerEntity player) { if (!HeldWeaponAgent.IsValid()) { if (HeldSlotType != EWeaponSlotType.None) { SetHeldSlotType(EWeaponSlotType.None); } } switch (RelatedServerUpdate.EUpdateCmdType) { case EWeaponUpdateCmdType.UpdateHoldAppearance: logger.Info("WeaponUpdate.UpdateHeldAppearance Come in "); RelatedServerUpdate.UpdateCmdType = 0; //率先刷新手雷物品 TryHoldGrenade(true, false); RefreshWeaponAppearance(EWeaponSlotType.ThrowingWeapon); EWeaponSlotType newSlot = PollGetLastSlotType(); if (newSlot == HeldSlotType) { RefreshWeaponAppearance(); } else { if (player.playerInfo.JobAttribute == (int)EJobAttribute.EJob_EveryMan) { TryArmWeaponImmediately(newSlot); } } break; case EWeaponUpdateCmdType.ExchangePrimaryAppearance: RelatedServerUpdate.UpdateCmdType = 0; RefreshWeaponAppearance(EWeaponSlotType.PrimeWeapon); RefreshWeaponAppearance(EWeaponSlotType.SecondaryWeapon); break; default: break; } }
public void InternalUpdate() { GrenadeHandler.Rewind(); if (!HeldWeaponAgent.IsValid()) { if (HeldSlotType != EWeaponSlotType.None) { SetHeldSlotType(EWeaponSlotType.None); logger.InfoFormat("Do internal {0}", HeldSlotType); } } switch ((EWeaponUpdateCmdType)RelatedServerUpdate.UpdateCmdType) { case EWeaponUpdateCmdType.UpdateHoldAppearance: logger.Info("WeaponUpdate.UpdateHeldAppearance Come in "); RelatedServerUpdate.UpdateCmdType = 0; TryHoldGrenade(true, false); //率先刷新手雷物品 RefreshWeaponAppearance(EWeaponSlotType.ThrowingWeapon); EWeaponSlotType newSlot = PollGetLastSlotType(); if (newSlot == HeldSlotType) { RefreshWeaponAppearance(); } else { if (RelatedGamePlay.JobAttribute == (int)EJobAttribute.EJob_EveryMan) { TryArmWeaponImmediately(newSlot); } } break; case EWeaponUpdateCmdType.ExchangePrimaryAppearance: RelatedServerUpdate.UpdateCmdType = 0; RefreshWeaponAppearance(EWeaponSlotType.PrimeWeapon); RefreshWeaponAppearance(EWeaponSlotType.SecondaryWeapon); break; } }
public void LateUpdate() { if (!HeldWeaponAgent.IsValid() && HeldSlotType != EWeaponSlotType.None) { SetHeldSlotTypeProcess(EWeaponSlotType.None); } if (playerWeaponAgent.WeaponUpdateCache.UpdateHeldAppearance) { playerWeaponAgent.WeaponUpdateCache.UpdateHeldAppearance = false; //率先刷新手雷物品 TryHoldGrenade(true, false); RefreshWeaponAppearance(EWeaponSlotType.ThrowingWeapon); EWeaponSlotType newSlot = PollGetLastSlotType(); if (newSlot == HeldSlotType) { RefreshWeaponAppearance(); } else { TryArmWeapon(newSlot); } } }