public AISubBehaviorData GetCombatAISubBehavior(AIbehaviorData.AiBehaviors pBehavior, int pSubBehaviorIndex = -1)
    {
        AISubBehaviorData oSubBehaviorData = null;


        for (int i = 0; i < AgressiveBehaviors.Count; i++)
        {
            if (AgressiveBehaviors[i].beahviorGroup == pBehavior)
            {
                ///*** Get Sub behavior index , if not already assigned
                if (pSubBehaviorIndex == -1)
                {
                    pSubBehaviorIndex = Random.Range(0, AgressiveBehaviors[i].AISubBehaviors.Count);
                }

                for (int x = 0; x < AgressiveBehaviors[i].AISubBehaviors.Count; x++)
                {
                    oSubBehaviorData = AgressiveBehaviors[i].AISubBehaviors[pSubBehaviorIndex];
                }
            }
        }


        return(oSubBehaviorData);
    }
    public AIbehaviorData.AiBehaviors GetRandomAICombatBehaviorGroup()
    {
        int oRandomBehaviorIndex = Random.Range(0, AgressiveBehaviors.Count);

        //*** We default to a spwaning behavior
        AIbehaviorData.AiBehaviors oBehavior = AIbehaviorData.AiBehaviors.Spawning;

        oBehavior = AgressiveBehaviors[oRandomBehaviorIndex].beahviorGroup;

        return(oBehavior);
    }
    public AIbehaviorData.AiBehaviors GetSpecificAICombatBehaviorGroup(AIbehaviorData.AiBehaviors pBehavior)
    {
        //*** We defaut to a spwaning behavior
        AIbehaviorData.AiBehaviors oBehavior = AIbehaviorData.AiBehaviors.Spawning;

        for (int i = 0; i < AgressiveBehaviors.Count; i++)
        {
            if (AgressiveBehaviors[i].beahviorGroup == pBehavior)
            {
                oBehavior = pBehavior;
            }
        }

        return(oBehavior);
    }
    public AIbehaviorData.AiBehaviors GetRandomAISocialBehaviorGroup(AIbehaviorData.AiBehaviors pBehavior)
    {
        //*** We defaut to a spwaning behavior
        AIbehaviorData.AiBehaviors oBehavior = AIbehaviorData.AiBehaviors.Spawning;

        for (int i = 0; i < SocialBehaviors.Count; i++)
        {
            if (SocialBehaviors[i].beahviorGroup == pBehavior)
            {
                oBehavior = pBehavior;
            }
        }

        return(oBehavior);
    }