Exemple #1
0
    //IEnumerator StopExpText()
    //{
    //    yield return new WaitForSeconds(1f);
    //    expGainText.gameObject.SetActive(false);
    //}

    private void InitialLevelUp(int level)
    {
        var changeweapon = player.GetComponent <ChangeWeapon>();

        for (int i = 0; i < level; i++)
        {
            lifeStat.stat += 10;
            strStat.stat  += 10;
            dexStat.stat  += 10;

            player.UpdateMaxLife(player.maxLife + 10 * 25f);
            changeweapon.str += 5;
            changeweapon.dex += 5;
            maxExp           *= expFactor;
        }
    }
        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 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 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 InternalOnTellBroken(PlayerLife life)
        {
            UnturnedPlayerEvents instance = life.GetComponent <UnturnedPlayerEvents>();
            UnturnedPlayer       rp       = UnturnedPlayer.FromPlayer(life.player);

            OnPlayerUpdateBroken.TryInvoke(rp, life.isBroken);
            instance.OnUpdateBroken.TryInvoke(rp, life.isBroken);
        }
        internal static void InternalOnPlayerDeath(PlayerLife sender, EDeathCause cause, ELimb limb, CSteamID instigator)
        {
            UnturnedPlayerEvents instance = sender.GetComponent <UnturnedPlayerEvents>();
            UnturnedPlayer       rp       = UnturnedPlayer.FromPlayer(sender.player);

            OnPlayerDeath.TryInvoke(rp, cause, limb, instigator);
            instance.OnDeath.TryInvoke(rp, cause, limb, instigator);
        }
        internal static void InternalOnPlayerDied(PlayerLife sender, EDeathCause cause, ELimb limb, CSteamID instigator)
        {
            UnturnedPlayerEvents instance = sender.GetComponent <UnturnedPlayerEvents>();
            UnturnedPlayer       rp       = UnturnedPlayer.FromPlayer(sender.player);

            // 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);
        }
Exemple #8
0
    IEnumerator RespawnPlayer(PlayerLife player)
    {
        yield return(new WaitForSeconds(player.TotalTimeRespawn));

        player.gameObject.SetActive(true);
        var move = player.GetComponent <MoveCharController>();

        move.ResetMovement();

        player.OnRespawn.Invoke(player);
        m_matchStarted = true;
    }
        internal static void InternalOnRevived(PlayerLife sender)
        {
            UnturnedPlayerEvents instance = sender.GetComponent <UnturnedPlayerEvents>();
            UnturnedPlayer       rp       = UnturnedPlayer.FromPlayer(sender.player);

            // 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.
            Vector3 position = sender.transform.position;
            byte    angle    = MeasurementTool.angleToByte(sender.transform.rotation.eulerAngles.y);

            OnPlayerRevive.TryInvoke(rp, position, angle);
            instance.OnRevive.TryInvoke(rp, position, angle);
        }