示例#1
0
 public void Dispose()
 {
     if (character != null)
     {
         character.Dispose();
         character = null;
     }
 }
示例#2
0
        public void SetCharacter(Character.Data Char)
        {
            character = Char;

            Character.Appearance appearance = NAPI.Util.FromJson <Character.Appearance>(character.data.appearance);
            foreach (var face in appearance.facefeature)
            {
                NAPI.Player.SetPlayerFaceFeature(client, face.faceIndex, face.faceScale);
            }

            Dictionary <int, ComponentVariation> clothes = new Dictionary <int, ComponentVariation>();

            foreach (var component in appearance.components)
            {
                clothes.Add(component.componentId, new ComponentVariation {
                    Drawable = component.drawableId, Texture = component.textureId
                });
            }

            NAPI.Player.SetPlayerClothes(client, clothes);

            if (appearance.headoverlay != null)
            {
                foreach (var headoverlay in appearance.headoverlay)
                {
                    NAPI.Player.SetPlayerHeadOverlay(client, headoverlay.overlayId, new HeadOverlay {
                        Index = (byte)headoverlay.index, Color = (byte)headoverlay.firstColor, Opacity = (byte)headoverlay.opacity
                    });
                }
            }

            HeadBlend genetic = new HeadBlend
            {
                ShapeFirst  = (byte)appearance.genID,
                ShapeSecond = (byte)appearance.genID,
                SkinFirst   = (byte)appearance.genID,
                SkinSecond  = (byte)appearance.genID
            };

            NAPI.Player.SetPlayerHeadBlend(client, genetic);
            //character.Spawn();
        }