Beispiel #1
0
    public void PreProcess(IPrefabProcessor preProcess, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
    {
        List <HitboxDefinition> obj = Pool.GetList <HitboxDefinition>();

        GetComponentsInChildren(obj);
        if (serverside)
        {
            foreach (HitboxDefinition item2 in obj)
            {
                preProcess?.RemoveComponent(item2);
            }
            preProcess?.RemoveComponent(this);
        }
        if (clientside)
        {
            hitboxes.Clear();
            foreach (HitboxDefinition item3 in obj.OrderBy((HitboxDefinition x) => x.priority))
            {
                HitboxShape item = new HitboxShape
                {
                    bone             = item3.transform,
                    localTransform   = item3.LocalMatrix,
                    colliderMaterial = item3.physicMaterial,
                    type             = item3.type
                };
                hitboxes.Add(item);
                preProcess?.RemoveComponent(item3);
            }
        }
        Pool.FreeList(ref obj);
    }
Beispiel #2
0
 public override void PreProcess(IPrefabProcessor process, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
 {
     if (bundling)
     {
         return;
     }
     base.PreProcess(process, rootObj, name, serverside, clientside, false);
     if (base.isServer && this.Obstacle)
     {
         if (AiManager.nav_disable)
         {
             process.RemoveComponent(this.Obstacle);
             this.Obstacle = null;
         }
         else if (AiManager.nav_obstacles_carve_state >= 2)
         {
             this.Obstacle.carving = true;
         }
         else if (AiManager.nav_obstacles_carve_state != 1)
         {
             this.Obstacle.carving = false;
         }
         else
         {
             this.Obstacle.carving = this.Obstacle.gameObject.layer == 21;
         }
     }
     process.RemoveComponent(this);
 }
Beispiel #3
0
 public virtual void PreClientComponentCull(IPrefabProcessor p)
 {
     p.RemoveComponent(this.trigger);
     p.RemoveComponent(this.reverbZone);
     p.RemoveComponent(this);
     p.NominateForDeletion(base.gameObject);
 }
Beispiel #4
0
 public override void PreProcess(
     IPrefabProcessor process,
     GameObject rootObj,
     string name,
     bool serverside,
     bool clientside,
     bool bundling)
 {
     if (bundling)
     {
         return;
     }
     base.PreProcess(process, rootObj, name, serverside, clientside, false);
     if (this.isServer && Object.op_Implicit((Object)this.Obstacle))
     {
         if (AiManager.nav_disable)
         {
             process.RemoveComponent((Component)this.Obstacle);
             this.Obstacle = (NavMeshObstacle)null;
         }
         else if (AiManager.nav_obstacles_carve_state >= 2)
         {
             this.Obstacle.set_carving(true);
         }
         else if (AiManager.nav_obstacles_carve_state == 1)
         {
             this.Obstacle.set_carving(((Component)this.Obstacle).get_gameObject().get_layer() == 21);
         }
         else
         {
             this.Obstacle.set_carving(false);
         }
     }
     process.RemoveComponent((Component)this);
 }
 public override void PreProcess(
     IPrefabProcessor process,
     GameObject rootObj,
     string name,
     bool serverside,
     bool clientside,
     bool bundling)
 {
     base.PreProcess(process, rootObj, name, serverside, clientside, bundling);
     if (Object.op_Inequality((Object)this.ServerCollider, (Object)this.ClientCollider))
     {
         if (clientside)
         {
             if (Object.op_Implicit((Object)this.ServerCollider))
             {
                 process.RemoveComponent((Component)this.ServerCollider);
                 this.ServerCollider = (Collider)null;
             }
         }
         else if (Object.op_Implicit((Object)this.ClientCollider))
         {
             process.RemoveComponent((Component)this.ClientCollider);
             this.ClientCollider = (Collider)null;
         }
     }
     process.RemoveComponent((Component)this);
 }
 public void PreProcess(IPrefabProcessor process, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
 {
     if ((!clientside || !runClientside) && (!serverside || !runServerside))
     {
         process.RemoveComponent(this);
     }
 }
 public virtual void PreProcess(IPrefabProcessor preProcess, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
 {
     if (bundling)
     {
         return;
     }
     this.fullName      = name;
     this.hierachyName  = base.transform.GetRecursiveName("");
     this.prefabID      = StringPool.Get(name);
     this.instanceID    = base.GetInstanceID();
     this.worldPosition = base.transform.position;
     this.worldRotation = base.transform.rotation;
     this.worldForward  = base.transform.forward;
     this.localPosition = base.transform.localPosition;
     this.localScale    = base.transform.localScale;
     this.localRotation = base.transform.localRotation;
     if (serverside)
     {
         this.prefabAttribute = PrefabAttribute.server;
         this.gameManager     = GameManager.server;
         this.isServer        = true;
     }
     this.AttributeSetup(rootObj, name, serverside, clientside, bundling);
     if (serverside)
     {
         PrefabAttribute.server.Add(this.prefabID, this);
     }
     preProcess.RemoveComponent(this);
     preProcess.NominateForDeletion(base.gameObject);
 }
 public override void PreProcess(IPrefabProcessor preProcess, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
 {
     base.PreProcess(preProcess, rootObj, name, serverside, clientside, bundling);
     if (serverside)
     {
         preProcess.RemoveComponent(GetComponent <Collider>());
     }
 }
Beispiel #9
0
 public virtual void PreProcess(IPrefabProcessor preProcess, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
 {
     LODGroup[] componentsInChildren = base.GetComponentsInChildren <LODGroup>(true);
     for (int i = 0; i < (int)componentsInChildren.Length; i++)
     {
         LODGroup lODGroup = componentsInChildren[i];
         lODGroup.SetLODs(Wearable.emptyLOD);
         preProcess.RemoveComponent(lODGroup);
     }
 }
 public override void PreProcess(IPrefabProcessor process, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
 {
     base.PreProcess(process, rootObj, name, serverside, clientside, bundling);
     if (this.ServerCollider != this.ClientCollider)
     {
         if (clientside)
         {
             if (this.ServerCollider)
             {
                 process.RemoveComponent(this.ServerCollider);
                 this.ServerCollider = null;
             }
         }
         else if (this.ClientCollider)
         {
             process.RemoveComponent(this.ClientCollider);
             this.ClientCollider = null;
         }
     }
     process.RemoveComponent(this);
 }
Beispiel #11
0
 public void PreProcess(
     IPrefabProcessor process,
     GameObject rootObj,
     string name,
     bool serverside,
     bool clientside,
     bool bundling)
 {
     if ((!clientside || !this.runClientside ? (!serverside ? 0 : (this.runServerside ? 1 : 0)) : 1) != 0)
     {
         return;
     }
     process.RemoveComponent((Component)this);
 }
Beispiel #12
0
 public virtual void PreProcess(
     IPrefabProcessor preProcess,
     GameObject rootObj,
     string name,
     bool serverside,
     bool clientside,
     bool bundling)
 {
     foreach (LODGroup componentsInChild in (LODGroup[])((Component)this).GetComponentsInChildren <LODGroup>(true))
     {
         componentsInChild.SetLODs(Wearable.emptyLOD);
         preProcess.RemoveComponent((Component)componentsInChild);
     }
 }
    public void PreProcess(IPrefabProcessor process, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
    {
        bool flag;

        if (!clientside || !this.runClientside)
        {
            flag = (!serverside ? false : this.runServerside);
        }
        else
        {
            flag = true;
        }
        if (!flag)
        {
            process.RemoveComponent(this);
        }
    }
    public void PreProcess(IPrefabProcessor process, GameObject rootObj, string name, bool serverside, bool clientside, bool bundling)
    {
        GameObject[] gameObjectArray;
        int          i;

        Component[] componentArray;
        if (clientside)
        {
            gameObjectArray = this.removedFromClient;
            for (i = 0; i < (int)gameObjectArray.Length; i++)
            {
                UnityEngine.Object.DestroyImmediate(gameObjectArray[i], true);
            }
            componentArray = this.removedComponentFromClient;
            for (i = 0; i < (int)componentArray.Length; i++)
            {
                UnityEngine.Object.DestroyImmediate(componentArray[i], true);
            }
        }
        if (serverside)
        {
            gameObjectArray = this.removedFromServer;
            for (i = 0; i < (int)gameObjectArray.Length; i++)
            {
                UnityEngine.Object.DestroyImmediate(gameObjectArray[i], true);
            }
            componentArray = this.removedComponentFromServer;
            for (i = 0; i < (int)componentArray.Length; i++)
            {
                UnityEngine.Object.DestroyImmediate(componentArray[i], true);
            }
        }
        if (!bundling)
        {
            process.RemoveComponent(this);
        }
    }
 public void PreProcess(
     IPrefabProcessor process,
     GameObject rootObj,
     string name,
     bool serverside,
     bool clientside,
     bool bundling)
 {
     if (clientside)
     {
         foreach (Object @object in this.removedFromClient)
         {
             Object.DestroyImmediate(@object, true);
         }
         foreach (Object @object in this.removedComponentFromClient)
         {
             Object.DestroyImmediate(@object, true);
         }
     }
     if (serverside)
     {
         foreach (Object @object in this.removedFromServer)
         {
             Object.DestroyImmediate(@object, true);
         }
         foreach (Object @object in this.removedComponentFromServer)
         {
             Object.DestroyImmediate(@object, true);
         }
     }
     if (bundling)
     {
         return;
     }
     process.RemoveComponent((Component)this);
 }
Beispiel #16
0
 public virtual void PreClientComponentCull(IPrefabProcessor p)
 {
     p.RemoveComponent((Component)this.collider);
     p.RemoveComponent((Component)this);
     p.NominateForDeletion(((Component)this).get_gameObject());
 }
Beispiel #17
0
 public virtual void PreClientComponentCull(IPrefabProcessor p)
 {
     p.RemoveComponent(this);
 }