Esempio n. 1
0
    public CLevelMetaObject Clone(CLevelMetaObject MetaObject, int Id)
    {
        CLevelMetaObject meta = (CLevelMetaObject)MetaObject.MemberwiseClone();

        meta.mGOB = null;
        meta.mID  = Id;

        return(meta);
    }
Esempio n. 2
0
    public override void Deserialize(BinaryReader R)
    {
        base.Deserialize(R);
        int version = R.ReadInt32();

        if (version == 4 || version == 5)
        {
            mBackgroundColor.r = R.ReadSingle();
            mBackgroundColor.g = R.ReadSingle();
            mBackgroundColor.b = R.ReadSingle();

            for (int iX = 0; iX < 100; ++iX)
            {
                for (int iY = 0; iY < 100; ++iY)
                {
                    Color32 tileCol;
                    tileCol.r = R.ReadByte();
                    tileCol.g = R.ReadByte();
                    tileCol.b = R.ReadByte();
                    tileCol.a = 255;

                    mTileColors[iX, iY] = tileCol;

                    mWallX[iX, iY] = R.ReadInt32();
                    mWallZ[iX, iY] = R.ReadInt32();
                }
            }
        }

        if (version == 5)
        {
            mObjects.Clear();
            int metaCount = R.ReadInt32();
            for (int i = 0; i < metaCount; ++i)
            {
                CLevelMetaObject meta = new CLevelMetaObject();
                mObjects.Add(meta);

                meta.mID             = R.ReadInt32();
                meta.mType           = (CLevelMetaObject.EType)R.ReadInt32();
                meta.mSubtype        = R.ReadInt32();
                meta.mOwner          = R.ReadInt32();
                meta.mIdentifier     = R.ReadString();
                meta.mData           = R.ReadInt32();
                meta.mPositionA      = CUtility.ReadVec3(R);
                meta.mPositionB      = CUtility.ReadVec3(R);
                meta.mRotation       = R.ReadInt32();
                meta.mOrientation    = CUtility.ReadVec3(R);
                meta.mExtraIntData   = R.ReadInt32();
                meta.mExtraFloatData = R.ReadSingle();
                meta.mExtraBoolData  = R.ReadBoolean();
                meta.mColor          = CUtility.ReadColor(R);
            }
        }
    }
Esempio n. 3
0
 public CLevelMetaObject(CLevelMetaObject MetaObject, int Id)
 {
     mGOB            = null;
     mID             = Id;
     mType           = MetaObject.mType;
     mSubtype        = MetaObject.mSubtype;
     mOwner          = MetaObject.mOwner;
     mIdentifier     = MetaObject.mIdentifier;
     mData           = MetaObject.mData;
     mPositionA      = MetaObject.mPositionA;
     mPositionB      = MetaObject.mPositionB;
     mRotation       = MetaObject.mRotation;
     mOrientation    = MetaObject.mOrientation;
     mExtraIntData   = MetaObject.mExtraIntData;
     mExtraFloatData = MetaObject.mExtraFloatData;
     mExtraBoolData  = MetaObject.mExtraBoolData;
     mColor          = MetaObject.mColor;
 }
Esempio n. 4
0
    public override void Serialize(BinaryWriter W)
    {
        base.Serialize(W);
        W.Write(VERSION);

        W.Write(mBackgroundColor.r);
        W.Write(mBackgroundColor.g);
        W.Write(mBackgroundColor.b);

        for (int iX = 0; iX < 100; ++iX)
        {
            for (int iY = 0; iY < 100; ++iY)
            {
                W.Write(mTileColors[iX, iY].r);
                W.Write(mTileColors[iX, iY].g);
                W.Write(mTileColors[iX, iY].b);

                W.Write(mWallX[iX, iY]);
                W.Write(mWallZ[iX, iY]);
            }
        }

        W.Write(mObjects.Count);
        for (int i = 0; i < mObjects.Count; ++i)
        {
            CLevelMetaObject meta = mObjects[i];

            W.Write(meta.mID);
            W.Write((int)meta.mType);
            W.Write(meta.mSubtype);
            W.Write(meta.mOwner);
            W.Write(meta.mIdentifier);
            W.Write(meta.mData);
            CUtility.WriteVec3(W, meta.mPositionA);
            CUtility.WriteVec3(W, meta.mPositionB);
            W.Write(meta.mRotation);
            CUtility.WriteVec3(W, meta.mOrientation);
            W.Write(meta.mExtraIntData);
            W.Write(meta.mExtraFloatData);
            W.Write(meta.mExtraBoolData);
            CUtility.WriteColor(W, meta.mColor);
        }
    }