public override void AddComponents() { base.AddComponents(); Width = 12; AddComponent(new FollowerComponent { MaxDistance = 96, FollowSpeed = 2 }); AddComponent(new AnimationComponent("backpack") { ShadowOffset = -2 }); AddComponent(new ShadowComponent(RenderShadow)); AddComponent(new RectBodyComponent(0, 0, Width, Height, BodyType.Dynamic, true)); AddComponent(new ItemComponent()); AddComponent(new InteractableComponent(Interact) { CanInteract = e => e == Owner && (e.GetComponent <ActiveWeaponComponent>().Item != null || GetComponent <ItemComponent>().Item != null), OnStart = e => AddFx() }); try { var id = GameSave.GetString("backpack"); if (id != null) { var item = Items.CreateAndAdd(id, Area); GetComponent <ItemComponent>().Set(item, false); item.GetComponent <OwnerComponent>().Owner = Owner; itemRegion = item.Region; } } catch (Exception e) { Log.Error(e); } GetComponent <AnimationComponent>().Animate(); }