Exemplo n.º 1
0
        public override Entity Create(Region tregion, byte[] data)
        {
            Material        mat    = (Material)Utilities.BytesToUshort(Utilities.BytesPartial(data, PhysicsEntity.PhysicsNetworkDataLength, 2));
            byte            dat    = data[PhysicsEntity.PhysicsNetworkDataLength + 2];
            byte            tpa    = data[PhysicsEntity.PhysicsNetworkDataLength + 3];
            byte            damage = data[PhysicsEntity.PhysicsNetworkDataLength + 4];
            BlockItemEntity bie    = new BlockItemEntity(tregion, mat, dat, tpa, (BlockDamage)damage);

            bie.ApplyPhysicsNetworkData(data);
            return(bie);
        }
Exemplo n.º 2
0
 public override void SetTextureName(string name)
 {
     if (name == null || name.Length == 0)
     {
         Tex = null;
     }
     else
     {
         if (name.Contains(":") && name.Before(":").ToLowerFast() == "render_block")
         {
             string[] blockDataToRender = name.After(":").SplitFast(',');
             if (blockDataToRender[0] == "self")
             {
                 BlockInternal bi = BlockInternal.FromItemDatum(Datum);
                 RenderedBlock = new BlockItemEntity(TheClient.TheRegion, bi.Material, bi.BlockData, bi.BlockPaint, bi.Damage);
                 RenderedBlock.GenVBO();
             }
             else
             {
                 Material mat = MaterialHelpers.FromNameOrNumber(blockDataToRender[0]);
                 byte data = (byte)(blockDataToRender.Length < 2 ? 0 : Utilities.StringToInt(blockDataToRender[1]));
                 byte paint = (byte)(blockDataToRender.Length < 3 ? 0 : Colors.ForName(blockDataToRender[2]));
                 BlockDamage damage = blockDataToRender.Length < 4 ? BlockDamage.NONE : (BlockDamage)Enum.Parse(typeof(BlockDamage), blockDataToRender[3], true);
                 RenderedBlock = new BlockItemEntity(TheClient.TheRegion, mat, data, paint, damage);
                 RenderedBlock.GenVBO();
             }
             Tex = null;
         }
         if (name.Contains(":") && name.Before(":").ToLowerFast() == "render_model")
         {
             string model = name.After(":");
             if (model.ToLowerFast() == "self")
             {
                 model = GetModelName();
             }
             RenderedModel = new ModelEntity(model, TheClient.TheRegion);
             RenderedModel.Visible = true;
             RenderedModel.PreHandleSpawn();
             Tex = null;
         }
         else
         {
             Tex = TheClient.Textures.GetTexture(name);
         }
     }
 }
Exemplo n.º 3
0
 public override Entity Create(Region tregion, byte[] data)
 {
     Material mat = (Material)Utilities.BytesToUshort(Utilities.BytesPartial(data, PhysicsEntity.PhysicsNetworkDataLength, 2));
     byte dat = data[PhysicsEntity.PhysicsNetworkDataLength + 2];
     byte tpa = data[PhysicsEntity.PhysicsNetworkDataLength + 3];
     byte damage = data[PhysicsEntity.PhysicsNetworkDataLength + 4];
     BlockItemEntity bie = new BlockItemEntity(tregion, mat, dat, tpa, (BlockDamage)damage);
     bie.ApplyPhysicsNetworkData(data);
     return bie;
 }