Example #1
0
        public static void SubclassLogin(Character pUser)
        {
            IList <DbSubclass> _sub = Database.SubclassRepository.GetAllSubclasses(pUser.Identity);

            if (_sub != null)
            {
                foreach (DbSubclass sub in _sub)
                {
                    ISubclass iclass = new ISubclass
                    {
                        Database  = sub,
                        Class     = (SubClasses)sub.Class,
                        Level     = sub.Level,
                        Promotion = sub.Promotion
                    };

                    if (!pUser.SubClass.Add(iclass))
                    {
                        ServerKernel.Log.SaveLog(string.Format("Could not load [{0}] from [{1}]", iclass.Class, pUser.Identity), false, "subclass");
                    }
                }
                pUser.SubClass.LearnAll();
                pUser.SubClass.SendAll();
            }

            if (pUser.SubClass.Professions.ContainsKey(pUser.ActiveSubclass))
            {
                pUser.SubClass.Active(pUser.ActiveSubclass);
            }
        }
        public bool Create(SubClasses pType)
        {
            if (Professions.ContainsKey(pType))
            {
                return(false);
            }

            var dbClass = new DbSubclass
            {
                Class     = (byte)pType,
                Level     = 1,
                Promotion = 1,
                Userid    = m_pOwner.Identity
            };

            if (!Database.SubclassRepository.SaveOrUpdate(dbClass))
            {
                return(false);
            }

            var pClass = new ISubclass
            {
                Database  = dbClass,
                Class     = pType,
                Level     = 1,
                Promotion = 1
            };

            if (!Professions.TryAdd(pClass.Class, pClass))
            {
                return(false);
            }

            var pMsg = new MsgSubPro
            {
                Action   = SubClassActions.LEARN,
                Subclass = pType
            };

            m_pOwner.Send(pMsg);
            return(true);
        }
Example #3
0
 /// <summary>
 /// Assign tertiary class
 /// </summary>
 /// <param name="tertiaryClass"></param>
 public void SetTertiaryClass(ISubclass tertiaryClass)
 {
     TertiaryClass = tertiaryClass;
 }
Example #4
0
 /// <summary>
 /// Assign secondary class
 /// </summary>
 /// <param name="secondaryClass"></param>
 public void SetSecondaryClass(ISubclass secondaryClass)
 {
     SecondaryClass = secondaryClass;
 }
 public bool Add(ISubclass isub)
 {
     return(Professions.TryAdd(isub.Class, isub));
 }
 public bool Save(ISubclass pObj)
 {
     return(Database.SubclassRepository.SaveOrUpdate(pObj.Database));
 }
 public void DoStuff(ISubclass subclass)
 {
     // do something with transient subclass
 }