public void GenerateRandomAttributes(List <EquipmentPossibleAttribute> possibleAttribute, AStuff <TModuleType> stuff) { int qualityAttribbute = ((int)stuff.equipmentQuality); if (possibleAttribute.Count < qualityAttribbute) { Debug.Log("It is not possible to generate more attributes for : " + stuff.Name + " becaue you dont have enought random attributes initialized"); qualityAttribbute = possibleAttribute.Count; } int attribute = 0; for (int x = 0; x < qualityAttribbute; x++) { bool goToMyGoTo; e_entityAttribute whichAttribute = ServiceLocator.Instance.ProbabilityManager.GetProbabilityIndex(possibleAttribute); do { whichAttribute = ServiceLocator.Instance.ProbabilityManager.GetProbabilityIndex(possibleAttribute); attribute = 0; for (short i = 0; i < possibleAttribute.Count; i++) { if (possibleAttribute[i].attribute == whichAttribute) { attribute = i; } } goToMyGoTo = false; for (short i = 0; i < stuff.blueAttributes.Count; i++) { if (whichAttribute == stuff.blueAttributes[i].WhichAttribute) { goToMyGoTo = true; } } } while (goToMyGoTo); possibleAttribute[((int)attribute)].value = stuff.GenerateAttributeValue(possibleAttribute[((int)attribute)]); stuff.blueAttributes.Add(new EquipmentAttribute(possibleAttribute[((int)attribute)].value, whichAttribute)); if (!(stuff.IsFloatEquipmentAttribute(whichAttribute))) { stuff.blueAttributes[stuff.blueAttributes.Count - 1].Value = Mathf.Round(stuff.blueAttributes[stuff.blueAttributes.Count - 1].Value); } } }
public void GenerateDefinedAttributes(List <EquipmentPossibleAttribute> definedAttribute, AStuff <TModuleType> stuff) { for (int attribute = 0; attribute < definedAttribute.Count; attribute++) { e_entityAttribute whichAttribute = definedAttribute[attribute].attribute; definedAttribute[((int)attribute)].value = stuff.GenerateAttributeValue(definedAttribute[((int)attribute)]); stuff.whiteAttributes.Add(new EquipmentAttribute(definedAttribute[((int)attribute)].value, whichAttribute)); if (!(stuff.IsFloatEquipmentAttribute(whichAttribute))) { stuff.whiteAttributes[stuff.whiteAttributes.Count - 1].Value = Mathf.Round(stuff.whiteAttributes[stuff.whiteAttributes.Count - 1].Value); } } }