示例#1
0
 /// <summary>
 /// Spawns a new empty inanimate object
 /// </summary>
 public InanimateTemplate()
 {
     InanimateContainers = new HashSet <IEntityContainerData <IInanimate> >();
     MobileContainers    = new HashSet <IEntityContainerData <IMobile> >();
     Components          = new HashSet <IInanimateComponent>();
     Qualities           = new HashSet <IQuality>();
     SkillRequirements   = new HashSet <QualityValue>();
     Model        = new DimensionalModel();
     Descriptives = new HashSet <ISensoryEvent>();
 }
示例#2
0
        /// <summary>
        /// Fills a data object with data from a data row
        /// </summary>
        /// <param name="dr">the data row to fill from</param>
        public override void Fill(DataRow dr)
        {
            ID          = DataUtility.GetFromDataRow <long>(dr, "ID");
            Created     = DataUtility.GetFromDataRow <DateTime>(dr, "Created");
            LastRevised = DataUtility.GetFromDataRow <DateTime>(dr, "LastRevised");
            Name        = DataUtility.GetFromDataRow <string>(dr, "Name");

            var mediumId = DataUtility.GetFromDataRow <long>(dr, "Medium");

            Medium = ReferenceWrapper.GetOne <IMaterial>(mediumId);

            var zoneId = DataUtility.GetFromDataRow <long>(dr, "Zone");

            ZoneAffiliation = ReferenceWrapper.GetOne <IZone>(zoneId);

            Borders = DeserializeBorders(DataUtility.GetFromDataRow <string>(dr, "Borders"));

            Model = new DimensionalModel(dr);
        }
示例#3
0
        /// <summary>
        /// Fills a data object with data from a data row
        /// </summary>
        /// <param name="dr">the data row to fill from</param>
        public override void Fill(DataRow dr)
        {
            ID          = DataUtility.GetFromDataRow <long>(dr, "ID");
            Created     = DataUtility.GetFromDataRow <DateTime>(dr, "Created");
            LastRevised = DataUtility.GetFromDataRow <DateTime>(dr, "LastRevised");
            Name        = DataUtility.GetFromDataRow <string>(dr, "Name");

            string mobileContainerJson = DataUtility.GetFromDataRow <string>(dr, "MobileContainers");

            dynamic mobileContainers = JsonConvert.DeserializeObject(mobileContainerJson);

            foreach (dynamic mobileContainer in mobileContainers)
            {
                var newContainer = new EntityContainerData <IMobile>();
                newContainer.CapacityVolume = mobileContainer.CapacityVolume;
                newContainer.CapacityWeight = mobileContainer.CapacityWeight;
                newContainer.Name           = mobileContainer.Name;

                MobileContainers.Add(newContainer);
            }

            string inanimateContainerJson = DataUtility.GetFromDataRow <string>(dr, "InanimateContainers");

            dynamic inanimateContainers = JsonConvert.DeserializeObject(inanimateContainerJson);

            foreach (dynamic inanimateContainer in inanimateContainers)
            {
                var newContainer = new EntityContainerData <IInanimate>();
                newContainer.CapacityVolume = inanimateContainer.CapacityVolume;
                newContainer.CapacityWeight = inanimateContainer.CapacityWeight;
                newContainer.Name           = inanimateContainer.Name;

                InanimateContainers.Add(newContainer);
            }

            string internalCompositionJson = DataUtility.GetFromDataRow <string>(dr, "InternalComposition");

            InternalComposition = DeserializeInternalCompositions(internalCompositionJson);

            Model = new DimensionalModel(dr);
        }
示例#4
0
 public RoomTemplate(DimensionalModel model)
 {
     Model        = model;
     Descriptives = new HashSet <ISensoryEvent>();
 }
示例#5
0
 /// <summary>
 /// Blank constructor
 /// </summary>
 public RoomTemplate()
 {
     Model        = new DimensionalModel();
     Descriptives = new HashSet <ISensoryEvent>();
 }
示例#6
0
        /// <summary>
        /// Fills a data object with data from a data row
        /// </summary>
        /// <param name="dr">the data row to fill from</param>
        public override void Fill(DataRow dr)
        {
            ID = DataUtility.GetFromDataRow<long>(dr, "ID");
            Created = DataUtility.GetFromDataRow<DateTime>(dr, "Created");
            LastRevised = DataUtility.GetFromDataRow<DateTime>(dr, "LastRevised");
            Name = DataUtility.GetFromDataRow<string>(dr, "Name");

            var mediumId = DataUtility.GetFromDataRow<long>(dr, "Medium");
            Medium = ReferenceWrapper.GetOne<IMaterial>(mediumId);

            var zoneId = DataUtility.GetFromDataRow<long>(dr, "Zone");
            ZoneAffiliation = ReferenceWrapper.GetOne<IZone>(zoneId);

            Borders = DeserializeBorders(DataUtility.GetFromDataRow<string>(dr, "Borders"));

            Model = new DimensionalModel(dr);
        }
示例#7
0
 public Celestial()
 {
     Model = new DimensionalModel();
 }