/// <see cref="IGeneratorMode"/> public override bool Initialize(string path, string[] args) { // File mode requires a minimum of 3 arguments _path = path; if (args.Length < 2) { return(false); } // Second argument is parser var ext = Path.GetExtension(_path); Parsers[ext] = ParserFactory.Resolve(args[0]); // Load generators GeneratorFactory.Initialize(new[] { Assembly.GetExecutingAssembly() }); // All following arguments are the active generators for (var i = 1; i < args.Length; i++) { Generators.Add(GeneratorFactory.Resolve(args[i])); } return(true); }
internal static async Task MarkovListenAsync(SocketMessage arg, string server) { // don't save bot commands if (arg.Content.StartsWith("!")) { return; } var who = arg.Author.GetNicknameOrUsername(); Posts.Data.Add(new Post(server, arg.Channel.Name, who, arg.Content, arg.Timestamp.ToUniversalTime().UtcDateTime)); if (!Generators.ContainsKey(who)) { Generators.Add(who, CreateMarkovGenerator(who)); } Generators[who].ReadChain(arg.Content); if (who != "Chancellor Gerath") { if (EveryoneGenerator is null) { EveryoneGenerator = CreateMarkovGenerator(null); } EveryoneGenerator.ReadChain(arg.Content); } if (!Directory.Exists(PostsJsonPath)) { Directory.CreateDirectory(PostsJsonPath); } SavePosts(); }
/// <summary> /// Adds an event to the appropriate list for its type; returns the event. /// </summary> public Event Add(Event evnt) { switch (evnt) { case Event.Light e: Lights.Add(e); break; case Event.Sound e: Sounds.Add(e); break; case Event.SFX e: SFX.Add(e); break; case Event.Wind e: Wind.Add(e); break; case Event.Treasure e: Treasures.Add(e); break; case Event.Generator e: Generators.Add(e); break; case Event.Message e: Messages.Add(e); break; case Event.ObjAct e: ObjActs.Add(e); break; case Event.SpawnPoint e: SpawnPoints.Add(e); break; case Event.MapOffset e: MapOffsets.Add(e); break; case Event.Navmesh e: Navmeshes.Add(e); break; case Event.Environment e: Environments.Add(e); break; case Event.PseudoMultiplayer e: PseudoMultiplayers.Add(e); break; default: throw new ArgumentException($"Unrecognized type {evnt.GetType()}.", nameof(evnt)); } return(evnt); }
/// <summary> /// Adds an event to the appropriate list for its type; returns the event. /// </summary> public Event Add(Event evnt) { switch (evnt) { case Event.Treasure e: Treasures.Add(e); break; case Event.Generator e: Generators.Add(e); break; case Event.ObjAct e: ObjActs.Add(e); break; case Event.MapOffset e: MapOffsets.Add(e); break; case Event.PseudoMultiplayer e: PseudoMultiplayers.Add(e); break; case Event.PatrolInfo e: PatrolInfo.Add(e); break; case Event.PlatoonInfo e: PlatoonInfo.Add(e); break; case Event.Other e: Others.Add(e); break; default: throw new ArgumentException($"Unrecognized type {evnt.GetType()}.", nameof(evnt)); } return(evnt); }
public void AddGeneratorInner(GeneratorInfo generator) { if (!Generators.ContainsKey(generator.GeneratorId)) { Generators.Add(generator.GeneratorId, generator); generatorList.Add(generator); } }
private static bool ConvertLegacyPosts() { if (Directory.Exists(ModuleDirectory) && !File.Exists(PostsJsonPath)) { // load the old chains var regex = new Regex(@".*Markov\.(.*)\.txt"); foreach (var f in Directory.GetFiles(ModuleDirectory)) { var who = regex.Match(f).Groups[1].Captures.FirstOrDefault()?.Value; if (who != null) { Console.WriteLine($"Reading markov chains from {Path.GetFullPath($"{ModuleDirectory}/Markov.{who}.txt")}"); Generators.Add(who, new Generator(Extensions.Random)); foreach (var line in File.ReadAllLines(f)) { Posts.Data.Add(new Post(LegacyServer, UnknownChannel, who, line, null)); } } } // load the old quotes var quotes = JsonConvert.DeserializeObject <IDictionary <string, ICollection <string> > >(File.ReadAllText($"{ModuleDirectory}/Quotes.txt")); var quotedPosts = new HashSet <Post>(); var removePosts = new HashSet <Post>(); foreach (var quotedUser in quotes) { var(quotedUsername, userQuotes) = (quotedUser.Key, quotedUser.Value); foreach (var quote in userQuotes) { foreach (var post in Posts.Data.Where(q => q.Server == LegacyServer && q.User == quotedUsername && q.Content == quote)) { quotedPosts.Add(post with { IsQuoted = true }); removePosts.Add(post); } } } foreach (var quotedPost in quotedPosts) { Posts.Data.Add(quotedPost); } foreach (var removePost in removePosts) { Posts.Data.Remove(removePost); } // converted return(true); } else { // didn't convert return(false); } }
public void Load(string file) { if (!IsLoaded) { Generators.Clear(); var listItems = JsonConvert.DeserializeObject <List <GeneratorJsonData> >(Resources.Load <TextAsset>(file).text); listItems.ForEach(item => Generators.Add(item.id, new GeneratorData(item, GeneratorType.Normal))); IsLoaded = true; } }
public QuestionSet(string basePath) : base(basePath) { Generators.Add(GetGeneratorXMLTemplateReference(typeof(EvaluateTheKroneckerDelta)), new EvaluateTheKroneckerDelta(_xmlImporter, _textResolver, _layoutConverter)); Generators.Add(GetGeneratorXMLTemplateReference(typeof(SimplifyKroneckerDeltas)), new SimplifyKroneckerDeltas(_xmlImporter, _textResolver, _layoutConverter)); Generators.Add(GetGeneratorXMLTemplateReference(typeof(SimplifyKroneckerDeltas2)), new SimplifyKroneckerDeltas2(_xmlImporter, _textResolver, _layoutConverter)); Generators.Add(GetGeneratorXMLTemplateReference(typeof(CalculateTheBeatFrequency1)), new CalculateTheBeatFrequency1(_xmlImporter, _textResolver, _layoutConverter)); AddNonRandomQuestionGenerator("Physics_NewtonianGravity_DefineThePoissonEquation"); AddNonRandomQuestionGenerator("Mathematics_Hyperbolae_DefineAHyperbola1"); }
/// <summary> /// Registers a generator with a type /// </summary> /// <param name="Rand">Random number generator</param> /// <param name="Generator">Generator to associate with the type</param> /// <param name="Type">Type to associate with the generator</param> /// <returns>The random number generator</returns> public static System.Random RegisterGenerator(this System.Random Rand, Type Type, IGenerator Generator) { if (Generators.ContainsKey(Type)) { Generators[Type] = Generator; } else { Generators.Add(Type, Generator); } return(Rand); }
public MainWindowViewModel() { // Load application settings (defaults, etc.) SettingsProvider.Instance.LoadApplicationSettings(); // Load addins _PluginManager = new TLCGenPluginManager(System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "Plugins\\")); foreach (ITLCGenGenerator gen in _PluginManager.Generators) { Type t = gen.GetType(); TLCGenPluginManager.LoadAddinSettings(gen, t, SettingsProvider.Instance.CustomSettings); Generators.Add(new IGeneratorViewModel(gen)); } if (Generators.Count > 0) { SelectedGenerator = Generators[0]; } foreach (ITLCGenImporter imp in _PluginManager.Importers) { Type t = imp.GetType(); TLCGenPluginManager.LoadAddinSettings(imp, t, SettingsProvider.Instance.CustomSettings); MenuItem mi = new MenuItem(); mi.Header = imp.GetPluginName(); mi.Command = ImportControllerCommand; mi.CommandParameter = imp; ImportMenuItems.Add(mi); } // If we are in debug mode, the code below tries loading a file // called 'test.tlc' from the folder where the application runs. #if DEBUG DataProvider.Instance.FileName = System.AppDomain.CurrentDomain.BaseDirectory + "test.tlc"; if (DataProvider.Instance.LoadController()) { ControllerVM = new ControllerViewModel(this, DataProvider.Instance.Controller); ControllerVM.SelectedTabIndex = 0; OnPropertyChanged("ProgramTitle"); ControllerVM.DoUpdateFasen(); MessageManager.Instance.Send(new UpdateTabsEnabledMessage()); } #endif if (!DesignMode.IsInDesignMode) { if (Application.Current != null && Application.Current.MainWindow != null) { Application.Current.MainWindow.Closing += new CancelEventHandler(MainWindow_Closing); } } }
private void LoadGeneratorsClasses() { Assembly generatorsAssembly = Assembly.GetAssembly(typeof(Generator)); Type[] assemblyTypes = generatorsAssembly.GetTypes(); foreach (var type in assemblyTypes) { Type iInterface = type.GetInterface(typeof(IGenerator <>).Name); if (type.IsAbstract || iInterface == null) { continue; } Type key = iInterface.GetGenericArguments()[0]; Generators.Add(MakeTypeFullName(key), type); } }
public Network(Statics config, int seed, string tag = null) : base(config, seed, tag) { Name = "Network"; Display = true; for (int i = 0; i < Config.NNodes; i++) { for (int j = 0; j < Config.NNodes; j++) { if (i != j && Config.DemandRates[i, j] > 0) { int o = i, d = j; var g = new Generator <Order>( new Generator <Order> .Statics { Create = rs => new Order(new Order.Statics { Origin = o, Destination = d, }, rs.Next()), InterArrivalTime = rs => TimeSpan.FromDays( Exponential.Sample(rs, 1 / Config.DemandRates[o, d])), SkipFirst = true, }, DefaultRS.Next()); g.OnArrive.Add(order => new DemandArriveEvent { This = this, Order = order }); Generators.Add(new Tuple <int, int>(i, j), g); InitEvents.Add(g.Start()); } } } Transporters.AddRange(Enumerable.Range(0, Config.NTransporters) .Select(i => new Transporter(new Transporter.Statics(), DefaultRS.Next()) { Display = Display, Tag = "Transporter#" + i, })); foreach (var t in Transporters) { t.OnFinishTransport.Add(order => new DeliverEvent { This = this, Order = order }); } InitEvents.AddRange(Transporters.Select(t => t.Init(this))); }
public void BuildGenerators(List<FloorData> floors) { Distribution floorDistr = new UniformDistribution(1, floors.Count); int min, max; foreach (FloorData data in floors) { // Add generator Generators.Add(new TenantGenerator(data.ID, floorDistr)); // Add distribution min = data.Period - data.Spread; max = data.Period + data.Spread; GeneratorsDistr.Add(data.ID, new UniformDistribution(min, max)); } NumFloors = floors.Count; }
public void Append(IEnumerable <GeneratorData> generators, GeneratorType type) { if (IsLoaded) { foreach (var gen in generators) { //GeneratorData newData = new GeneratorData(jsonData, type); if (!Generators.ContainsKey(gen.Id)) { Generators.Add(gen.Id, gen); } else { throw new UnityException($"Repository already contains generator => {gen.Id}"); } } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int v = reader.ReadInt(); Activated = reader.ReadBool(); if (reader.ReadBool()) { Generators.Add(this); Link = true; } Generator = reader.ReadItem() as MoonstonePowerGenerator; if (Generator != null) { Generator.Addon = this; } }
public Task JabberAsync([Remainder][Summary("Who to mimic")] string who) { Generator gen; if (!Generators.ContainsKey(who)) { Generators.Add(who, CreateMarkovGenerator(who)); } gen = Generators[who]; if (!gen.Lexicon.Any() || !IsUserKnownInCurrentServer(who)) { return(ReplyAsync($"I don't have any conversation history for {who}!")); } var preferredLength = Extensions.Random.Next(8, 32); var maxLength = preferredLength + Extensions.Random.Next(8, 32); return(ReplyAsync(gen.WriteSentence(preferredLength, maxLength).Text)); }
private static void EnsureGeneratorsInitialized() { lock (Generators) { if (!AreGeneratorsInitialized) { AreGeneratorsInitialized = true; foreach (var Assembly in AssemblyManager.GetAssembliesToSearch()) { foreach (var Type in Assembly.GetTypes()) { if (Type.IsSubclassOf(typeof(PropertyValueGenerator))) { var Generator = CreateInstance(Type); Generators.Add(Generator.Name, Generator); } } } } } }
/// <see cref="IGeneratorMode"/> public override bool Initialize(string path, string[] args) { _directory = path; // Look for the config var configPath = Path.Combine(_directory, "cgbr.json"); if (!File.Exists(configPath)) { Console.WriteLine("Project mode requires a config."); return(false); } // Read and parse config var configText = File.ReadAllText(configPath); var config = JsonConvert.DeserializeObject <CgbrConfiguration>(configText); // Load extension parsers var assemblies = ResolveAssemblies(config.Extensions); GeneratorFactory.Initialize(assemblies); // Parser mappings foreach (var mapping in config.Mappings) { Parsers[mapping.Extension] = ParserFactory.Resolve(mapping.Parser); } // Generators foreach (var localGenerator in config.LocalGenerators.Where(gen => gen.IsEnabled)) { Generators.Add(GeneratorFactory.Resolve(localGenerator.Name)); } foreach (var globalGenerator in config.GlobalGenerators.Where(gen => gen.IsEnabled)) { Generators.Add(GeneratorFactory.Resolve(globalGenerator.Name)); } return(true); }
private void LoadGenerators() { var json = string.Empty; var assembly = Assembly.GetExecutingAssembly(); using (var stream = assembly.GetManifestResourceStream("ClickerEngine.Resources.generators.json")) { using (var reader = new StreamReader(stream, Encoding.UTF8)) { json = reader.ReadToEnd(); } } dynamic generators = JsonConvert.DeserializeObject(json); foreach (var generator in generators) { string name = generator.Name; string desc = generator.Description; string thumbnail = generator.Thumbnail; Generators.Add(new Generator(name, desc, thumbnail, new Value(1,3))); } }
/// <summary> /// Adds an event to the appropriate list for its type; returns the event. /// </summary> public Event Add(Event evnt) { switch (evnt) { case Event.Light e: Lights.Add(e); break; case Event.Sound e: Sounds.Add(e); break; case Event.SFX e: SFX.Add(e); break; case Event.Wind e: Wind.Add(e); break; case Event.Treasure e: Treasures.Add(e); break; case Event.Generator e: Generators.Add(e); break; case Event.Message e: Messages.Add(e); break; default: throw new ArgumentException($"Unrecognized type {evnt.GetType()}.", nameof(evnt)); } return(evnt); }
protected void AddNonRandomQuestionGenerator(string xmlTemplateReference) { Generators.Add(xmlTemplateReference, new NonRandomQuestionGenerator(xmlTemplateReference, _xmlImporter, _textResolver, _layoutConverter)); }
static MockData() { Generators.Add(typeof(string), typeof(MockData).GetMethod("RandomString")); }
public MainWindowViewModel() { var tmpCurDir = Directory.GetCurrentDirectory(); Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); try { GuiActionsManager.SetStatusBarMessage = (string text) => { StatusBarVM.StatusText = text; }; MessengerInstance.Register(this, new Action <Messaging.Requests.PrepareForGenerationRequest>(OnPrepareForGenerationRequest)); MessengerInstance.Register(this, new Action <ControllerCodeGeneratedMessage>(OnControllerCodeGenerated)); MessengerInstance.Register(this, new Action <ControllerProjectGeneratedMessage>(OnControllerProjectGenerated)); MessengerInstance.Register(this, new Action <ControllerFileNameChangedMessage>(OnControllerFileNameChanged)); // Load application settings and defaults TLCGenSplashScreenHelper.ShowText("Laden instellingen en defaults..."); SettingsProvider.Default.LoadApplicationSettings(); DefaultsProvider.Default.LoadSettings(); TemplatesProvider.Default.LoadSettings(); TLCGenModelManager.Default.InjectDefaultAction((x, s) => DefaultsProvider.Default.SetDefaultsOnModel(x, s)); TLCGenControllerDataProvider.Default.InjectDefaultAction(x => DefaultsProvider.Default.SetDefaultsOnModel(x)); // Load available applicationparts and plugins var assms = Assembly.GetExecutingAssembly(); var types = from t in assms.GetTypes() where t.IsClass && t.Namespace == "TLCGen.ViewModels" select t; TLCGenSplashScreenHelper.ShowText("Laden applicatie onderdelen..."); TLCGenPluginManager.Default.LoadApplicationParts(types.ToList()); TLCGenSplashScreenHelper.ShowText("Laden plugins..."); TLCGenPluginManager.Default.LoadPlugins(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Plugins\\")); // Instantiate all parts _ApplicationParts = new List <Tuple <TLCGenPluginElems, ITLCGenPlugin> >(); var parts = TLCGenPluginManager.Default.ApplicationParts.Concat(TLCGenPluginManager.Default.ApplicationPlugins); foreach (var part in parts) { ITLCGenPlugin instpl = part.Item2; TLCGenSplashScreenHelper.ShowText($"Laden plugin {instpl.GetPluginName()}..."); var flags = Enum.GetValues(typeof(TLCGenPluginElems)); foreach (TLCGenPluginElems elem in flags) { if ((part.Item1 & elem) == elem) { switch (elem) { case TLCGenPluginElems.Generator: Generators.Add(new IGeneratorViewModel(instpl as ITLCGenGenerator)); break; case TLCGenPluginElems.HasSettings: ((ITLCGenHasSettings)instpl).LoadSettings(); break; case TLCGenPluginElems.Importer: MenuItem mi = new MenuItem(); mi.Header = instpl.GetPluginName(); mi.Command = ImportControllerCommand; mi.CommandParameter = instpl; ImportMenuItems.Add(mi); break; case TLCGenPluginElems.IOElementProvider: break; case TLCGenPluginElems.MenuControl: PluginMenuItems.Add(((ITLCGenMenuItem)instpl).Menu); break; case TLCGenPluginElems.TabControl: break; case TLCGenPluginElems.ToolBarControl: break; case TLCGenPluginElems.XMLNodeWriter: break; case TLCGenPluginElems.PlugMessaging: (instpl as ITLCGenPlugMessaging).UpdateTLCGenMessaging(); break; case TLCGenPluginElems.Switcher: (instpl as ITLCGenSwitcher).ControllerSet += (sender, model) => { SetController(model); }; (instpl as ITLCGenSwitcher).FileNameSet += (sender, model) => { TLCGenControllerDataProvider.Default.ControllerFileName = model; }; break; } } TLCGenPluginManager.LoadAddinSettings(instpl, part.Item2.GetType(), SettingsProvider.Default.Settings.CustomData); } _ApplicationParts.Add(new Tuple <TLCGenPluginElems, ITLCGenPlugin>(part.Item1, instpl as ITLCGenPlugin)); } if (Generators.Count > 0) { SelectedGenerator = Generators[0]; } // Construct the ViewModel ControllerVM = new ControllerViewModel(); if (!DesignMode.IsInDesignMode) { if (Application.Current != null && Application.Current.MainWindow != null) { Application.Current.MainWindow.Closing += new CancelEventHandler(MainWindow_Closing); } } #if !DEBUG Application.Current.DispatcherUnhandledException += (o, e) => { string message = "Er is een onverwachte fout opgetreden.\n\n"; if (TLCGenControllerDataProvider.Default.Controller != null) { try { string t = TLCGenControllerDataProvider.Default.ControllerFileName; if (string.IsNullOrWhiteSpace(TLCGenControllerDataProvider.Default.ControllerFileName)) { TLCGenControllerDataProvider.Default.ControllerFileName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "TLC_recoverysave.tlc"); } TLCGenControllerDataProvider.Default.ControllerFileName = System.IO.Path.Combine( System.IO.Path.GetDirectoryName(TLCGenControllerDataProvider.Default.ControllerFileName), DateTime.Now.ToString("yyyyMMdd-HHmmss-", System.Globalization.CultureInfo.InvariantCulture) + System.IO.Path.GetFileName(TLCGenControllerDataProvider.Default.ControllerFileName)); TLCGenControllerDataProvider.Default.SaveController(); message += "De huidige regeling is hier opgeslagen:\n" + TLCGenControllerDataProvider.Default.ControllerFileName + "\n\n"; if (t != null) { TLCGenControllerDataProvider.Default.ControllerFileName = t; } } catch { } } message += "Gelieve dit probleem inclusief onderstaande details doorgeven aan de ontwikkelaar:\n\n"; var win = new TLCGen.Dialogs.UnhandledExceptionWindow(); win.DialogTitle = "Onverwachte fout in TLCGen"; win.DialogMessage = message; win.DialogExpceptionText = e.Exception.ToString(); win.ShowDialog(); }; #endif } catch (Exception e) { TLCGenSplashScreenHelper.Hide(); string message = "Er is een onverwachte fout opgetreden.\n\n"; message += "Gelieve dit probleem inclusief onderstaande details doorgeven aan de ontwikkelaar:\n\n"; var win = new UnhandledExceptionWindow { DialogTitle = "Onverwachte fout in TLCGen", DialogMessage = message, DialogExpceptionText = e.ToString() }; win.ShowDialog(); } Directory.SetCurrentDirectory(tmpCurDir); #if !DEBUG // Find out if there is a newer version available via Wordpress REST API Task.Run(() => { // clean potential old data var key = Registry.CurrentUser.OpenSubKey("Software", true); var sk1 = key?.OpenSubKey("CodingConnected e.U.", true); var sk2 = sk1?.OpenSubKey("TLCGen", true); var tempFile = (string)sk2?.GetValue("TempInstallFile", null); if (tempFile != null) { if (File.Exists(tempFile)) { File.Delete(tempFile); } sk2?.DeleteValue("TempInstallFile"); } var webRequest = WebRequest.Create(@"https://codingconnected.eu/wp-json/wp/v2/pages/1105"); webRequest.UseDefaultCredentials = true; using (var response = webRequest.GetResponse()) using (var content = response.GetResponseStream()) if (content != null) { using (var reader = new StreamReader(content)) { var strContent = reader.ReadToEnd().Replace("\n", ""); var jsonDeserializer = new JavaScriptSerializer(); var deserializedJson = jsonDeserializer.Deserialize <dynamic>(strContent); if (deserializedJson == null) { return; } var contentData = deserializedJson["content"]; if (contentData == null) { return; } var renderedData = contentData["rendered"]; if (renderedData == null) { return; } var data = renderedData as string; if (data == null) { return; } var all = data.Split('\r'); var tlcgenVer = all.FirstOrDefault(v => v.StartsWith("TLCGen=")); if (tlcgenVer == null) { return; } var oldvers = Assembly.GetEntryAssembly().GetName().Version.ToString().Split('.'); var newvers = tlcgenVer.Replace("TLCGen=", "").Split('.'); bool newer = false; if (oldvers.Length > 0 && oldvers.Length == newvers.Length) { for (int i = 0; i < newvers.Length; i++) { var o = int.Parse(oldvers[i]); var n = int.Parse(newvers[i]); if (o > n) { break; } if (n > o) { newer = true; break; } } } if (newer) { DispatcherHelper.CheckBeginInvokeOnUI(() => { var w = new NewVersionAvailableWindow(tlcgenVer.Replace("TLCGen=", "")); w.ShowDialog(); }); } } } }); #endif }
public Assembly WithMatchingChipAndGenerator(Element element) { Chips.Add(element); Generators.Add(element); return(this); }
internal override Event ReadEntry(BinaryReaderEx br) { EventType type = br.GetEnum32 <EventType>(br.Position + 8); switch (type) { case EventType.Light: var light = new Event.Light(br); Lights.Add(light); return(light); case EventType.Sound: var sound = new Event.Sound(br); Sounds.Add(sound); return(sound); case EventType.SFX: var sfx = new Event.SFX(br); SFXs.Add(sfx); return(sfx); case EventType.WindSFX: var windSFX = new Event.WindSFX(br); WindSFXs.Add(windSFX); return(windSFX); case EventType.Treasure: var treasure = new Event.Treasure(br); Treasures.Add(treasure); return(treasure); case EventType.Generator: var generator = new Event.Generator(br); Generators.Add(generator); return(generator); case EventType.Message: var message = new Event.Message(br); Messages.Add(message); return(message); case EventType.ObjAct: var objAct = new Event.ObjAct(br); ObjActs.Add(objAct); return(objAct); case EventType.SpawnPoint: var spawnPoint = new Event.SpawnPoint(br); SpawnPoints.Add(spawnPoint); return(spawnPoint); case EventType.MapOffset: var mapOffset = new Event.MapOffset(br); MapOffsets.Add(mapOffset); return(mapOffset); case EventType.Navmesh: var navmesh = new Event.Navmesh(br); Navmeshes.Add(navmesh); return(navmesh); case EventType.Environment: var environment = new Event.Environment(br); Environments.Add(environment); return(environment); case EventType.PseudoMultiplayer: var pseudoMultiplayer = new Event.PseudoMultiplayer(br); PseudoMultiplayers.Add(pseudoMultiplayer); return(pseudoMultiplayer); default: throw new NotImplementedException($"Unsupported event type: {type}"); } }
public void Add(IMsbEvent item) { switch (item) { case Event.Light e: Lights.Add(e); break; case Event.Sound e: Sounds.Add(e); break; case Event.SFX e: SFXs.Add(e); break; case Event.WindSFX e: WindSFXs.Add(e); break; case Event.Treasure e: Treasures.Add(e); break; case Event.Generator e: Generators.Add(e); break; case Event.Message e: Messages.Add(e); break; case Event.ObjAct e: ObjActs.Add(e); break; case Event.SpawnPoint e: SpawnPoints.Add(e); break; case Event.MapOffset e: MapOffsets.Add(e); break; case Event.Navmesh e: Navmeshes.Add(e); break; case Event.Environment e: Environments.Add(e); break; case Event.PseudoMultiplayer e: PseudoMultiplayers.Add(e); break; default: throw new ArgumentException( message: "Item is not recognized", paramName: nameof(item)); } }
internal override Event ReadEntry(BinaryReaderEx br) { EventType type = br.GetEnum32 <EventType>(br.Position + 0xC); switch (type) { case EventType.Treasure: var treasure = new Event.Treasure(br); Treasures.Add(treasure); return(treasure); case EventType.Generator: var generator = new Event.Generator(br); Generators.Add(generator); return(generator); case EventType.ObjAct: var objAct = new Event.ObjAct(br); ObjActs.Add(objAct); return(objAct); case EventType.MapOffset: var mapOffset = new Event.MapOffset(br); MapOffsets.Add(mapOffset); return(mapOffset); case EventType.WalkRoute: var walkRoute = new Event.WalkRoute(br); WalkRoutes.Add(walkRoute); return(walkRoute); case EventType.GroupTour: var groupTour = new Event.GroupTour(br); GroupTours.Add(groupTour); return(groupTour); case EventType.Event17: var event17 = new Event.Event17(br); Event17s.Add(event17); return(event17); case EventType.Event18: var event18 = new Event.Event18(br); Event18s.Add(event18); return(event18); case EventType.Event20: var event20 = new Event.Event20(br); Event20s.Add(event20); return(event20); case EventType.Event21: var event21 = new Event.Event21(br); Event21s.Add(event21); return(event21); case EventType.PartsGroup: var partsGroup = new Event.PartsGroup(br); PartsGroups.Add(partsGroup); return(partsGroup); case EventType.Event23: var event23 = new Event.Event23(br); Event23s.Add(event23); return(event23); case EventType.AutoDrawGroup: var autoDrawGroup = new Event.AutoDrawGroup(br); AutoDrawGroups.Add(autoDrawGroup); return(autoDrawGroup); case EventType.Other: var other = new Event.Other(br); Others.Add(other); return(other); default: throw new NotImplementedException($"Unimplemented model type: {type}"); } }
public MoonstonePowerGeneratorAddon(bool link) { AddonComponent c = new AddonComponent(39759); c.Hue = 2955; AddComponent(c, 0, 0, 0); c = new AddonComponent(39759); c.Hue = 2955; AddComponent(c, -1, 0, 0); c = new AddonComponent(39759); c.Hue = 2955; AddComponent(c, 1, 0, 0); c = new AddonComponent(39759); c.Hue = 2955; AddComponent(c, 0, -1, 0); c = new AddonComponent(39759); c.Hue = 2955; AddComponent(c, 0, 1, 0); c = new AddonComponent(39818); c.Hue = 2955; AddComponent(c, -1, -1, 0); c = new AddonComponent(39818); c.Hue = 2955; AddComponent(c, -1, 1, 0); c = new AddonComponent(39818); c.Hue = 2955; AddComponent(c, 1, -1, 0); c = new AddonComponent(39818); c.Hue = 2955; AddComponent(c, 1, 1, 0); Activator1 = new InternalComponent(40158); Activator2 = new InternalComponent(40203); AddComponent(Activator1, 0, -1, 5); AddComponent(Activator2, 0, 1, 5); AddComponent(new LocalizedAddonComponent(40155, 1156623), 1, 0, 5); AddComponent(new LocalizedAddonComponent(40155, 1156623), -1, 0, 5); AddComponent(new LocalizedAddonComponent(40156, 1156628), -1, 0, 10); AddComponent(new LocalizedAddonComponent(40156, 1156628), 1, 0, 10); //AddComponent(new LocalizedAddonComponent(40147, 1124171), 0, 0, 5); AddComponent(new LocalizedAddonComponent(40157, 1124171), 0, 0, 20); Generator = new MoonstonePowerGenerator(this); Link = link; if (link) { Generators.Add(this); } }
public TLCGenPluginManager(string pluginpath) { try { if (Directory.Exists(pluginpath)) { // Find all Generator DLL's foreach (String file in Directory.GetFiles(pluginpath)) { if (Path.GetExtension(file).ToLower() == ".dll") { // Find and loop all types from the assembly var assemblyInstance = Assembly.LoadFrom(file); var types = assemblyInstance.GetTypes(); var bFound = false; foreach (Type t in types) { // Find TLCGenPluginAttribute attribute, and if found, continue var attr = (TLCGenPluginAttribute)Attribute.GetCustomAttribute(t, typeof(TLCGenPluginAttribute)); if (attr != null) { var plugin = Activator.CreateInstance(t); if ((attr.PluginElements & TLCGenPluginElems.Generator) == TLCGenPluginElems.Generator) { Generators.Add(plugin as ITLCGenGenerator); } if ((attr.PluginElements & TLCGenPluginElems.Importer) == TLCGenPluginElems.Importer) { Importers.Add(plugin as ITLCGenImporter); } if ((attr.PluginElements & TLCGenPluginElems.MenuControl) == TLCGenPluginElems.MenuControl) { MenuItems.Add(plugin as ITLCGenMenuItem); } if ((attr.PluginElements & TLCGenPluginElems.TabControl) == TLCGenPluginElems.TabControl) { TabItems.Add(plugin as ITLCGenTabItem); } if ((attr.PluginElements & TLCGenPluginElems.ToolBarControl) == TLCGenPluginElems.ToolBarControl) { TabItems.Add(plugin as ITLCGenTabItem); } bFound = true; } } if (!bFound) { //#if !DEBUG System.Windows.MessageBox.Show($"Library {file} wordt niet herkend als TLCGen addin."); //#endif } } } } else { } } catch { throw new NotImplementedException(); } }
public Assembly WithGenerator(Element chip) { Generators.Add(chip); return(this); }