Пример #1
0
 public void SpawnPartReal(EffigyArchitect.Part part, bool mp_addpart)
 {
     if (BoltNetwork.isRunning && mp_addpart)
     {
         this._parts.Add(part);
     }
     Item item = (part._itemId <= 0) ? null : ItemDatabase.ItemById(part._itemId);
     Transform transform = null;
     if (item != null && item._bareItemPrefab)
     {
         transform = item._bareItemPrefab;
         if (transform && item._id != this._baseItemId)
         {
             if (this._effigyRange.radius < 10f)
             {
                 this._effigyRange.radius = 10f;
             }
             if (this._effigyRange.radius < 80f)
             {
                 this._canLight = true;
                 this._enableEffigy.lightBool = false;
                 this._effigyRange.radius += 1.5f;
                 this._enableEffigy.duration = Mathf.Clamp(this._enableEffigy.duration + 15f, 600f, 1200f);
             }
             if (this._enableEffigy.duration < 1200f)
             {
                 this._enableEffigy.duration += 50f;
             }
         }
     }
     else if (part._itemId == -2)
     {
         transform = Prefabs.Instance.TorsoPrefab;
         if (transform)
         {
             if (this._effigyRange.radius < 10f)
             {
                 this._effigyRange.radius = 10f;
             }
             if (this._effigyRange.radius < 80f)
             {
                 this._canLight = true;
                 this._enableEffigy.lightBool = false;
                 this._effigyRange.radius += 3f;
             }
             if (this._enableEffigy.duration < 1200f)
             {
                 this._enableEffigy.duration += 50f;
             }
         }
     }
     if (transform)
     {
         Transform transform2 = UnityEngine.Object.Instantiate<Transform>(transform);
         transform2.position = part._position;
         transform2.rotation = Quaternion.Euler(part._rotation.x, part._rotation.y, part._rotation.z);
         transform2.parent = base.transform;
         if (BoltNetwork.isServer)
         {
             BoltNetwork.Attach(transform2.gameObject).GetComponent<BoltEntity>().GetState<IPartState>().Effigy = base.GetComponentInParent<BoltEntity>();
         }
     }
 }
Пример #2
0
 private void SpawnPart(EffigyArchitect.Part part)
 {
     if (BoltNetwork.isRunning)
     {
         AddEffigyPart addEffigyPart = AddEffigyPart.Create(GlobalTargets.OnlyServer);
         addEffigyPart.Effigy = base.GetComponentInParent<BoltEntity>();
         addEffigyPart.ItemId = part._itemId;
         addEffigyPart.Position = part._position;
         addEffigyPart.Rotation = part._rotation;
         addEffigyPart.Send();
     }
     else
     {
         this.SpawnPartReal(part, false);
     }
 }