Example #1
0
        public override void Draw(UISpriteBatch batch)
        {
            if (!Visible || Opacity == 0)
            {
                return;
            }

            DrawLocalTexture(batch, ShadowImg, null, Vector2.Zero, Vector2.One, Color.Black * 0.5f);
            if (Target != null)
            {
                var effect = LotView.WorldContent.SpriteEffect;
                batch.SetEffect(effect);

                effect.CurrentTechnique = effect.Techniques["StickyEffect"];
                var off = ((Position + Size * Scale / 2) - ContainerSize / 2).X * -0.001f * (Size.Y / 240f);
                effect.Parameters["stickyOffset"].SetValue(off * OffsetMultiplier);
                effect.Parameters["stickyPersp"].SetValue((Size.Y / 240f) * -0.2f);

                DrawLocalTexture(batch, Target,
                                 new Rectangle((int)(-100 * ScaleX), 0, (int)(Target.Width + 200 * ScaleX), Target.Height),
                                 -(BackOffset.ToVector2() + new Vector2(100, 0)), new Vector2(1 / (Scale.X), 1 / (Scale.Y)));
                batch.SetEffect();
            }
            DynamicOverlay.GetChildren().ForEach(x =>
            {
                if (x.Opacity != Opacity)
                {
                    x.Opacity = Opacity;
                }
            });
            DynamicOverlay.Draw(batch);
        }
Example #2
0
 public void Write(BinaryWriter writer)
 {
     writer.Write(NotUsed1);
     writer.Write(NotUsed2);
     writer.Write(HairR);
     writer.Write(HairG);
     writer.Write(HairB);
     writer.Write((byte)0);
     writer.Write(MovementFlags);
     writer.Write(EntityFlags);
     writer.Write(Scale);
     writer.Write(BoundingRadius);
     writer.Write(BoundingHeight);
     writer.Write(HeadModel);
     writer.Write(HairModel);
     writer.Write(HandModel);
     writer.Write(FootModel);
     writer.Write(BodyModel);
     writer.Write(BackModel);
     writer.Write(ShoulderModel);
     writer.Write(WingModel);
     writer.Write(HeadScale);
     writer.Write(BodyScale);
     writer.Write(HandScale);
     writer.Write(FootScale);
     writer.Write(ShoulderScale);
     writer.Write(WeaponScale);
     writer.Write(BackScale);
     writer.Write(Unknown);
     writer.Write(WingScale);
     writer.Write(BodyPitch);
     writer.Write(ArmPitch);
     writer.Write(ArmRoll);
     writer.Write(ArmYaw);
     writer.Write(FeetPitch);
     writer.Write(WingPitch);
     writer.Write(BackPitch);
     BodyOffset.Write(writer);
     HeadOffset.Write(writer);
     HandOffset.Write(writer);
     FootOffset.Write(writer);
     BackOffset.Write(writer);
     WingOffset.Write(writer);
 }