示例#1
0
        public LockComponent(Entity entity, Lock l, Vector2 offset)
        {
            Lock = l;

            l.Owner           = entity;
            Lock.AlwaysActive = true;
            Lock.Move         = false;

            entity.Area.Add(Lock);
            entity.Area.EventListener.Subscribe <LockOpenedEvent>(this);

            if (Lock.Interactable())
            {
                Lock.AddComponent(new RectBodyComponent(-(entity.Width - Lock.Width) / 2f - offset.X - 2,
                                                        -(entity.Height - Lock.Height) / 2f - offset.Y - 2, entity.Width + 4, entity.Height + 4, BodyType.Static, true));
            }

            Lock.Center = entity.Center + offset;
            this.offset = offset;
        }
示例#2
0
 public override void Init()
 {
     base.Init();
     Lock.AddComponent(new OwnerComponent(Entity));
 }