Example #1
0
        public static List <WorldObject> CreateWorldObjects(List <AceObject> sourceObjects)
        {
            List <WorldObject> results = new List <WorldObject>();

            foreach (var aceO in sourceObjects)
            {
                ObjectType            ot        = (ObjectType)aceO.TypeId;
                ObjectDescriptionFlag oDescFlag = (ObjectDescriptionFlag)aceO.WdescBitField;

                if ((oDescFlag & ObjectDescriptionFlag.LifeStone) != 0)
                {
                    results.Add(new Lifestone(aceO));
                    continue;
                }
                else if ((oDescFlag & ObjectDescriptionFlag.Portal) != 0)
                {
                    AcePortalObject acePO = DatabaseManager.World.GetPortalObjectsByAceObjectId(aceO.AceObjectId);

                    results.Add(new Portal(acePO));
                    continue;
                }
                else if ((oDescFlag & ObjectDescriptionFlag.Door) != 0)
                {
                    results.Add(new Door(aceO));
                    continue;
                }
                else if ((oDescFlag & ObjectDescriptionFlag.Vendor) != 0)
                {
                    results.Add(new Vendor(aceO));
                    continue;
                }
                switch (ot)
                {
#if DEBUG
                default:
                    // Use the DebugObject to assist in building proper objects for weenies
                    results.Add(new DebugObject(aceO));
                    break;
#endif
                }
            }

            return(results);
        }
Example #2
0
        public AcePortalObject GetPortalObjectsByAceObjectId(uint aceObjectId)
        {
            AcePortalObject             apo      = new AcePortalObject();
            Dictionary <string, object> criteria = new Dictionary <string, object>();

            criteria.Add("baseAceObjectId", aceObjectId);
            if (ExecuteConstructedGetStatement(WorldPreparedStatement.GetPortalObjectsByAceObjectId, typeof(AcePortalObject), criteria, apo))
            {
                apo.TextureOverrides   = GetAceObjectTextureMaps(apo.AceObjectId);
                apo.AnimationOverrides = GetAceObjectAnimations(apo.AceObjectId);
                apo.PaletteOverrides   = GetAceObjectPalettes(apo.AceObjectId);

                return(apo);
            }
            else
            {
                return(null);
            }
        }