예제 #1
0
        /// <summary>
        /// Tells the screen to deserialize its state from the given stream.
        /// </summary>
        public virtual void Deserialize(Stream stream)
        {
            StreamReader sr = new StreamReader(stream);

            m_bVisible   = CCSerialization.DeSerializeBool(sr);
            m_fRotationX = CCSerialization.DeSerializeFloat(sr);
            m_fRotationY = CCSerialization.DeSerializeFloat(sr);
            m_fScaleX    = CCSerialization.DeSerializeFloat(sr);
            m_fScaleY    = CCSerialization.DeSerializeFloat(sr);
            m_fSkewX     = CCSerialization.DeSerializeFloat(sr);
            m_fSkewY     = CCSerialization.DeSerializeFloat(sr);
            m_fVertexZ   = CCSerialization.DeSerializeFloat(sr);
            m_bIgnoreAnchorPointForPosition = CCSerialization.DeSerializeBool(sr);
            m_bInverseDirty      = CCSerialization.DeSerializeBool(sr);
            m_bRunning           = CCSerialization.DeSerializeBool(sr);
            m_bTransformDirty    = CCSerialization.DeSerializeBool(sr);
            m_bReorderChildDirty = CCSerialization.DeSerializeBool(sr);
            m_uOrderOfArrival    = (uint)CCSerialization.DeSerializeInt(sr);
            m_nTag      = CCSerialization.DeSerializeInt(sr);
            m_nZOrder   = CCSerialization.DeSerializeInt(sr);
            AnchorPoint = CCSerialization.DeSerializePoint(sr);
            ContentSize = CCSerialization.DeSerializeSize(sr);
            Position    = CCSerialization.DeSerializePoint(sr);
            // m_UserData is handled by the specialized class.
            // TODO: Serializze the action manager
            // TODO :Serialize the grid
            // TODO: Serialize the camera
            string s;
            int    count = CCSerialization.DeSerializeInt(sr);

            for (int i = 0; i < count; i++)
            {
                s = sr.ReadLine();
                Type   screenType = Type.GetType(s);
                CCNode scene      = Activator.CreateInstance(screenType) as CCNode;
                AddChild(scene);
                scene.Deserialize(stream);
            }
        }