Exemplo n.º 1
0
    public static IDRemote DoLocalAppend(IDRemote localAppend, IDMain instance, Transform appendPoint)
    {
        Transform transforms = localAppend.transform;

        if (localAppend.transform != localAppend.transform.root)
        {
            Debug.LogWarning("The localAppend transform was not a root");
        }
        IDRemote  dRemote     = (IDRemote)UnityEngine.Object.Instantiate(localAppend, appendPoint.TransformPoint(transforms.localPosition), appendPoint.rotation * transforms.localRotation);
        Transform transforms1 = dRemote.transform;

        transforms1.parent        = appendPoint;
        transforms1.localPosition = transforms.localPosition;
        transforms1.localRotation = transforms.localRotation;
        transforms1.localScale    = transforms.localScale;
        dRemote.idMain            = instance;
        IDRemote[] componentsInChildren = instance.GetComponentsInChildren <IDRemote>();
        for (int i = 0; i < (int)componentsInChildren.Length; i++)
        {
            IDRemote dRemote1 = componentsInChildren[i];
            if (!dRemote1.idMain)
            {
                dRemote1.idMain = instance;
            }
        }
        return(dRemote);
    }
        // Token: 0x06002E71 RID: 11889 RVA: 0x000B28E4 File Offset: 0x000B0AE4
        public static bool Filter(global::ExplosionHelper.Surface[] array, ref int length)
        {
            int num = array.Length;

            try
            {
                for (int i = 0; i < num; i++)
                {
                    IDMain idMain = array[i].idMain;
                    if (idMain && !global::ExplosionHelper.Unique.Set.Add(idMain))
                    {
                        int num2 = i;
                        while (++i < num)
                        {
                            idMain = array[i].idMain;
                            if (!array[i].idMain || global::ExplosionHelper.Unique.Set.Add(idMain))
                            {
                                array[num2++] = array[i];
                            }
                        }
                        length = num2;
                        return(true);
                    }
                }
            }
            finally
            {
                global::ExplosionHelper.Unique.Set.Clear();
            }
            return(false);
        }
Exemplo n.º 3
0
    private NetworkView Create(ref CustomInstantiationArgs args, out IDMain instance)
    {
        NetworkView view3;

        if ((float.IsNaN(args.position.x) || float.IsNaN(args.position.y)) || float.IsNaN(args.position.z))
        {
            Debug.LogWarning("NetMainPrefab -> Create -  args.position = " + args.position);
            Debug.LogWarning("This means you're creating an object with a bad position!");
        }
        NetInstance instance2 = _currentNetInstance;

        try
        {
            _currentNetInstance = null;
            if (args.hasCustomInstantiator)
            {
                NetworkView networkView;
                instance = null;
                try
                {
                    instance = args.customInstantiate.CustomInstantiatePrefab(ref args);
                }
                catch (Exception exception)
                {
                    Debug.LogError(string.Format("Thrown Exception during custom instantiate via '{0}' with instantiation '{2}'\r\ndefault instantiation will now occur --  exception follows..\r\n{1}", args.customInstantiate, exception, this), this);
                    if (instance != null)
                    {
                        Object.Destroy(instance);
                    }
                    instance = null;
                }
                try
                {
                    networkView = instance.networkView;
                    if (networkView == null)
                    {
                        Debug.LogWarning(string.Format("The custom instantiator '{0}' with instantiation '{1}' did not return a idmain with a network view. so its being added", args.customInstantiate, this), this);
                        networkView = instance.gameObject.AddComponent <uLinkNetworkView>();
                    }
                }
                catch (Exception exception2)
                {
                    networkView = null;
                    Debug.LogError(string.Format("The custom instantiator '{0}' did not instantiate a IDMain with a networkview or something else with instantiation '{2}'.. \r\n {1}", args.customInstantiate, exception2, this), this);
                }
                if (networkView != null)
                {
                    return(networkView);
                }
            }
            NetworkView view2 = (NetworkView)NetworkInstantiatorUtility.Instantiate(args.prefabNetworkView, args.args);
            instance = view2.GetComponent <IDMain>();
            view3    = view2;
        }
        finally
        {
            _currentNetInstance = instance2;
        }
        return(view3);
    }
Exemplo n.º 4
0
    public static IDRemote DoLocalAppend(IDRemote localAppend, IDMain instance, Transform appendPoint)
    {
        Transform transform = localAppend.transform;

        if (localAppend.transform != localAppend.transform.root)
        {
            Debug.LogWarning("The localAppend transform was not a root");
        }
        IDRemote  remote     = (IDRemote)UnityEngine.Object.Instantiate(localAppend, appendPoint.TransformPoint(transform.localPosition), appendPoint.rotation * transform.localRotation);
        Transform transform2 = remote.transform;

        transform2.parent        = appendPoint;
        transform2.localPosition = transform.localPosition;
        transform2.localRotation = transform.localRotation;
        transform2.localScale    = transform.localScale;
        remote.idMain            = instance;
        foreach (IDRemote remote2 in instance.GetComponentsInChildren <IDRemote>())
        {
            if (remote2.idMain == null)
            {
                remote2.idMain = instance;
            }
        }
        return(remote);
    }
Exemplo n.º 5
0
 public static bool Filter(ExplosionHelper.Surface[] array, ref int length)
 {
     int num = array.Length;
     try
     {
         for (int i = 0; i < num; i++)
         {
             IDMain idMain = array[i].idMain;
             if ((idMain != null) && !Set.Add(idMain))
             {
                 int num3 = i;
                 while (++i < num)
                 {
                     idMain = array[i].idMain;
                     if ((array[i].idMain == null) || Set.Add(idMain))
                     {
                         array[num3++] = array[i];
                     }
                 }
                 length = num3;
                 return true;
             }
         }
     }
     finally
     {
         Set.Clear();
     }
     return false;
 }
Exemplo n.º 6
0
    // Token: 0x06002C3D RID: 11325 RVA: 0x000A5AE4 File Offset: 0x000A3CE4
    private bool ValidatePrefab()
    {
        if (string.IsNullOrEmpty(this._sleepingAvatarPrefab))
        {
            return(false);
        }
        GameObject gameObject;

        global::NetCull.PrefabSearch prefabSearch = global::NetCull.LoadPrefab(this._sleepingAvatarPrefab, out gameObject);
        if ((int)prefabSearch != 1)
        {
            Debug.LogError(string.Format("sleeping avatar prefab named \"{0}\" resulted in {1} which was not {2}(required)", this.prefab, prefabSearch, global::NetCull.PrefabSearch.NGC));
            return(false);
        }
        IDMain component = gameObject.GetComponent <IDMain>();

        if (!(component is global::SleepingAvatar))
        {
            Debug.LogError(string.Format("Theres no Sleeping avatar on prefab \"{0}\"", this.prefab), gameObject);
            return(false);
        }
        this._hasInventory = component.GetLocal <global::Inventory>();
        global::TakeDamage local = component.GetLocal <global::TakeDamage>();

        this._hasTakeDamage  = local;
        this._takeDamageType = ((!this._hasTakeDamage) ? null : local.GetType());
        return(true);
    }
Exemplo n.º 7
0
    private bool ValidatePrefab()
    {
        GameObject obj2;

        if (string.IsNullOrEmpty(this._sleepingAvatarPrefab))
        {
            return(false);
        }
        NetCull.PrefabSearch search = NetCull.LoadPrefab(this._sleepingAvatarPrefab, out obj2);
        if (((int)search) != 1)
        {
            Debug.LogError(string.Format("sleeping avatar prefab named \"{0}\" resulted in {1} which was not {2}(required)", this.prefab, search, NetCull.PrefabSearch.NGC));
            return(false);
        }
        IDMain component = obj2.GetComponent <IDMain>();

        if (!(component is SleepingAvatar))
        {
            Debug.LogError(string.Format("Theres no Sleeping avatar on prefab \"{0}\"", this.prefab), obj2);
            return(false);
        }
        this._hasInventory = component.GetLocal <Inventory>();
        TakeDamage local = component.GetLocal <TakeDamage>();

        this._hasTakeDamage  = (bool)local;
        this._takeDamageType = !this._hasTakeDamage ? null : local.GetType();
        return(true);
    }
Exemplo n.º 8
0
        // Token: 0x0600063E RID: 1598 RVA: 0x00046938 File Offset: 0x00044B38
        public static GameObject GetLineObject(Vector3 start, Vector3 end, out Vector3 point, int layerMask = -1)
        {
            point = Vector3.zero;
            RaycastHit        raycastHit;
            bool              flag2;
            MeshBatchInstance meshBatchInstance;
            bool              flag = !Facepunch.MeshBatch.MeshBatchPhysics.Linecast(start, end, out raycastHit, layerMask, out flag2, out meshBatchInstance);
            GameObject        result;

            if (flag)
            {
                result = null;
            }
            else
            {
                IDMain idmain = flag2 ? meshBatchInstance.idMain : IDBase.GetMain(raycastHit.collider);
                point = raycastHit.point;
                bool flag3 = !(idmain != null);
                if (flag3)
                {
                    result = raycastHit.collider.gameObject;
                }
                else
                {
                    result = idmain.gameObject;
                }
            }
            return(result);
        }
Exemplo n.º 9
0
 private void OnLocallyAppended(IDMain main)
 {
     if (this._motor == null)
     {
         this._motor = main.GetRemote <CCMotor>();
     }
 }
Exemplo n.º 10
0
 // Token: 0x06002E2C RID: 11820 RVA: 0x000AEA80 File Offset: 0x000ACC80
 private void OnLocallyAppended(IDMain main)
 {
     if (!this._motor)
     {
         this._motor = main.GetRemote <global::CCMotor>();
     }
 }
Exemplo n.º 11
0
 public Point(Vector3 point, float blastRadius, int overlapLayerMask, int raycastLayerMask, IDMain skip)
 {
     this.point            = point;
     this.blastRadius      = blastRadius;
     this.overlapLayerMask = overlapLayerMask;
     this.raycastLayerMask = raycastLayerMask;
     this.skip             = skip;
 }
Exemplo n.º 12
0
        private static bool smethod_0(TruthDetector truthDetector_0, Vector3 vector3_0, ref Vector3 vector3_1)
        {
            RaycastHit        hit;
            bool              flag;
            MeshBatchInstance instance;
            Vector3           vector = vector3_1 - vector3_0;

            if (vector.magnitude == 0f)
            {
                return(false);
            }
            Ray ray = new Ray(vector3_0 + new Vector3(0f, 0.75f, 0f), vector.normalized);

            if (!Facepunch.MeshBatch.MeshBatchPhysics.SphereCast(ray, 0.1f, out hit, vector.magnitude, 0x20180403, out flag, out instance))
            {
                return(false);
            }
            IDMain             main      = flag ? instance.idMain : IDBase.GetMain(hit.collider);
            GameObject         obj2      = (main != null) ? main.gameObject : hit.collider.gameObject;
            string             newValue  = obj2.name.Trim();
            DeployableObject   obj3      = obj2.GetComponent <DeployableObject>();
            StructureComponent component = obj2.GetComponent <StructureComponent>();

            if (newValue == "")
            {
                newValue = "Mesh Texture";
            }
            else if (obj3 != null)
            {
                newValue = Helper.NiceName(obj3.name);
                if (truthDetector_0.netUser.userID == obj3.ownerID)
                {
                    return(false);
                }
                if (Users.SharedGet(obj3.ownerID, truthDetector_0.netUser.userID))
                {
                    return(false);
                }
            }
            else if (component != null)
            {
                newValue = Helper.NiceName(component.name);
                if (truthDetector_0.netUser.userID == component._master.ownerID)
                {
                    return(false);
                }
                if (Users.SharedGet(component._master.ownerID, truthDetector_0.netUser.userID))
                {
                    return(false);
                }
            }
            PunishDetails = Config.GetMessageTruth("Truth.Punish.Reason.WallHack", truthDetector_0.netUser, "", 0, new DateTime());
            PunishDetails = PunishDetails.Replace("%OBJECT.NAME%", newValue);
            PunishDetails = PunishDetails.Replace("%OBJECT.POS%", hit.point.AsString());
            HackDetected  = HackMethod.WallHack;
            vector3_1     = MoveBack(truthDetector_0, vector3_0, vector3_1);
            return(true);
        }
 // Token: 0x06000269 RID: 617 RVA: 0x0000CEF8 File Offset: 0x0000B0F8
 public void TryReportHit(GameObject hitGameObject)
 {
     if (this._myItemInstance != null && !this.reported)
     {
         this.reported = true;
         IDMain main = IDBase.GetMain(hitGameObject);
         this._myItemInstance.ArrowReportHit(main, this);
     }
 }
Exemplo n.º 14
0
 public void Set(IDMain idMain, ref Vector3 localPoint, ref Angle2 localNormal, byte bodyPart, ref uLink.NetworkMessageInfo info)
 {
     if (idMain is Character)
     {
         this.Set((Character)idMain, ref localPoint, ref localNormal, bodyPart, ref info);
     }
     else
     {
         this.Set(idMain.GetRemote <HitBoxSystem>(), ref localPoint, ref localNormal, bodyPart, ref info);
     }
 }
Exemplo n.º 15
0
        public static EventTimer TimeEvent_TeleportTo(NetUser Sender, NetUser Target, string Command, double time)
        {
            Class38 class2 = new Class38 {
                netUser_0 = Sender,
                netUser_1 = Target,
                string_0  = Command
            };

            if (Core.CommandTeleportOutdoorsOnly)
            {
                foreach (Collider collider in Physics.OverlapSphere(class2.netUser_1.playerClient.controllable.character.transform.position, 1f, 0x10360401))
                {
                    IDMain main = IDBase.GetMain(collider);
                    if (main != null)
                    {
                        StructureMaster component = main.GetComponent <StructureMaster>();
                        if (((component != null) && (component.ownerID != class2.netUser_0.userID)) && (component.ownerID != class2.netUser_1.userID))
                        {
                            UserData bySteamID = Users.GetBySteamID(component.ownerID);
                            if ((bySteamID == null) || (!bySteamID.HasShared(class2.netUser_0.userID) && !bySteamID.HasShared(class2.netUser_1.userID)))
                            {
                                Broadcast.Notice(class2.netUser_0, "☢", Config.GetMessage("Command.Teleport.NoTeleport", class2.netUser_0, class2.netUser_1.displayName), 5f);
                                Broadcast.Notice(class2.netUser_1, "☢", Config.GetMessage("Command.Teleport.NotHere", class2.netUser_1, class2.netUser_0.displayName), 5f);
                                return(null);
                            }
                        }
                    }
                }
            }
            Broadcast.Message(class2.netUser_0, Config.GetMessage("Command.Teleport.IsConfirm", class2.netUser_0, null).Replace("%USERNAME%", class2.netUser_1.displayName), null, 0f);
            Broadcast.Message(class2.netUser_1, Config.GetMessage("Command.Teleport.Confirmed", class2.netUser_1, null).Replace("%USERNAME%", class2.netUser_0.displayName), null, 0f);
            if (!Character.FindByUser(class2.netUser_1.userID, out class2.character_0))
            {
                return(null);
            }
            if (time <= 0.0)
            {
                Teleport_PlayerTo(null, class2.netUser_0, class2.netUser_1, class2.string_0, class2.character_0.transform.position);
                return(null);
            }
            EventTimer timer = new EventTimer {
                Interval  = time * 1000.0,
                AutoReset = false
            };

            timer.Elapsed += new ElapsedEventHandler(class2.method_0);
            timer.Sender   = class2.netUser_0;
            timer.Target   = class2.netUser_1;
            timer.Command  = class2.string_0;
            Broadcast.Notice(class2.netUser_0, "☢", Config.GetMessage("Command.Teleport.Timewait", class2.netUser_0, null).Replace("%TIME%", timer.TimeLeft.ToString()), 5f);
            Broadcast.Notice(class2.netUser_1, "☢", Config.GetMessage("Command.Teleport.Timewait", class2.netUser_1, null).Replace("%TIME%", timer.TimeLeft.ToString()), 5f);
            timer.Start();
            return(timer);
        }
Exemplo n.º 16
0
 public void Set(IDMain idMain, ref Vector3 localPoint, ref Angle2 localNormal, byte bodyPart, ref uLink.NetworkMessageInfo info)
 {
     if (!(idMain is Character))
     {
         this.Set(idMain.GetRemote<HitBoxSystem>(), ref localPoint, ref localNormal, bodyPart, ref info);
     }
     else
     {
         this.Set((Character)idMain, ref localPoint, ref localNormal, bodyPart, ref info);
     }
 }
Exemplo n.º 17
0
        public static GameObject SpawnAtPlayer(string prefab, PlayerClient player, int count)
        {
            Vector3   vector;
            Vector3   vector2;
            IDMain    idMain    = player.controllable.idMain;
            Transform transform = idMain.transform;

            idMain.transform.GetGroundInfo(out vector, out vector2);
            Quaternion rotation = TransformHelpers.LookRotationForcedUp(player.transform.forward, vector2);

            return(Spawn(prefab, vector, rotation, count));
        }
Exemplo n.º 18
0
    public static bool GetIDMainFromCollider(Collider collider, out IDMain main)
    {
        IDBase base2;

        if (GetIDBaseFromCollider(collider, out base2))
        {
            main = base2.idMain;
            return((bool)main);
        }
        main = null;
        return(false);
    }
Exemplo n.º 19
0
    // Token: 0x06000EB6 RID: 3766 RVA: 0x00038A50 File Offset: 0x00036C50
    public static bool GetIDMainFromCollider(Collider collider, out IDMain main)
    {
        IDBase idbase;

        if (global::TransformHelpers.GetIDBaseFromCollider(collider, out idbase))
        {
            main = idbase.idMain;
            return(main);
        }
        main = null;
        return(false);
    }
Exemplo n.º 20
0
        public static GameObject SpawnAtPlayer(string prefab, PlayerClient player, int count)
        {
            IDMain    idMain    = player.controllable.idMain;
            Transform transform = idMain.transform;
            Vector3   position;
            Vector3   up;

            idMain.transform.GetGroundInfo(out position, out up);
            Quaternion rotation = TransformHelpers.LookRotationForcedUp(player.transform.forward, up);

            return(World.Spawn(prefab, position, rotation, count));
        }
Exemplo n.º 21
0
    private NetInstance Summon(IDMain prefab, bool isServer, ref NetworkInstantiateArgs niargs)
    {
        IDMain main;
        CustomInstantiationArgs args     = new CustomInstantiationArgs(this, this._customInstantiator, prefab, ref niargs, isServer);
        NetworkView             view     = this.Create(ref args, out main);
        NetInstance             instance = view.gameObject.AddComponent <NetInstance>();

        instance.args        = args;
        instance.idMain      = main;
        instance.prepared    = false;
        instance.networkView = view;
        return(instance);
    }
Exemplo n.º 22
0
    private void Exit(VisNode a, VisNode b)
    {
        IDMain idMain     = a.idMain;
        IDMain instigator = !this.nonInstance ? b.idMain : null;

        for (int i = 0; i < this.actions.Length; i++)
        {
            if (this.actions[i] != null)
            {
                this.actions[i].UnAcomplish(idMain, instigator);
            }
        }
    }
Exemplo n.º 23
0
    // Token: 0x060027C1 RID: 10177 RVA: 0x00090748 File Offset: 0x0008E948
    private void Enter(global::VisNode a, global::VisNode b)
    {
        IDMain idMain     = a.idMain;
        IDMain instigator = (!this.nonInstance) ? b.idMain : null;

        for (int i = 0; i < this.actions.Length; i++)
        {
            if (this.actions[i])
            {
                this.actions[i].Accomplish(idMain, instigator);
            }
        }
    }
Exemplo n.º 24
0
    public void Touched()
    {
        TransCarrier carrier = this.GetCarrier();

        if (carrier != null)
        {
            IDMain idMain = carrier.idMain;
            if ((idMain != null) && (idMain is StructureComponent))
            {
                ((StructureComponent)idMain).Touched();
            }
        }
    }
Exemplo n.º 25
0
    // Token: 0x0600216F RID: 8559 RVA: 0x0007B0D0 File Offset: 0x000792D0
    private global::NetInstance Summon(IDMain prefab, bool isServer, ref NetworkInstantiateArgs niargs)
    {
        global::CustomInstantiationArgs args = new global::CustomInstantiationArgs(this, this._customInstantiator, prefab, ref niargs, isServer);
        IDMain idMain;

        Facepunch.NetworkView networkView = this.Create(ref args, out idMain);
        global::NetInstance   netInstance = networkView.gameObject.AddComponent <global::NetInstance>();

        netInstance.args        = args;
        netInstance.idMain      = idMain;
        netInstance.prepared    = false;
        netInstance.networkView = networkView;
        return(netInstance);
    }
Exemplo n.º 26
0
 public virtual void UseItem(IBloodDrawItem draw)
 {
     if (Time.time >= (draw.lastUseTime + 2f))
     {
         Inventory inventory = draw.inventory;
         if (inventory.GetLocal <HumanBodyTakeDamage>().health > this.bloodToTake)
         {
             IDMain idMain = inventory.idMain;
             TakeDamage.Hurt(idMain, idMain, this.bloodToTake, null);
             inventory.AddItem(ref LateLoaded.blood, Inventory.Slot.Preference.Define(Inventory.Slot.Kind.Default, true, Inventory.Slot.KindFlags.Belt), 1);
             draw.lastUseTime = Time.time;
         }
     }
 }
Exemplo n.º 27
0
    private NetInstance Summon(IDMain prefab, bool isServer, ref NetworkInstantiateArgs niargs)
    {
        IDMain dMain;
        CustomInstantiationArgs customInstantiationArg = new CustomInstantiationArgs(this, this._customInstantiator, prefab, ref niargs, isServer);

        Facepunch.NetworkView networkView = this.Create(ref customInstantiationArg, out dMain);
        NetInstance           netInstance = networkView.gameObject.AddComponent <NetInstance>();

        netInstance.args        = customInstantiationArg;
        netInstance.idMain      = dMain;
        netInstance.prepared    = false;
        netInstance.networkView = networkView;
        return(netInstance);
    }
Exemplo n.º 28
0
        public GameObject GetLineObject(Vector3 start, Vector3 end, out Vector3 point, int layerMask = -1)
        {
            RaycastHit        hit;
            bool              flag;
            MeshBatchInstance instance;

            point = Vector3.zero;
            if (!Facepunch.MeshBatch.MeshBatchPhysics.Linecast(start, end, out hit, layerMask, out flag, out instance))
            {
                return(null);
            }
            IDMain main = flag ? instance.idMain : IDBase.GetMain(hit.collider);

            point = hit.point;
            return((main != null) ? main.gameObject : hit.collider.gameObject);
        }
Exemplo n.º 29
0
        public GameObject GetLookObject(Ray ray, out Vector3 point, float distance = 300f, int layerMask = -1)
        {
            RaycastHit        hit;
            bool              flag;
            MeshBatchInstance instance;

            point = Vector3.zero;
            if (!Facepunch.MeshBatch.MeshBatchPhysics.Raycast(ray, out hit, distance, layerMask, out flag, out instance))
            {
                return(null);
            }
            IDMain main = flag ? instance.idMain : IDBase.GetMain(hit.collider);

            point = hit.point;
            return((main != null) ? main.gameObject : hit.collider.gameObject);
        }
 public virtual Interpolator AddInterpolator(IDMain main)
 {
     if (!string.IsNullOrEmpty(this._interpolatorComponentTypeName))
     {
         Component    component    = main.gameObject.AddComponent(this._interpolatorComponentTypeName);
         Interpolator interpolator = component as Interpolator;
         if (interpolator != null)
         {
             interpolator.idMain = main;
             return(interpolator);
         }
         Debug.LogError(this._interpolatorComponentTypeName + " is not a interpolator");
         UnityEngine.Object.Destroy(component);
     }
     return(null);
 }
Exemplo n.º 31
0
        public static bool Filter(ExplosionHelper.Surface[] array, ref int length)
        {
            bool flag;
            int  num = (int)array.Length;

            try
            {
                int num1 = 0;
                while (num1 < num)
                {
                    IDMain dMain = array[num1].idMain;
                    if (!dMain || ExplosionHelper.Unique.Set.Add(dMain))
                    {
                        num1++;
                    }
                    else
                    {
                        int num2 = num1;
                        while (true)
                        {
                            int num3 = num1 + 1;
                            num1 = num3;
                            if (num3 >= num)
                            {
                                break;
                            }
                            dMain = array[num1].idMain;
                            if (!array[num1].idMain || ExplosionHelper.Unique.Set.Add(dMain))
                            {
                                int num4 = num2;
                                num2        = num4 + 1;
                                array[num4] = array[num1];
                            }
                        }
                        length = num2;
                        flag   = true;
                        return(flag);
                    }
                }
                return(false);
            }
            finally
            {
                ExplosionHelper.Unique.Set.Clear();
            }
            return(flag);
        }
 public virtual Interpolator AddInterpolator(IDMain main)
 {
     if (string.IsNullOrEmpty(this._interpolatorComponentTypeName))
     {
         return null;
     }
     Component component = main.gameObject.AddComponent(this._interpolatorComponentTypeName);
     Interpolator interpolator = component as Interpolator;
     if (interpolator)
     {
         interpolator.idMain = main;
         return interpolator;
     }
     Debug.LogError(string.Concat(this._interpolatorComponentTypeName, " is not a interpolator"));
     UnityEngine.Object.Destroy(component);
     return null;
 }
Exemplo n.º 33
0
 private CustomInstantiationArgs(NetMainPrefab netMain, UnityEngine.Object customInstantiator, IDMain prefab, ref NetworkInstantiateArgs args, bool server, bool checkCustomInstantitorArgument)
 {
     this.netMain = netMain;
     this.prefab = prefab;
     this.prefabNetworkView = prefab.networkView;
     this.args = args;
     this.server = server;
     if (!checkCustomInstantitorArgument || !customInstantiator)
     {
         this.hasCustomInstantiator = CustomInstantiationArgs.CheckNetworkViewCustomInstantiator(this.prefabNetworkView, this.prefab, out this.customInstantiate);
     }
     else
     {
         this.customInstantiate = customInstantiator as IPrefabCustomInstantiate;
         if (this.customInstantiate != null)
         {
             this.hasCustomInstantiator = true;
         }
         else
         {
             this.hasCustomInstantiator = CustomInstantiationArgs.CheckNetworkViewCustomInstantiator(this.prefabNetworkView, this.prefab, out this.customInstantiate);
         }
     }
 }
Exemplo n.º 34
0
 public CustomInstantiationArgs(NetMainPrefab netMain, UnityEngine.Object customInstantiator, IDMain prefab, ref NetworkInstantiateArgs args, bool server)
     : this(netMain, customInstantiator, prefab, ref args, server, true)
 {
 }
Exemplo n.º 35
0
 public CustomInstantiationArgs(NetMainPrefab netMain, IDMain prefab, ref NetworkInstantiateArgs args, bool server)
     : this(netMain, null, prefab, ref args, server, false)
 {
 }
Exemplo n.º 36
0
 private static bool CheckNetworkViewCustomInstantiator(uLink.NetworkView view, IDMain character, out IPrefabCustomInstantiate custom)
 {
     return (CustomInstantiationArgs.CheckNetworkViewCustomInstantiator(view, out custom) ? true : CustomInstantiationArgs.CheckNetworkViewCustomInstantiator(character, out custom));
 }
Exemplo n.º 37
0
 private static bool CheckNetworkViewCustomInstantiator(IDMain character, out IPrefabCustomInstantiate custom)
 {
     custom = character as IPrefabCustomInstantiate;
     return custom != null;
 }
Exemplo n.º 38
0
 public new RelativeControl RelativeControlTo(IDMain idMain)
 {
     if (!(idMain is Character))
     {
         return RelativeControl.Incompatible;
     }
     return this.RelativeControlTo((Character)idMain);
 }
Exemplo n.º 39
0
 public override void UnAcomplish(IDMain self, IDMain instigator)
 {
     string str;
     string str1;
     bool flag = !self;
     bool flag1 = !instigator;
     if (flag)
     {
         if (!flag1)
         {
             if (this.exitSelfNonNull)
             {
                 return;
             }
             Debug.LogWarning("Self is null!", this);
         }
         else
         {
             Debug.LogError("Self and instgator are null", this);
         }
     }
     else if (flag1)
     {
         if (this.exitInstigatorNonNull)
         {
             return;
         }
         Debug.LogWarning("Instigator is null!", this);
     }
     if (!this.exitSwapMessageOrder)
     {
         str = this.exitSelfMessage;
         str1 = this.exitInstigatorMessage;
     }
     else
     {
         IDMain dMain = self;
         self = instigator;
         instigator = dMain;
         str = this.exitInstigatorMessage;
         str1 = this.exitSelfMessage;
         bool flag2 = flag;
         flag = flag1;
         flag1 = flag2;
     }
     if (!this.exitWithOtherAsArg)
     {
         if (!flag && !string.IsNullOrEmpty(str))
         {
             self.SendMessage(str, SendMessageOptions.DontRequireReceiver);
         }
         if (!flag1 && !string.IsNullOrEmpty(str1))
         {
             instigator.SendMessage(str1, SendMessageOptions.DontRequireReceiver);
         }
     }
     else
     {
         if (!flag && !string.IsNullOrEmpty(str))
         {
             self.SendMessage(str, instigator, SendMessageOptions.DontRequireReceiver);
         }
         if (!flag1 && !string.IsNullOrEmpty(str1))
         {
             instigator.SendMessage(str1, self, SendMessageOptions.DontRequireReceiver);
         }
     }
 }
Exemplo n.º 40
0
 public static bool GetIDMainFromCollider(Collider collider, out IDMain main)
 {
     IDBase dBase;
     if (!TransformHelpers.GetIDBaseFromCollider(collider, out dBase))
     {
         main = null;
         return false;
     }
     main = dBase.idMain;
     return main;
 }
Exemplo n.º 41
0
 public new bool ControlOverriddenBy(IDMain main)
 {
     if (!this.ch.vl || this.ch.ln == 0 || !(main is Character))
     {
         return false;
     }
     return this.ControlOverriddenBy((Character)main);
 }
Exemplo n.º 42
0
 public static void DeployableUCH(IDMain idMain, DeployableObject deployableObject)
 {
     TakeDamage component = idMain.GetComponent<TakeDamage>();
     if (component != null)
     {
         float health = component.health;
         NetEntityID entID = NetEntityID.Get((UnityEngine.MonoBehaviour)deployableObject);
         NetCull.RemoveRPCsByName(entID, "ClientHealthUpdate");
         if (!beingDestroyed.Contains(idMain.gameObject))
             NetCull.RPC<float>(entID, "ClientHealthUpdate", uLink.RPCMode.OthersBuffered, health);
         else
             beingDestroyed.Remove(idMain.gameObject);
     }
 }
Exemplo n.º 43
0
 public new bool AssignedControlOf(IDMain character)
 {
     return (!this.ch.vl ? false : this.idMain == character);
 }
Exemplo n.º 44
0
 internal static bool MergeClasses(IDMain character, ref ControllerClass.Merge merge)
 {
     bool flag;
     if (character)
     {
         Controllable component = character.GetComponent<Controllable>();
         Controllable controllable = component;
         if (!component)
         {
             flag = false;
             return flag;
         }
         flag = controllable.MergeClasses(ref merge);
         return flag;
     }
     flag = false;
     return flag;
 }
Exemplo n.º 45
0
 private void OnLocallyAppended(IDMain main)
 {
     if (!this._motor)
     {
         this._motor = main.GetRemote<CCMotor>();
     }
 }
Exemplo n.º 46
0
 public override void UnAcomplish(IDMain self, IDMain instigator)
 {
     base.Accomplish(self, instigator);
 }
Exemplo n.º 47
0
 public override void UnAcomplish(IDMain self, IDMain instigator)
 {
 }
Exemplo n.º 48
0
 public abstract void UnAcomplish(IDMain self, IDMain instigator);
Exemplo n.º 49
0
 public static void StructureUCH(IDMain idMain, StructureComponent structureComponent)
 {
     float health = idMain.GetComponent<TakeDamage>().health;
     if (health != structureComponent.oldHealth)
     {
         NetEntityID entID = NetEntityID.Get((UnityEngine.MonoBehaviour)structureComponent);
         NetCull.RemoveRPCsByName(entID, "ClientHealthUpdate");
         if (!beingDestroyed.Contains(idMain.gameObject))
             NetCull.RPC<float>(entID, "ClientHealthUpdate", uLink.RPCMode.OthersBuffered, health);
         else
             beingDestroyed.Remove(idMain.gameObject);
     }
 }
Exemplo n.º 50
0
 public new bool OverridingControlOf(IDMain main)
 {
     if (!this.ch.vl || this.ch.nm == 0 || !(main is Character))
     {
         return false;
     }
     return this.OverridingControlOf((Character)main);
 }
Exemplo n.º 51
0
 public static bool isPlayer(IDMain idMain)
 {
     if (idMain is Character)
     {
         Character character = idMain as Character;
         Controller player = character.playerControlledController;
         if (player != null)
             return true;
         else
             return false;
     }
     else
         return false;
 }
Exemplo n.º 52
0
 public static bool IsCurrentlyDestroying(IDMain main)
 {
     NetInstance netInstance = NetInstance.current;
     return (!netInstance ? false : netInstance.idMain == main);
 }