public static void PutOn(DressableAsset asset, SlotType slotType, PersonageModel personage) { if (!CanDress(asset, slotType)) { UnityEngine.Debug.LogError(string.Format("Can't put on item {0} to slot {1}. Their slot types aren't matched!!! Item is destined for following slots {2}", asset.Classname, slotType.ToString(), string.Join(",", asset.OccupiedSlots))); return; } if (G.self.user_inventory.GetItemAmount(asset.Classname) < 1) { UnityEngine.Debug.LogError(string.Format("Can't put on item {0}. User don't have enough items", asset.Classname)); return; } if (personage.TryGetConflictSlotItems(asset, out List <SlotItem> conflictItems)) { for (int i = 0; i < conflictItems.Count; i++) { TakeOff(conflictItems[i], personage); } } G.self.user_inventory.Decrease(asset.Classname); personage.PutOnItem(slotType, asset); }
public void Init(PersonageModel personageModel) { personage_model = personageModel; personage_model.OnPutOnItem += OnPutOnItem; personage_model.OnTakeOffItem += OnTakeOffItem; InitializeItems(); }
internal void Clear() { _personage_model.OnPutOnItem -= OnPutOnSlotItem; _personage_model.OnTakeOffItem -= OnTakeOffSlotItem; _slot_item = null; _personage_model = null; dragable_item.Clear(); }
public void Init(PersonageModel personageModel, Transform dragTransform, SlotItem slotItem = null) { _slot_item = slotItem; _personage_model = personageModel; _personage_model.OnPutOnItem += OnPutOnSlotItem; _personage_model.OnTakeOffItem += OnTakeOffSlotItem; dragable_item.Init(this, _transform, dragTransform); UpdateView(); }
public static void TakeOff(SlotType slotType, PersonageModel personage) { if (!personage.GetSlotItem(slotType, out SlotItem slotItem)) { UnityEngine.Debug.LogError(string.Format("Can't take off item {0}. User personage don't dress this item")); return; } TakeOff(slotItem, personage); }
public void Dispose() { if (personage_model == null) { return; } personage_model.OnPutOnItem -= OnPutOnItem; personage_model.OnTakeOffItem -= OnTakeOffItem; personage_model = null; }
private void Init() { self = this; asset_resource_manager = new ResourceManager <Asset>(); personage_resource_manager = new ResourceManager <Personage>(); window_manager = new WindowManager(); user_inventory = new UserInventory(); personage = new PersonageModel(personage_resource_manager.GetResource("Human")); FillUserInventory(); InitPersonage(); }
internal void Init(InventoryItemModel inventoryItem, PersonageModel personageModel, Transform dragTransform) { _inventory_item = inventoryItem; _personage_model = personageModel; _inventory_item.OnIncrease += OnIncrease; _inventory_item.OnDecrease += OnDecrease; icon_img.sprite = _inventory_item.Asset.Icon; icon_img.enabled = true; amount_tf.text = _inventory_item.Amount.ToString(); dragable_item.Init(this, _transform, dragTransform); gameObject.SetActive(true); }
private static void TakeOff(SlotItem slotItem, PersonageModel personage) { G.self.user_inventory.Increase(slotItem.Asset.Classname); personage.TakeOffItem(slotItem); }
public void Init(PersonageModel personageModel, UserInventory userInventory) { _personage_model = personageModel; _user_inventory = userInventory; }