public CraftInfo(IEnumerator activeCraft, ICraftingActionValidator validator, AudioSource audioSource, CraftingCategory category, CraftingBlueprint blueprint) { this.activeCraft = activeCraft; this.validator = validator; this.audioSource = audioSource; this.category = category; this.blueprint = blueprint; this.craftAmount = 1; }
public CraftingProgressContainer(ICraftingActionValidator validator, int instanceID, AudioSource audioSource) { this.validator = validator; this.audioSource = audioSource; this.instanceID = instanceID; maxCraftQueueCount = 1; craftQueue = new Queue <CraftInfo>(maxCraftQueueCount); }
public CraftingProgressContainer Get(ICraftingActionValidator validator, int instanceID, int category, CraftingProgressShareSetting shareSetting) { if (IsShared(shareSetting)) { if (_sharedDict.ContainsKey(category)) { if (shareSetting == CraftingProgressShareSetting.ForceSingleInstancePerCategory) { if (_sharedDict[category].Count > 0) { return(_sharedDict[category][0]); } // foreach (var i in _sharedDict[category]) // { // return i; // } } if (shareSetting == CraftingProgressShareSetting.Default) { foreach (var i in _sharedDict[category]) { if (i.instanceID == instanceID) { return(i); } } } } } else { return(_singleInstance); } return(Add(_createNewAction(validator, instanceID), category, shareSetting)); // return Get(hash, category, shareSetting); }
private static CraftingProgressContainer CreateNewProgressContainer(ICraftingActionValidator validator, int id) { return(new CraftingProgressContainer(validator, id, validator.gameObject.GetComponent <AudioSource>())); }
public virtual void UseWithTrigger(CraftingCategory category, CraftingProgressContainer progressContainer, ICraftingActionValidator validator, ItemCollectionBase removeItemsFromCollection, ItemCollectionBase storeRewardItemsInCollection) { Assert.IsNotNull(category); Assert.IsNotNull(progressContainer); overrideRemoveItemsFromCollection = removeItemsFromCollection; overrideStoreRewardItemsInCollection = storeRewardItemsInCollection; if (_forceSingleInstance) { this.progressContainer = new CraftingProgressContainer(this, GetInstanceID(), GetComponent <AudioSource>()); } else { this.progressContainer = progressContainer; this.progressContainer.validator = validator; } SetCraftingCategory(category); window.Show(); }