コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }