コード例 #1
0
 private bool CreateRagdoll()
 {
     if (this.ragdollPrefab != null)
     {
         ArmorModelRenderer local = this.ragdollPrefab.GetLocal <ArmorModelRenderer>();
         if (local != null)
         {
             AnimationClip clip;
             float         num;
             ActorRig      actorRig = local.actorRig;
             if ((actorRig != null) && actorRig.FindPoseClip("sleep", out clip, out num))
             {
                 this.ragdollInstance            = Object.Instantiate(this.ragdollPrefab, base.transform.position, base.transform.rotation) as Ragdoll;
                 this.ragdollInstance.sourceMain = this;
                 GameObject gameObject = this.ragdollInstance.gameObject;
                 Object.Destroy(gameObject, 80f);
                 gameObject.SampleAnimation(clip, num);
                 local = this.ragdollInstance.GetLocal <ArmorModelRenderer>();
                 ArmorModelMemberMap map = new ArmorModelMemberMap();
                 bool flag = false;
                 flag |= BindArmorMap <ArmorModelFeet>(this.footArmor, ref map);
                 flag |= BindArmorMap <ArmorModelLegs>(this.legArmor, ref map);
                 flag |= BindArmorMap <ArmorModelTorso>(this.torsoArmor, ref map);
                 if (flag | BindArmorMap <ArmorModelHead>(this.headArmor, ref map))
                 {
                     local.BindArmorModels(map);
                 }
                 return(true);
             }
         }
     }
     return(false);
 }
コード例 #2
0
    private bool CreateRagdoll()
    {
        AnimationClip animationClip;
        float         single;

        if (this.ragdollPrefab)
        {
            ArmorModelRenderer local = this.ragdollPrefab.GetLocal <ArmorModelRenderer>();
            if (local)
            {
                ActorRig actorRig = local.actorRig;
                if (actorRig)
                {
                    if (actorRig.FindPoseClip("sleep", out animationClip, out single))
                    {
                        this.ragdollInstance            = UnityEngine.Object.Instantiate(this.ragdollPrefab, base.transform.position, base.transform.rotation) as Ragdoll;
                        this.ragdollInstance.sourceMain = this;
                        GameObject gameObject = this.ragdollInstance.gameObject;
                        UnityEngine.Object.Destroy(gameObject, 80f);
                        gameObject.SampleAnimation(animationClip, single);
                        local = this.ragdollInstance.GetLocal <ArmorModelRenderer>();
                        ArmorModelMemberMap armorModelMemberMaps = new ArmorModelMemberMap();
                        if (false | SleepingAvatar.BindArmorMap <ArmorModelFeet>(this.footArmor, ref armorModelMemberMaps) | SleepingAvatar.BindArmorMap <ArmorModelLegs>(this.legArmor, ref armorModelMemberMaps) | SleepingAvatar.BindArmorMap <ArmorModelTorso>(this.torsoArmor, ref armorModelMemberMaps) | SleepingAvatar.BindArmorMap <ArmorModelHead>(this.headArmor, ref armorModelMemberMaps))
                        {
                            local.BindArmorModels(armorModelMemberMaps);
                        }
                        return(true);
                    }
                }
            }
        }
        return(false);
    }
コード例 #3
0
ファイル: DeathTransfer.cs プロジェクト: sknchan/LegacyRust
    private Ragdoll CreateRagdoll()
    {
        CharacterRagdollTrait trait = base.GetTrait <CharacterRagdollTrait>();

        if (!trait)
        {
            return(null);
        }
        GameObject gameObject = UnityEngine.Object.Instantiate(trait.ragdollPrefab, base.transform.position, base.transform.rotation) as GameObject;
        Ragdoll    component  = gameObject.GetComponent <Ragdoll>();

        component.sourceMain  = base.idMain;
        this._ragdollInstance = gameObject;
        UnityEngine.Object.Destroy(gameObject, 80f);
        this.deathShot.LinkRagdoll(base.transform, gameObject);
        ArmorModelRenderer local = base.GetLocal <ArmorModelRenderer>();
        ArmorModelRenderer armorModelRenderer = component.GetLocal <ArmorModelRenderer>();

        if (local && armorModelRenderer)
        {
            armorModelRenderer.BindArmorModels(local.GetArmorModelMemberMapCopy());
        }
        return(component);
    }
コード例 #4
0
ファイル: DeathTransfer.cs プロジェクト: salvadj1/RustSource
    private Ragdoll CreateRagdoll()
    {
        CharacterRagdollTrait trait = base.GetTrait <CharacterRagdollTrait>();

        if (trait == null)
        {
            return(null);
        }
        GameObject obj2      = Object.Instantiate(trait.ragdollPrefab, base.transform.position, base.transform.rotation) as GameObject;
        Ragdoll    component = obj2.GetComponent <Ragdoll>();

        component.sourceMain  = base.idMain;
        this._ragdollInstance = obj2;
        Object.Destroy(obj2, 80f);
        this.deathShot.LinkRagdoll(base.transform, obj2);
        ArmorModelRenderer local     = base.GetLocal <ArmorModelRenderer>();
        ArmorModelRenderer renderer2 = component.GetLocal <ArmorModelRenderer>();

        if ((local != null) && (renderer2 != null))
        {
            renderer2.BindArmorModels(local.GetArmorModelMemberMapCopy());
        }
        return(component);
    }