Пример #1
0
    /// <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);
    }
Пример #2
0
 private void PrintValues(ScriptableObjectReference scriptableObjectReference)
 {
     for (int i = 0; i < scriptableObjectReference.values.Length; i++)
     {
         print(scriptableObjectReference.values[i]);
     }
 }
Пример #3
0
    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}");
    }
Пример #4
0
    /// <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);
        }
    }
Пример #5
0
    /// <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);
    }
Пример #6
0
 private void PrintValue(ScriptableObjectReference scriptableObjectReference)
 {
     print(scriptableObjectReference.value);
 }