protected override void setFieldWithElementValues() { if (element != null) { Item item = element.databaseModelToItem(resourcesList); databaseID = item.databaseID; itemName = item.name; itemIcon = item.itemIcon; itemModel = item.itemModel; isConsomable = item.isConsomable; isStackable = item.isStackable; canBeRecycle = item.canBeRecycle; maxStackableSize = item.maxStackableSize; interactableType = item.interactibleType; itemType = item.itemType; targetType = item.targetType; numberOfEffect = item.effects.Count; effects = item.effects; effectsIndex.updateSize(effects.Count); for (int i = 0; i < effects.Count; i++) { effectsIndex[i] = EffectList.getIndexfor(effects[i].effect.getName()); } } }
protected override void displayForm() { formScrollPos = EditorGUILayout.BeginScrollView(formScrollPos); EditorGUILayout.BeginVertical(); GUI.enabled = false; databaseID = EditorGUILayout.IntField("Database ID : ", databaseID); GUI.enabled = true; itemName = EditorGUILayout.TextField("Name : ", itemName); itemIcon = (Sprite)EditorGUILayout.ObjectField("Icon : ", itemIcon, typeof(Sprite), false); itemModel = (GameObject)EditorGUILayout.ObjectField("Model : ", itemModel, typeof(GameObject), false); isConsomable = EditorGUILayout.Toggle("Is Consomable : ", isConsomable); isStackable = EditorGUILayout.Toggle("Is Stackable : ", isStackable); if (isStackable) { maxStackableSize = EditorGUILayout.IntField("Max stack size : ", maxStackableSize); } canBeRecycle = EditorGUILayout.Toggle("Can be recycle : ", canBeRecycle); interactableType = (InteractableObjectType)EditorGUILayout.EnumPopup("Interactible type : ", interactableType); itemType = (ItemType)EditorGUILayout.EnumPopup("Item type : ", itemType); targetType = (ItemTargetType)EditorGUILayout.EnumPopup("Target type : ", targetType); numberOfEffect = EditorGUILayout.IntField("Number Of effect :", numberOfEffect); updateEffectsListsSize(numberOfEffect); if (numberOfEffect != 0) { for (int i = 0; i < numberOfEffect; i++) { EditorGUILayout.LabelField("Effect n° " + i + " : ", centerTitle); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Effect :"); effectsIndex[i] = EditorGUILayout.Popup(effectsIndex[i], EffectList.getEffectsNames()); effects[i].effect = EffectList.effects[effectsIndex[i]]; EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Value :"); effects[i].value = EditorGUILayout.FloatField(effects[i].value); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Starting time :"); effects[i].usedBy = (EffectUseBy)EditorGUILayout.EnumPopup(effects[i].usedBy); EditorGUILayout.EndHorizontal(); } } displayFormButtons(); EditorGUILayout.EndVertical(); EditorGUILayout.EndScrollView(); }
protected override void clearForm() { base.clearForm(); element = null; databaseID = database.getFreeId(); itemName = ""; itemIcon = null; itemModel = null; isConsomable = true; isStackable = true; canBeRecycle = false; maxStackableSize = 10; numberOfEffect = 0; interactableType = default; targetType = default; effects = new List <ItemEffectAndValue>(); }
public BaseItem() { TargetType = ItemTargetType.PlayerSelf; }
public ItemEffect(ItemEffectType effect, ItemTargetType target, ItemUsageType usage, bool isEquipable, int value) { this.target = target; this.effect = effect; this.value = value; this.usage = usage; this.isEquipable = isEquipable; }