/// <summary> /// Does the unit meet the vocation requirements? /// </summary> /// <param name="unit"> Unit required.</param> /// <param name="requiredVocation"> The required vocation for the current skill.</param> private static bool VocationRequirements(Unit unit, ScriptableObjectReference requiredVocation) { VocationBaseData primaryVocation = unit.primaryVocation; VocationBaseData secondaryVocation = unit.secondaryVocation; bool primaryVocationMet = CheckVocation(unit, requiredVocation, primaryVocation); bool secondaryVocationMet = CheckVocation(unit, requiredVocation, secondaryVocation); int requiredVocationLength = requiredVocation.values.Length; switch (requiredVocationLength) { // if there is only one requirement if either of the primary vocations meet the requirement then return true. case 1: if (primaryVocationMet || secondaryVocationMet) { return(true); } break; default: if (primaryVocationMet && secondaryVocationMet) { return(true); } break; } Debug.Log($"{unit.name} has not met the requirements"); return(false); }
private void PrintValues(ScriptableObjectReference scriptableObjectReference) { for (int i = 0; i < scriptableObjectReference.values.Length; i++) { print(scriptableObjectReference.values[i]); } }
public void SetWeapon(ScriptableObjectReference weaponReference) { Weapon weapon = (Weapon)weaponReference.value; //take the value from the input field this.Weapon = EntityWeapon.FromWeapon(weapon); //turn it into the EntityWeapon Debug.Log($"weapon: {Weapon.Weapon.WeaponName}"); }
/// <summary> /// Does the unit meet the requirements? /// </summary> /// <param name="unit"> Unit required.</param> /// <param name="requiredVocation"> The required vocation for the current skill.</param> public virtual bool CheckRequirements(Unit unit, ScriptableObjectReference requiredVocation) { bool vocationRequirement = VocationRequirements(unit, requiredVocation); if (vocationRequirement) { return(true); } else { return(false); } }
/// <summary> /// Does one of the units vocations equal to one of the required vocations? /// </summary> /// <param name="unit"> Unit required.</param> /// <param name="requiredVocation"> The required vocation for the current skill.</param> /// <param name="unitVocation"> Units vocation being checked.</param> private static bool CheckVocation(Unit unit, ScriptableObjectReference requiredVocation, VocationBaseData unitVocation) { string vocationName = unitVocation.Name; int requiredVocationLength = requiredVocation.values.Length; for (int i = 0; i < requiredVocationLength; i++) { string requiredVocationName = requiredVocation.values[i].name; if (vocationName == requiredVocationName) { Debug.Log($"{unit.name} has met the requirements vocation requirement:{requiredVocationName}."); return(true); } continue; } return(false); }
private void PrintValue(ScriptableObjectReference scriptableObjectReference) { print(scriptableObjectReference.value); }