public override void Initialize() { base.Initialize(); var reflectionManager = IoCManager.Resolve <IReflectionManager>(); var type = reflectionManager.LooseGetType(_templateName); DebugTools.Assert(type != null); _inventory = (Inventory)Activator.CreateInstance(type); _window = new InventoryWindow(this); _window.CreateInventory(_inventory); if (Owner.TryGetComponent(out _sprite)) { foreach (var mask in _inventory.SlotMasks.OrderBy(s => _inventory.SlotDrawingOrder(s))) { if (mask == Slots.NONE) { continue; } _sprite.LayerMapReserveBlank(mask); } } // Component state already came in but we couldn't set anything visually because, well, we didn't initialize yet. foreach (var(slot, entity) in _slots) { _setSlot(slot, entity); } }
public override void ExposeData(EntitySerializer serializer) { base.ExposeData(serializer); Window = new InventoryWindow(this); OpenMenuCommand = InputCommand.FromDelegate(() => { Window.AddToScreen(); Window.Open(); }); serializer.DataField(ref TemplateName, "Template", "HumanInventory"); Window.CreateInventory(TemplateName); }
private void StartGame() { Vector3 startPosition = map.GenerateMap(); SetPlayerResources(); inventoryWindow.CreateInventory(playerResources); craftingWindow.CreateCraftingWindow(playerResources); boatMovement.SetPosition(startPosition); boatMovement.SetBorders(Vector3.zero, map.GetBorder()); prevBoatPosition = startPosition; CloseAllWindows(); ChangeGameMod(true); boatCameraAnimation.StartSmoothMovement(); }