public LevelObject(SonicGame game, Level level, LevelObjectDefinition definition) : this(game, level) { mDefinition = definition; mDisplacementX = definition.DisplacementX; mDisplacementY = definition.DisplacementY; }
public Spikes(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { mSubType = definition.SubType; mFlipX = definition.FlipX; mFlipY = definition.FlipY; }
public Masher(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { mAnimation = new Animation(AnimationData); RadiusX = 12; RadiusY = 16; }
public Coconuts(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { mAnimation = new Animation(AnimationData); RadiusX = 6; RadiusY = 8; }
public Monitor(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { RadiusX = 16; RadiusY = 16; mRoutine = 2; mSubType = definition.SubType; }
public EHZPlatform(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { OscillateNumInit(); RadiusX = 32; RadiusY = 8; mSubType = definition.SubType; }
public Ring(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { mAnimation = new Animation(AnimationData); mTimeLeft = 256; // DrawPriority = 50; RadiusX = 6; RadiusY = 6; }
private void LoadLayout(string path) { FileStream fs = new FileStream(path, FileMode.Open); BinaryReader br = new BinaryReader(fs); br.ReadString(); br.ReadString(); // Chunk layout mChunkColumns = br.ReadInt32(); mChunkRows = br.ReadInt32(); mChunkLayout = new byte[mChunkColumns, mChunkRows]; for (int y = 0; y < mChunkRows; y++) { for (int x = 0; x < mChunkColumns; x++) { mChunkLayout[x, y] = br.ReadByte(); } } // Objects mObjectDefinitions.Clear(); int numObjects = br.ReadInt32(); for (int i = 0; i < numObjects; i++) { LevelObjectDefinition definition = new LevelObjectDefinition(); definition.Id = br.ReadInt32(); definition.SubType = br.ReadInt32(); definition.DisplacementX = br.ReadInt32(); definition.DisplacementY = br.ReadInt32(); definition.Respawn = br.ReadBoolean(); definition.FlipY = br.ReadBoolean(); definition.FlipX = br.ReadBoolean(); if (definition.Id == 1) { mStartX = definition.DisplacementX; mStartY = definition.DisplacementY; } LevelObject obj = LevelObject.Create(mGame, this, definition); if (obj != null) { mObjects.Add(obj); } mObjectDefinitions.Add(definition); } br.Close(); fs.Close(); }
public static LevelObject Create(SonicGame game, Level level, LevelObjectDefinition definition) { LevelObject obj; switch (definition.Id) { case 3: obj = new CollisionPlaneSwitcher(game, level, definition); break; case 6: obj = new EHZSpiralPathway(game, level, definition); break; case 13: obj = new Signpost(game, level, definition); break; case 17: obj = new LogBridge(game, level, definition); break; case 24: obj = new EHZPlatform(game, level, definition); break; case 37: obj = new Ring(game, level, definition); break; case 38: obj = new Monitor(game, level, definition); break; case 54: obj = new Spikes(game, level, definition); break; case 65: obj = new Spring(game, level, definition); break; case 75: obj = new Buzzer(game, level, definition); break; case 92: obj = new Masher(game, level, definition); break; case 121: obj = new Starpost(game, level, definition); break; case 157: obj = new Coconuts(game, level, definition); break; default: return(null); } return(obj); }
public CollisionPlaneSwitcher(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { mSubType = definition.SubType; mFlipX = definition.FlipX; }
public LogBridge(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { mSubType = definition.SubType; }
public Platform(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { }
public Badnik(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { }
public Starpost(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { mIndex = definition.SubType; }
public SolidObject(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { }
public EHZSpiralPathway(SonicGame game, Level level, LevelObjectDefinition definition) : base(game, level, definition) { }