コード例 #1
0
        private void SetReaderToObject(ref TalentPrereqORCondition objTalentPrereqORCondition, ref SqlDataReader result)
        {
            if (result.HasRows)
            {
                objTalentPrereqORCondition.TalentPrereqORConditionID = (int)result.GetValue(result.GetOrdinal("TalentPrereqORConditionID"));
                objTalentPrereqORCondition.TalentID            = (int)result.GetValue(result.GetOrdinal("TalentID"));
                objTalentPrereqORCondition.TalentRequirementID = (int)result.GetValue(result.GetOrdinal("TalentRequirementID"));
                objTalentPrereqORCondition.FeatID                   = (int)result.GetValue(result.GetOrdinal("FeatID"));
                objTalentPrereqORCondition.RaceID                   = (int)result.GetValue(result.GetOrdinal("RaceID"));
                objTalentPrereqORCondition.TalentTreeID             = (int)result.GetValue(result.GetOrdinal("TalentTreeID"));
                objTalentPrereqORCondition.TalentTreeTalentQuantity = (int)result.GetValue(result.GetOrdinal("TalentTreeTalentQuantity"));
                objTalentPrereqORCondition.AbilityID                = (int)result.GetValue(result.GetOrdinal("AbilityID"));
                objTalentPrereqORCondition.AbilityMinimum           = (int)result.GetValue(result.GetOrdinal("AbilityMinimum"));
                objTalentPrereqORCondition.SkillID                  = (int)result.GetValue(result.GetOrdinal("SkillID"));

                if (objTalentPrereqORCondition.TalentID != 0)
                {
                    Talent objTalent = new Talent();
                    objTalentPrereqORCondition.objTalent = objTalent.GetTalent(objTalentPrereqORCondition.TalentID);
                }

                if (objTalentPrereqORCondition.TalentRequirementID != 0)
                {
                    Talent objTalentRequirement = new Talent();
                    objTalentPrereqORCondition.objTalentRequirement = objTalent.GetTalent(objTalentPrereqORCondition.TalentID);
                }

                if (objTalentPrereqORCondition.FeatID != 0)
                {
                    Feat objFeat = new Feat();
                    objTalentPrereqORCondition.objFeat = objFeat.GetFeat(objTalentPrereqORCondition.FeatID);
                }

                if (objTalentPrereqORCondition.RaceID != 0)
                {
                    Race objRace = new Race();
                    objTalentPrereqORCondition.objRace = objRace.GetRace(objTalentPrereqORCondition.FeatID);
                }

                if (objTalentPrereqORCondition.TalentTreeID != 0)
                {
                    TalentTree objTalentTree = new TalentTree();
                    objTalentPrereqORCondition.objTalentTree = objTalentTree.GetTalentTree(objTalentPrereqORCondition.TalentTreeID);
                }

                if (objTalentPrereqORCondition.AbilityID != 0)
                {
                    TalentPrerequisteAbility objTalentPrerequisteAbility = new TalentPrerequisteAbility();
                    objTalentPrereqORCondition.objTalentPrerequisteAbility = objTalentPrerequisteAbility.GetTalentPrerequisteAbility(this.TalentID, this.AbilityID);
                }

                if (objTalentPrereqORCondition.SkillID != 0)
                {
                    Skill objSkill = new Skill();
                    objTalentPrereqORCondition.objSkill = objSkill.GetSkill(objTalentPrereqORCondition.SkillID);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Clones the specified LST TalentPrereqORCondition.
        /// </summary>
        /// <param name="lstTalentPrereqORCondition">The LST TalentPrereqORCondition.</param>
        /// <returns>List<TalentPrereqORCondition></returns>
        static public List <TalentPrereqORCondition> Clone(List <TalentPrereqORCondition> lstTalentPrereqORCondition)
        {
            List <TalentPrereqORCondition> lstCTalentPrereqORCondition = new List <TalentPrereqORCondition>();

            foreach (TalentPrereqORCondition objTalentPrereqORCondition in lstTalentPrereqORCondition)
            {
                lstCTalentPrereqORCondition.Add(TalentPrereqORCondition.Clone(objTalentPrereqORCondition));
            }

            return(lstCTalentPrereqORCondition);
        }
コード例 #3
0
        private List <TalentPrereqORCondition> GetTalentPrereqORConditionList(string strSprocName, string strWhere, string strOrderBy)
        {
            List <TalentPrereqORCondition> otmTalentPrereqORConditions = new List <TalentPrereqORCondition>();

            SqlDataReader      result;
            DatabaseConnection dbconn     = new DatabaseConnection();
            SqlCommand         command    = new SqlCommand();
            SqlConnection      connection = new SqlConnection(dbconn.SQLSEVERConnString);

            try
            {
                connection.Open();
                command.Connection  = connection;
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = strSprocName;
                command.Parameters.Add(dbconn.GenerateParameterObj("@strWhere", SqlDbType.VarChar, strWhere, 1000));
                command.Parameters.Add(dbconn.GenerateParameterObj("@strOrderBy", SqlDbType.VarChar, strOrderBy, 1000));
                result = command.ExecuteReader();

                while (result.Read())
                {
                    TalentPrereqORCondition objotmTalentPrereqORCondition = new TalentPrereqORCondition();
                    SetReaderToObject(ref objotmTalentPrereqORCondition, ref result);
                    otmTalentPrereqORConditions.Add(objotmTalentPrereqORCondition);
                }
            }
            catch
            {
                Exception e = new Exception();
                throw e;
            }
            finally
            {
                command.Dispose();
                connection.Close();
            }
            return(otmTalentPrereqORConditions);
        }
コード例 #4
0
        static public bool TalentOrConditionsMeet(Character objChar, Talent objTalent)
        {
            bool returnVal = false;
            List <TalentPrereqORCondition> lstTPORCond = new List <TalentPrereqORCondition>();
            TalentPrereqORCondition        objTPORCond = new TalentPrereqORCondition();


            List <Talent> lstORTalentReqs = new List <Talent> ();
            List <Feat>   lstORFeats      = new List <Feat>();
            List <Race>   lstORRaces      = new List <Race>();
            List <TalentTalentTreeRequirement> lstORTalentTrees = new List <TalentTalentTreeRequirement>();
            List <TalentAbilityRequirement>    lstORAbility     = new List <TalentAbilityRequirement>();
            List <Skill> lstORSkill = new List <Skill>();

            lstTPORCond = objTPORCond.GetTalentPrereqORConditions(objTalent.TalentID);

            //          public int TalentPrereqOR { get; set; }   --ID for Record Row
            //public int TalentID { get; set; }                         -- ID of talent we are dealing with
            //public int TalentRequirementID { get; set; }      --Talent as prereq for TalentID
            //public int FeatID { get; set; }
            //public int RaceID { get; set; }
            //public int TalentTreeID { get; set; }
            //public int TalentTreeTalentQuantity { get; set; }
            //public int AbilityID { get; set; }
            //public int AbilityMinimum { get; set; }
            //public int SkillID { get; set; }
            if (lstTPORCond.Count == 0)
            {
                returnVal = true;
            }
            else
            {
                foreach (TalentPrereqORCondition objOrCond in lstTPORCond)
                {
                    if (objOrCond.TalentRequirementID != 0)
                    {
                        Talent objTR = new Talent();
                        objTR.GetTalent(objOrCond.TalentRequirementID);
                        lstORTalentReqs.Add(objTR);
                    }
                    if (objOrCond.FeatID != 0)
                    {
                        Feat objFeat = new Feat();
                        objFeat.GetFeat(objOrCond.FeatID);
                        lstORFeats.Add(objFeat);
                    }
                    if (objOrCond.RaceID != 0)
                    {
                        Race objRace = new Race();
                        objRace.GetRace(objOrCond.RaceID);
                        lstORRaces.Add(objRace);
                    }
                    if (objOrCond.TalentTreeID != 0)
                    {
                        TalentTalentTreeRequirement objTTTR = new TalentTalentTreeRequirement();
                        objTTTR.TalentTreeID             = objOrCond.TalentTreeID;
                        objTTTR.TalentTreeTalentQuantity = objOrCond.TalentTreeTalentQuantity;
                        lstORTalentTrees.Add(objTTTR);
                    }
                    if (objOrCond.AbilityID != 0)
                    {
                        TalentAbilityRequirement objTAR = new TalentAbilityRequirement();
                        objTAR.AbilityID     = objOrCond.AbilityID;
                        objTAR.AbilityMinium = objOrCond.AbilityMinimum;
                        lstORAbility.Add(objTAR);
                    }
                    if (objOrCond.SkillID != 0)
                    {
                        Skill objSkill = new Skill();
                        objSkill.GetSkill(objOrCond.SkillID);
                        lstORSkill.Add(objSkill);
                    }
                }

                //Got all the lists full, have to check to see if the character has ANY of these, if they do then we jump out and are done
                //Talent
                bool blnTalentFound = false;
                foreach (Talent objSearchTalent in lstORTalentReqs)
                {
                    if (Talent.IsTalentInList(objSearchTalent, objChar.lstTalents))
                    {
                        blnTalentFound = true;
                    }
                }

                if (blnTalentFound)
                {
                    return(blnTalentFound);
                }

                //Feat
                bool blnFeatFound = false;
                foreach (Feat objSearchFeat in lstORFeats)
                {
                    if (Feat.IsFeatInList(objSearchFeat, objChar.lstFeats))
                    {
                        blnFeatFound = true;
                    }
                }

                if (blnFeatFound)
                {
                    return(blnFeatFound);
                }

                //Race
                bool blnRaceFound = false;
                foreach (Race objSearchRace in lstORRaces)
                {
                    if (objSearchRace.RaceID == objChar.RaceID)
                    {
                        blnRaceFound = true;
                    }
                }

                if (blnRaceFound)
                {
                    return(blnRaceFound);
                }

                //TalentTree talents (Has x number of talents in a particular tree
                bool blnTalentTreeQuantityFound = false;
                foreach (Talent objSearchTalent in lstORTalentReqs)
                {
                    if (Talent.IsTalentInList(objSearchTalent, objChar.lstTalents))
                    {
                        blnTalentTreeQuantityFound = true;
                    }
                }

                if (blnTalentTreeQuantityFound)
                {
                    return(blnTalentTreeQuantityFound);
                }


                //Ability
                bool blnAbilityFound = false;
                foreach (TalentAbilityRequirement objSearchAbility in lstORAbility)
                {
                    if (Ability.AblityRequirementMet(objSearchAbility.AbilityID, objSearchAbility.AbilityMinium, objChar))
                    {
                        blnAbilityFound = true;
                    }
                }

                if (blnTalentTreeQuantityFound)
                {
                    return(blnAbilityFound);
                }

                //public int SkillID { get; set; }
                //Race
                bool blnSkillFound = false;
                foreach (Skill objSearchSkill in lstORSkill)
                {
                    if (CharacterSkill.IsSkillInList(objSearchSkill, objChar.lstCharacterSkills))
                    {
                        blnSkillFound = true;
                    }
                }

                if (blnSkillFound)
                {
                    return(blnSkillFound);
                }
            }

            //went thru everything, nothing found return false;
            return(returnVal);
        }
コード例 #5
0
        /// <summary>
        /// Clones the specified object TalentPrereqORCondition.
        /// </summary>
        /// <param name="objTalentPrereqORCondition">The object TalentPrereqORCondition.</param>
        /// <returns>TalentPrereqORCondition</returns>
        static public TalentPrereqORCondition Clone(TalentPrereqORCondition objTalentPrereqORCondition)
        {
            TalentPrereqORCondition objCTalentPrereqORCondition = new TalentPrereqORCondition(objTalentPrereqORCondition.TalentID);

            return(objCTalentPrereqORCondition);
        }