Example #1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_PlantType = (PlantType)reader.ReadInt();
            m_PlantHue  = (PlantHue)reader.ReadInt();
            m_ShowType  = reader.ReadBool();

            if (Weight != 1.0)
            {
                Weight = 1.0;
            }

            if (version < 1)
            {
                Stackable = Core.SA;
            }

            if (version < 2 && PlantHueInfo.IsCrossable(m_PlantHue))
            {
                m_PlantHue |= PlantHue.Reproduces;
            }
        }
        public PlantSystem(PlantItem plant, GenericReader reader)
        {
            m_Plant = plant;

            int version = reader.ReadInt();

            m_FertileDirt = reader.ReadBool();

            if (version >= 1)
            {
                m_NextGrowth = reader.ReadDateTime();
            }
            else
            {
                m_NextGrowth = reader.ReadDeltaTime();
            }

            m_GrowthIndicator = (PlantGrowthIndicator)reader.ReadInt();

            m_Water = reader.ReadInt();

            m_Hits           = reader.ReadInt();
            m_Infestation    = reader.ReadInt();
            m_Fungus         = reader.ReadInt();
            m_Poison         = reader.ReadInt();
            m_Disease        = reader.ReadInt();
            m_PoisonPotion   = reader.ReadInt();
            m_CurePotion     = reader.ReadInt();
            m_HealPotion     = reader.ReadInt();
            m_StrengthPotion = reader.ReadInt();

            m_Pollinated     = reader.ReadBool();
            m_SeedType       = (PlantType)reader.ReadInt();
            m_SeedHue        = (PlantHue)reader.ReadInt();
            m_AvailableSeeds = reader.ReadInt();
            m_LeftSeeds      = reader.ReadInt();

            m_AvailableResources = reader.ReadInt();
            m_LeftResources      = reader.ReadInt();

            if (version < 2 && PlantHueInfo.IsCrossable(m_SeedHue))
            {
                m_SeedHue |= PlantHue.Reproduces;
            }
        }
Example #3
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
            case 1:
            {
                m_Level = (SecureLevel)reader.ReadInt();
                goto case 0;
            }

            case 0:
            {
                if (version < 1)
                {
                    m_Level = SecureLevel.CoOwners;
                }

                m_PlantStatus = (PlantStatus)reader.ReadInt();
                m_PlantType   = (PlantType)reader.ReadInt();
                m_PlantHue    = (PlantHue)reader.ReadInt();
                m_ShowType    = reader.ReadBool();

                if (m_PlantStatus < PlantStatus.DecorativePlant)
                {
                    m_PlantSystem = new PlantSystem(this, reader);
                }

                if (version < 2 && PlantHueInfo.IsCrossable(m_PlantHue))
                {
                    m_PlantHue |= PlantHue.Reproduces;
                }

                break;
            }
            }

            m_Instances.Add(this);
        }