Example #1
0
            internal override Event ReadEntry(BinaryReaderEx br)
            {
                EventType type = br.GetEnum32 <EventType>(br.Position + 8);

                switch (type)
                {
                case EventType.Light:
                    return(Lights.EchoAdd(new Event.Light(br)));

                case EventType.Sound:
                    return(Sounds.EchoAdd(new Event.Sound(br)));

                case EventType.SFX:
                    return(SFX.EchoAdd(new Event.SFX(br)));

                case EventType.Wind:
                    return(Wind.EchoAdd(new Event.Wind(br)));

                case EventType.Treasure:
                    return(Treasures.EchoAdd(new Event.Treasure(br)));

                case EventType.Generator:
                    return(Generators.EchoAdd(new Event.Generator(br)));

                case EventType.Message:
                    return(Messages.EchoAdd(new Event.Message(br)));

                default:
                    throw new NotImplementedException($"Unsupported event type: {type}");
                }
            }
Example #2
0
            internal override Event ReadEntry(BinaryReaderEx br)
            {
                EventType type = br.GetEnum32 <EventType>(br.Position + 8);

                switch (type)
                {
                case EventType.Light:
                    return(Lights.EchoAdd(new Event.Light(br)));

                case EventType.Sound:
                    return(Sounds.EchoAdd(new Event.Sound(br)));

                case EventType.SFX:
                    return(SFX.EchoAdd(new Event.SFX(br)));

                case EventType.Wind:
                    return(Wind.EchoAdd(new Event.Wind(br)));

                case EventType.Treasure:
                    return(Treasures.EchoAdd(new Event.Treasure(br)));

                case EventType.Generator:
                    return(Generators.EchoAdd(new Event.Generator(br)));

                case EventType.Message:
                    return(Messages.EchoAdd(new Event.Message(br)));

                case EventType.ObjAct:
                    return(ObjActs.EchoAdd(new Event.ObjAct(br)));

                case EventType.SpawnPoint:
                    return(SpawnPoints.EchoAdd(new Event.SpawnPoint(br)));

                case EventType.MapOffset:
                    return(MapOffsets.EchoAdd(new Event.MapOffset(br)));

                case EventType.Navmesh:
                    return(Navmeshes.EchoAdd(new Event.Navmesh(br)));

                case EventType.Environment:
                    return(Environments.EchoAdd(new Event.Environment(br)));

                case EventType.PseudoMultiplayer:
                    return(PseudoMultiplayers.EchoAdd(new Event.PseudoMultiplayer(br)));

                default:
                    throw new NotImplementedException($"Unsupported event type: {type}");
                }
            }
Example #3
0
            internal override Region ReadEntry(BinaryReaderEx br)
            {
                RegionType type = br.GetEnum32 <RegionType>(br.Position + 8);

                switch (type)
                {
                case RegionType.InvasionPoint:
                    return(InvasionPoints.EchoAdd(new Region.InvasionPoint(br)));

                case RegionType.EnvironmentMapPoint:
                    return(EnvironmentMapPoints.EchoAdd(new Region.EnvironmentMapPoint(br)));

                case RegionType.Sound:
                    return(Sounds.EchoAdd(new Region.Sound(br)));

                case RegionType.SFX:
                    return(SFX.EchoAdd(new Region.SFX(br)));

                case RegionType.WindSFX:
                    return(WindSFX.EchoAdd(new Region.WindSFX(br)));

                case RegionType.SpawnPoint:
                    return(SpawnPoints.EchoAdd(new Region.SpawnPoint(br)));

                case RegionType.Message:
                    return(Messages.EchoAdd(new Region.Message(br)));

                case RegionType.PatrolRoute:
                    return(PatrolRoutes.EchoAdd(new Region.PatrolRoute(br)));

                case RegionType.MovementPoint:
                    return(MovementPoints.EchoAdd(new Region.MovementPoint(br)));

                case RegionType.WarpPoint:
                    return(WarpPoints.EchoAdd(new Region.WarpPoint(br)));

                case RegionType.ActivationArea:
                    return(ActivationAreas.EchoAdd(new Region.ActivationArea(br)));

                case RegionType.Event:
                    return(Events.EchoAdd(new Region.Event(br)));

                case RegionType.Logic:
                    return(Logic.EchoAdd(new Region.Logic(br)));

                case RegionType.EnvironmentMapEffectBox:
                    return(EnvironmentMapEffectBoxes.EchoAdd(new Region.EnvironmentMapEffectBox(br)));

                case RegionType.WindArea:
                    return(WindAreas.EchoAdd(new Region.WindArea(br)));

                case RegionType.MufflingBox:
                    return(MufflingBoxes.EchoAdd(new Region.MufflingBox(br)));

                case RegionType.MufflingPortal:
                    return(MufflingPortals.EchoAdd(new Region.MufflingPortal(br)));

                case RegionType.Other:
                    return(Others.EchoAdd(new Region.Other(br)));

                default:
                    throw new NotImplementedException($"Unsupported region type: {type}");
                }
            }