protected void AddPackageButtonPressed(MouseClickEvent e) { if (e.button != 0) { return; } HashSet <string> set = new HashSet <string>(); foreach (string key in ProvenceManager.Collections <SystemPackage>().Keys) { if (!chosenKey.systemManager.systemPackages.Contains(key)) { set.Add(key); } } KeySelector keySelector = KeySelector.Open(); keySelector.eventManager.AddListener <MainframeKeySelection <string> >(ev => { chosenKey.systemManager.systemPackages.Add(ev.value); chosenKey.systemManager.systemPackages = new HashSet <string>(chosenKey.systemManager.systemPackages.OrderBy(p => p)); eventManager.Raise <SetSceneDirtyEvent>(new SetSceneDirtyEvent(EditorSceneManager.GetActiveScene())); eventManager.Raise <DrawColumnEventArgs <World> >(new DrawColumnEventArgs <World>(1)); }); keySelector.eventManager.Raise <SetSelectorParameters <HashSet <string> > >(new SetSelectorParameters <HashSet <string> >(set)); }
protected void AddPackage(string packageName) { if (ProvenceManager.Collections <SystemPackage>().ContainsKey(packageName)) { HashSet <Type> package = ProvenceManager.Collections <SystemPackage>()[packageName].systems; foreach (Type systemType in package) { if (!systemDictionary.ContainsKey(systemType)) { systemDictionary[systemType] = (ProvenceSystem)Activator.CreateInstance(systemType); } } } }
public void AddSystemPackageAtRuntime(string packageName) { if (ProvenceManager.Collections <SystemPackage>().ContainsKey(packageName)) { HashSet <Type> package = ProvenceManager.Collections <SystemPackage>()[packageName].systems; foreach (Type systemType in package) { if (!systemDictionary.ContainsKey(systemType)) { ProvenceSystem system = (ProvenceSystem)Activator.CreateInstance(systemType); AddSystem((dynamic)system); } } } }
protected void CreateEntryInstance(CreateEntryInstance <ActorManualEntry> args) { ProvenceManager.Collections <ActorManualEntry>().CreateEntryInstance(world, args.key, args.position, args.rotation); }
protected void SetEntityToManualEntry(SetEntityToManualEntry <ActorManualEntry> args) { ProvenceManager.Collections <ActorManualEntry>().SetEntityToEntry(world, args.entity, args.key, args.position, args.rotation); }
protected override void LoadCollection() { collection = ProvenceManager.Collections <ActorManualEntry>(); }
protected static void CreateControl <V>(StructureControl <ProvenceCollectionInstance <V> > control) where V : ProvenceCollectionEntry { //Change to picker ListItem item = new ListItem(); KeySelectorElement keySelector = item.AddKeySelector("Entry Name:", control.structure.key, ProvenceManager.Collections <V>().Keys.ToSet()); keySelector.eventManager.AddListener <MainframeKeySelection <string> >(e => { control.structure.key = e.value; control.eventManager.Raise <MainframeKeySelection <string> >(new MainframeKeySelection <string>(e.value)); control.eventManager.Raise(new StructureControlUpdated <ProvenceCollectionInstance <V> >(control)); }); item.AddButton("Set to Entry").eventManager.AddListener <MouseClickEvent>(e => { if (e.button != 0) { return; } if (control.world != null && control.entity != null) { control.world.eventManager.Raise(new SetEntityToManualEntry <V>(control.entity, keySelector.value)); control.eventManager.Raise(new StructureControlUpdated <ProvenceCollectionInstance <V> >(control)); control.eventManager.Raise(new StructureControlRefreshRequest(100)); } }); control.Add(item); }
protected override void LoadCollection() { collection = ProvenceManager.Collections <SystemPackage>(); }