// Generates an Item // Pass in item taken from Open(); public static ItemScriptableObject Generate(ItemScriptableObject iso) { GenerateSprite generateSprite = new GenerateSprite(); RandomManager randomManager = new RandomManager(); StatFactory statFactory = new ConcreteStatFactory(); ItemScriptableObject itemScriptableObject = ScriptableObject.CreateInstance <ItemScriptableObject>(); randomManager.SetAnimationCurve(); itemScriptableObject.itemSprite = iso.itemSprite; itemScriptableObject.itemName = iso.itemName; itemScriptableObject.itemType = iso.itemType; itemScriptableObject.itemTypeName = iso.itemType.ToString().ToLower(); itemScriptableObject.rarity = (ItemObject.Rarity)Mathf.RoundToInt(randomManager.CurveWeightedRandom(randomManager.cumulativeProbability)); itemScriptableObject.keyword = (ItemObject.Keywords)Mathf.RoundToInt(randomManager.CurveWeightedRandom(randomManager.cumulativeProbability)); itemScriptableObject.statCount = statFactory.GenerateStatAmountForObject(itemScriptableObject.rarity); itemScriptableObject.modifierList = new List <Stat>(); for (int i = 0; i < itemScriptableObject.statCount; i++) { Stat.StatType statType = statFactory.GenerateStatType(); Stat stat = statFactory.GetStatObject(statType, itemScriptableObject); int statIndex = DetectStatInList(itemScriptableObject.modifierList, statType); if (statIndex != -1) { itemScriptableObject.modifierList[statIndex].StatValue += stat.StatValue; itemScriptableObject.statCount--; } else { itemScriptableObject.modifierList.Add(stat); } } itemScriptableObject.itemBackgroundSprite = GenerateSpriteType(BackgroundSprites.backgroundSprites, itemScriptableObject.rarity); return(itemScriptableObject); }
// Generates an Item public static Item Create() { GenerateSprite generateSprite = new GenerateSprite(); RandomManager randomManager = new RandomManager(); StatFactory statFactory = new ConcreteStatFactory(); Item asset = ScriptableObject.CreateInstance <Item>(); randomManager.SetAnimationCurve(); asset.itemType = (Item.ItemType)UnityEngine.Random.Range(0, Enum.GetNames(typeof(Item.ItemType)).Length); asset.itemTypeName = asset.itemType.ToString().ToLower(); asset.rarity = (Item.Rarity)Mathf.RoundToInt(randomManager.CurveWeightedRandom(randomManager.cumulativeProbability)); asset.keyword = (Item.Keywords)Mathf.RoundToInt(randomManager.CurveWeightedRandom(randomManager.cumulativeProbability)); asset.statCount = statFactory.GenerateStatAmount(asset.rarity); asset.modifierList = new List <Stat>(); for (int i = 0; i < asset.statCount; i++) { asset.modifierList.Add(statFactory.GetStat(statFactory.GenerateStatType(), asset)); } asset.itemName = asset.keyword.ToString().ToLower() + " " + asset.rarity.ToString().ToLower() + " " + asset.itemTypeName; asset.itemSpriteList = generateSprite.GenerateSpriteList(asset.itemType); asset.itemSprite = GenerateSpriteType(asset.itemSpriteList, asset.rarity); asset.ItemLevel = GenerateItemLevel(asset.rarity); asset.itemBackgroundSprite = GenerateSpriteType(BackgroundSprites.backgroundSprites, asset.rarity); return(asset); }
public static void Perform() { var hotspot = new Hotspot { Name = "Hotspot", Sprite = GenerateSprite.Default(), DebugSprite = GenerateSprite.Default(), Transform = Transform2D.Identity }; JsonData.SerializeToFile(hotspot, DataPath.Get("Hotspot.json")); }
public static void Perform() { var toy = new Toy { Name = "TestToy", LargeSprite = GenerateSprite.Default(), DamagePoints = new List <ToyDamagePoint> { new ToyDamagePoint { Active = true, Type = "BurstSeam", Sprite = GenerateSprite.Default() }, } }; var path = DataPath.Get("Toys\\TestToy.json"); JsonData.SerializeToFile(toy, path); }