internal static void InternalOnTellVirus(PlayerLife life) { BasePlayerEvents instance = life.GetComponent <BasePlayerEvents>(); BasePlayer rp = life.player.ToBasePlayer(); OnPlayerUpdateVirus.TryInvoke(rp, life.virus); instance.OnUpdateVirus.TryInvoke(rp, life.virus); }
internal static void InternalOnTellBleeding(PlayerLife life) { BasePlayerEvents instance = life.GetComponent <BasePlayerEvents>(); BasePlayer rp = life.player.ToBasePlayer(); OnPlayerUpdateBleeding.TryInvoke(rp, life.isBleeding); instance.OnUpdateBleeding.TryInvoke(rp, life.isBleeding); }
internal static void InternalOnTellHealth(PlayerLife life) { BasePlayerEvents instance = life.GetComponent <BasePlayerEvents>(); BasePlayer rp = life.player.ToBasePlayer(); OnPlayerUpdateHealth.TryInvoke(rp, life.health); instance.OnUpdateHealth.TryInvoke(rp, life.health); }
internal static void InternalOnStanceChanged(PlayerStance stance) { BasePlayerEvents instance = stance.GetComponent <BasePlayerEvents>(); BasePlayer rp = stance.player.ToBasePlayer(); OnPlayerUpdateStance.TryInvoke(rp, (byte)stance.stance); instance.OnUpdateStance.TryInvoke(rp, (byte)stance.stance); }
internal static void InternalOnExperienceChanged(PlayerSkills skills, uint oldExperience) { BasePlayerEvents instance = skills.GetComponent <BasePlayerEvents>(); BasePlayer rp = skills.player.ToBasePlayer(); OnPlayerUpdateExperience.TryInvoke(rp, skills.experience); instance.OnUpdateExperience.TryInvoke(rp, skills.experience); }
internal static void InternalOnPlayerDied(PlayerLife sender, EDeathCause cause, ELimb limb, CSteamID instigator) { BasePlayerEvents instance = sender.GetComponent <BasePlayerEvents>(); BasePlayer rp = sender.player.ToBasePlayer(); // First parameter of tellDead was the "ragdoll" force prior to client adjustments. Unnecessary AFAIK. OnPlayerDead.TryInvoke(rp, Vector3.zero); instance.OnDead.TryInvoke(rp, Vector3.zero); OnPlayerDeath.TryInvoke(rp, cause, limb, instigator); instance.OnDeath.TryInvoke(rp, cause, limb, instigator); }
internal static void InternalOnRevived(PlayerLife sender) { BasePlayerEvents instance = sender.GetComponent <BasePlayerEvents>(); BasePlayer rp = sender.player.ToBasePlayer(); // First parameter of tellLife was health. OnPlayerUpdateLife.TryInvoke(rp, sender.health); instance.OnUpdateLife.TryInvoke(rp, sender.health); // Ideally avoid using this angleToByte method in new code. Please. var transform1 = sender.transform; Vector3 position = transform1.position; byte angle = MeasurementTool.angleToByte(transform1.rotation.eulerAngles.y); OnPlayerRevive.TryInvoke(rp, position, angle); instance.OnRevive.TryInvoke(rp, position, angle); }
internal static void InternalOnGestureChanged(PlayerAnimator animator, EPlayerGesture vanillaGesture) { PlayerGesture rocketGesture; switch (vanillaGesture) { case EPlayerGesture.NONE: rocketGesture = PlayerGesture.None; break; case EPlayerGesture.INVENTORY_START: rocketGesture = PlayerGesture.InventoryOpen; break; case EPlayerGesture.INVENTORY_STOP: rocketGesture = PlayerGesture.InventoryClose; break; case EPlayerGesture.PICKUP: rocketGesture = PlayerGesture.Pickup; break; case EPlayerGesture.PUNCH_LEFT: rocketGesture = PlayerGesture.PunchLeft; break; case EPlayerGesture.PUNCH_RIGHT: rocketGesture = PlayerGesture.PunchRight; break; case EPlayerGesture.SURRENDER_START: rocketGesture = PlayerGesture.SurrenderStart; break; case EPlayerGesture.SURRENDER_STOP: rocketGesture = PlayerGesture.SurrenderStop; break; case EPlayerGesture.POINT: rocketGesture = PlayerGesture.Point; break; case EPlayerGesture.WAVE: rocketGesture = PlayerGesture.Wave; break; case EPlayerGesture.SALUTE: rocketGesture = PlayerGesture.Salute; break; case EPlayerGesture.ARREST_START: rocketGesture = PlayerGesture.ArrestStart; break; case EPlayerGesture.ARREST_STOP: rocketGesture = PlayerGesture.ArrestStop; break; case EPlayerGesture.REST_START: rocketGesture = PlayerGesture.RestStart; break; case EPlayerGesture.REST_STOP: rocketGesture = PlayerGesture.RestStop; break; case EPlayerGesture.FACEPALM: rocketGesture = PlayerGesture.Facepalm; break; default: // Rocket does not have an equivalent. Plugins should use the game's event instead because this // listener only exists for backwards compatibility. return; } BasePlayerEvents instance = animator.GetComponent <BasePlayerEvents>(); BasePlayer rp = animator.player.ToBasePlayer(); OnPlayerUpdateGesture.TryInvoke(rp, rocketGesture); instance.OnUpdateGesture.TryInvoke(rp, rocketGesture); }