public EventSlot Create(EventSlot eventSlot) { string query = @"INSERT INTO [dbo].[EventSlot] ([EventTypeId] ,[EventPageId] ,[Date] ,[Cost] ,[MaxParticipants] ,[Distances] ,[IndemnityWaiverDocumentLink] ,[CovidDocumentLink] ,[IsGuestEvent] ,[RequiresBTFLicense]) OUTPUT Inserted.Id VALUES (@EventTypeId ,@EventPageId ,@Date ,@Cost ,@MaxParticipants ,@Distances ,@IndemnityWaiverDocumentLink ,@CovidDocumentLink ,@IsGuestEvent ,@RequiresBTFLicense)"; using (IDbConnection connection = _dataConnection.SqlConnection) { eventSlot.Id = connection.Query <int>(query, eventSlot).Single(); } return(eventSlot); }
void Init() { if (_onChange == null) { _onChange = new EventSlot <byte>(); } }
public RepairDisaster(EventSlot slot, long startTime, long endTime, StationPart stationPart) : base(slot, startTime, endTime) { StationPart = stationPart; IsSilenced = false; switch (slot) { case EventSlot.North: Position = northDrawLoc; break; case EventSlot.South: Position = southDrawLoc; break; case EventSlot.East: Position = eastDrawLoc; break; case EventSlot.West: Position = westDrawLoc; break; case EventSlot.Center: Position = centerDrawLoc; break; } }
private Rule DeserializeIfElse(EventSlot slot, XElement element) { var rule = (IfElseRule)TypeActivator.CreateInstance(typeof(IfElseRule)); var conditionsElement = element.Element("conditions"); if (conditionsElement != null) { foreach (var conditionElement in conditionsElement.Elements()) { rule.Conditions.Add(DeserializeCondition(conditionElement)); } } var thenElement = element.Element("then"); if (thenElement != null) { foreach (var ruleElement in thenElement.Elements()) { rule.Then.Add(DeserializeRule(slot, ruleElement)); } } var elseElement = element.Element("else"); if (elseElement != null) { foreach (var ruleElement in elseElement.Elements()) { rule.Else.Add(DeserializeRule(slot, ruleElement)); } } return(rule); }
public void Update(EventSlot slot) { string query = @"UPDATE [dbo].[EventSlot] SET [Cost] = @Cost ,[MaxParticipants] = @MaxParticipants ,[Distances] = @Distances ,[IndemnityWaiverDocumentLink] = @IndemnityWaiverDocumentLink ,[CovidDocumentLink] = @CovidDocumentLink ,[IsGuestEvent] = @IsGuestEvent ,[RequiresBTFLicense] = @RequiresBTFLicense WHERE Id = @Id"; using (IDbConnection connection = _dataConnection.SqlConnection) { connection.Execute(query, new { Id = slot.Id, Cost = slot.Cost, MaxParticipants = slot.MaxParticipants, Distances = slot.Distances, IndemnityWaiverDocumentLink = slot.IndemnityWaiverDocumentLink, CovidDocumentLink = slot.CovidDocumentLink, IsGuestEvent = slot.IsGuestEvent, RequiresBTFLicense = slot.RequiresBTFLicense }); } }
public void ExceptionsDuringTriggerDontEraseSlot() { var slot = new EventSlot(); bool called = false; IEventListener listener2 = new DelegateEventListener(() => called = true); bool dead = false; IEventListener listener = new DelegateEventListener(() => { dead = true; throw new Exception(); }, () => dead); slot.Register(listener); slot.Register(listener2); try { slot.Trigger(); } catch (Exception) {} slot.Trigger(); Assert.That(called); }
public GasLeakDisaster(EventSlot slot, long startTime, long endTime, SteamColor steamColor) : base(slot, startTime, endTime) { VisibleToPlayer = PlayerNumber.TWO; SteamColor = steamColor; switch (slot) { case EventSlot.North: Position = northDrawLoc; break; case EventSlot.South: Position = southDrawLoc; break; case EventSlot.East: Position = eastDrawLoc; break; case EventSlot.West: Position = westDrawLoc; break; case EventSlot.Center: Position = centerDrawLoc; break; } }
void Init() { if (_onChange == null) { _onChange = new EventSlot <float>(); } }
void Init() { if (_onChange == null) { _onChange = new EventSlot <Quaternion>(); } }
public void DeadListenersRemovedRightAway() { var slot = new EventSlot(); bool called = false; bool dead = false; int count = 0; IEventListener listener = new DelegateEventListener(() => { if (count == 0) { dead = true; } else { called = true; } ++count; }, () => dead); slot.Register(listener); slot.Trigger(); dead = false; slot.Trigger(); Assert.That(!called); }
void Init() { if (_onChange == null) { _onChange = new EventSlot <Vector3>(); } }
public ActionResult DeleteConfirmed(Guid id) { EventSlot eventSlot = db.EventSlots.Find(id); db.EventSlots.Remove(eventSlot); db.SaveChanges(); return(RedirectToAction("Index")); }
public void NotCalledIfNotTrigger() { var slot = new EventSlot(); bool called = false; slot.Register(() => called = true); Assert.That(!called); }
public EventSummarySnippit(EventSlot para_eventSlot, string para_eventText, string para_readableLangArea, string para_readableDifficulty) { eventInfo = para_eventSlot; eventText = para_eventText; readableLangArea = para_readableLangArea; readableDifficulty = para_readableDifficulty; }
public override Rule ToRule(EventSlot slot) { var rule = new AlwaysRule(); foreach (var activityModel in Activities) { rule.Activities.Add(activityModel.ToConfiguredActivity()); } return(rule); }
public ActionResult Edit([Bind(Include = "Id,EventId,StartTime,EndTime,CreatedTime,ModifiedTime,BookedBy,IsActive")] EventSlot eventSlot) { if (ModelState.IsValid) { db.Entry(eventSlot).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EventId = new SelectList(db.Events, "Id", "Name", eventSlot.EventId); return(View(eventSlot)); }
public IList <Rule> DeserializeRules(EventSlot slot, XElement rulesXml) { var rules = new List <Rule>(); foreach (var ruleElement in rulesXml.Elements()) { rules.Add(DeserializeRule(slot, ruleElement)); } return(rules); }
public void EventCallOrder() { var slot = new EventSlot(); List <int> ints = new List <int>(); slot.Register(() => ints.Add(0)); slot.Register(() => ints.Add(1)); slot.Trigger(); Assert.That(ints[0].Equals(0) && ints[1].Equals(1)); }
private Rule DeserializeAlways(EventSlot slot, XElement element) { var rule = (AlwaysRule)TypeActivator.CreateInstance(typeof(AlwaysRule)); foreach (var activityElement in element.Elements("activity")) { rule.Activities.Add(DeserializeActivity(activityElement)); } return(rule); }
public ActionResult Create([Bind(Include = "Id,EventId,StartTime,EndTime,CreatedTime,ModifiedTime,BookedBy,IsActive")] EventSlot eventSlot) { if (ModelState.IsValid) { eventSlot.Id = Guid.NewGuid(); db.EventSlots.Add(eventSlot); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EventId = new SelectList(db.Events, "Id", "Name", eventSlot.EventId); return(View(eventSlot)); }
public void DeadListenerNotCalled() { var slot = new EventSlot(); bool called = false; IEventListener listener = new DelegateEventListener(() => called = true, () => true); slot.Register(listener); slot.Trigger(); Assert.That(!called); }
public void CalledWithDelegateEventListener() { var slot = new EventSlot(); bool called = false; IEventListener listener = new DelegateEventListener(() => called = true); slot.Register(listener); slot.Trigger(); Assert.That(called); }
public void abortQuest() { launcherDetails = ""; worldView.resetQuestGiverPosition(selectedEvent.getQuestGiverCharID()); selectedEvent = null; worldView.cancelMove(); questBar.gameObject.SetActive(false); showQuestBar = false; activateWVInterface(); }
// GET: EventSlots/Details/5 public ActionResult Details(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EventSlot eventSlot = db.EventSlots.Find(id); if (eventSlot == null) { return(HttpNotFound()); } return(View(eventSlot)); }
public void Setter(long value) { if (_value == value) { return; } _value = value; if (_onChange == null) { _onChange = new EventSlot <long>(); } _onChange.Trigger(value); }
public void Once() { var slot = new EventSlot(); int count = 0; IEventListener listener = DelegateEventListeners.Once(() => { ++count; }); slot.Register(listener); slot.Trigger(); slot.Trigger(); Assert.AreEqual(1, count); }
// GET: EventSlots/Edit/5 public ActionResult Edit(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } EventSlot eventSlot = db.EventSlots.Find(id); if (eventSlot == null) { return(HttpNotFound()); } ViewBag.EventId = new SelectList(db.Events, "Id", "Name", eventSlot.EventId); return(View(eventSlot)); }
private Rule DeserializeSwitchCase(EventSlot slot, XElement element) { var paramName = element.Attribute("parameter").Value; var param = ParameterProviders.GetParameter(slot.EventType, paramName); if (param == null) { return(null); } var rule = new SwitchCaseRule(param); // Cases foreach (var caseElement in element.Elements("case")) { var value = Convert.ChangeType(caseElement.Attribute("value").Value, param.ValueType); var caseRules = new List <Rule>(); foreach (var caseRuleElement in caseElement.Elements()) { var caseRule = DeserializeRule(slot, caseRuleElement); if (caseRule != null) { caseRules.Add(caseRule); } } rule.Cases.Add(value, caseRules); } // Default var defaultElement = element.Element("default"); if (defaultElement != null) { foreach (var defaultRuleElement in defaultElement.Elements()) { var defaultRule = DeserializeRule(slot, defaultRuleElement); if (defaultRule != null) { rule.Default.Add(defaultRule); } } } return(rule); }
public void LifeTimeEventListenerDontHoldGarbage() { var slot = new EventSlot(); List <int> list = new List <int>(); { TestGarbage garbage = new TestGarbage(list); var listener = DelegateEventListeners.LifeTime((t) => t.Callback(), garbage); slot.Register(listener); } GC.Collect(); slot.Trigger(); Assert.AreEqual(0, list.Count); }
public override Rule ToRule(EventSlot slot) { var param = RuleParameterProviders.Providers.GetParameter(slot.EventType, Parameter); var rule = new SwitchCaseRule(param); foreach (var caze in Cases) { var value = Convert.ChangeType(caze.Value, param.ValueType); rule.Cases.Add(value, caze.Rules.Select(r => r.ToRule(slot)).ToList()); } foreach (var defaultRule in Default) { rule.Default.Add(defaultRule.ToRule(slot)); } return(rule); }
public override Rule ToRule(EventSlot slot) { var rule = new IfElseRule(); rule.Conditions = Conditions.ToList(); foreach (var thenRuleModel in Then) { rule.Then.Add(thenRuleModel.ToRule(slot)); } foreach (var elseRuleModel in Else) { rule.Else.Add(elseRuleModel.ToRule(slot)); } return(rule); }
private void AddEventSlot(int eventTypeId, DateTime eventDate, Event eventPage) { var eventSlot = new EventSlot() { EventTypeId = eventTypeId, EventPageId = eventPage.Id, Date = eventDate, Cost = eventPage.Cost, MaxParticipants = eventPage.MaximumParticipants, RequiresBTFLicense = eventPage.RequiresBtflicense, IndemnityWaiverDocumentLink = eventPage.IndemnityWaiver?.Url, CovidDocumentLink = eventPage.CovidHealthDeclaration?.Url, IsGuestEvent = eventPage.IsGuestEvent }; eventSlot.SetDisances(eventPage.RaceDistances); _eventSlotRepository.Create(eventSlot); }
private Rule DeserializeAlways(EventSlot slot, XElement element) { var rule = (AlwaysRule)TypeActivator.CreateInstance(typeof(AlwaysRule)); foreach (var activityElement in element.Elements("activity")) { rule.Activities.Add(DeserializeActivity(activityElement)); } return rule; }
//Activity should start with the given parameters public void launchQuest(ExternalParams builtExtParams,int destChar,string source,Mode m) { EventSlot selectedEvent = new EventSlot(-1, builtExtParams.questGiverIdOverride, destChar, builtExtParams.acIdOverride, new Encounter( builtExtParams.acIdOverride, builtExtParams.levelOverride, builtExtParams.langAreaOverride, builtExtParams.difficultyOverride, "", LocalisationMang.langCode) ); launchQuest(selectedEvent,source,m); }
private Rule DeserializeIfElse(EventSlot slot, XElement element) { var rule = (IfElseRule)TypeActivator.CreateInstance(typeof(IfElseRule)); var conditionsElement = element.Element("conditions"); if (conditionsElement != null) { foreach (var conditionElement in conditionsElement.Elements()) { rule.Conditions.Add(DeserializeCondition(conditionElement)); } } var thenElement = element.Element("then"); if (thenElement != null) { foreach (var ruleElement in thenElement.Elements()) { rule.Then.Add(DeserializeRule(slot, ruleElement)); } } var elseElement = element.Element("else"); if (elseElement != null) { foreach (var ruleElement in elseElement.Elements()) { rule.Else.Add(DeserializeRule(slot, ruleElement)); } } return rule; }
private Rule DeserializeRule(EventSlot slot, XElement element) { var deserializer = _deserializers[element.Name.LocalName]; return deserializer(slot, element); }
private Rule DeserializeSwitchCase(EventSlot slot, XElement element) { var paramName = element.Attribute("parameter").Value; var param = ParameterProviders.GetParameter(slot.EventType, paramName); if (param == null) { return null; } var rule = new SwitchCaseRule(param); // Cases foreach (var caseElement in element.Elements("case")) { var value = Convert.ChangeType(caseElement.Attribute("value").Value, param.ValueType); var caseRules = new List<Rule>(); foreach (var caseRuleElement in caseElement.Elements()) { var caseRule = DeserializeRule(slot, caseRuleElement); if (caseRule != null) { caseRules.Add(caseRule); } } rule.Cases.Add(value, caseRules); } // Default var defaultElement = element.Element("default"); if (defaultElement != null) { foreach (var defaultRuleElement in defaultElement.Elements()) { var defaultRule = DeserializeRule(slot, defaultRuleElement); if (defaultRule != null) { rule.Default.Add(defaultRule); } } } return rule; }
public IList<Rule> DeserializeRules(EventSlot slot, string rulesXml) { return DeserializeRules(slot, XElement.Parse(rulesXml)); }
public IList<Rule> DeserializeRules(EventSlot slot, XElement rulesXml) { var rules = new List<Rule>(); foreach (var ruleElement in rulesXml.Elements()) { rules.Add(DeserializeRule(slot, ruleElement)); } return rules; }
public void launchQuest(EventSlot e,string source,Mode m) { //Debug.Log("LA: "+e.getEncounter().getLanguageArea()+" DF:"+e.getEncounter().getDifficulty()); gbDisp.closeGhostbook(); GBOpen = false; activateWVInterface(); if(checkLevelCorrectness(e.getEncounter().getLevel(),e.getApplicationID(),e.getEncounter().getLanguageArea())){ launcherMode = m; launcherDetails = source; selectedEvent = e; acServCom.setActivityParameters(selectedEvent.getEncounter().getLocation(), selectedEvent.getEncounter().getDifficulty(), selectedEvent.getEncounter().getLanguageArea(), wvServCom.getUserID(), 0, selectedEvent.getEncounter().getLevel(), launcherMode); acServCom.load(); if(m ==Mode.ADVENTURE){//walk activateQuestBar(selectedEvent); worldView.sendQuestGiverToCharacter(selectedEvent.getQuestGiverCharID(),selectedEvent.getQuestReceiverCharID()); worldView.moveToCharacter(selectedEvent.getQuestReceiverCharID()); }else{//start immediate deactivateWVInterface(); worldView.setLoadingIconVisibility(true); startRequested = true; } }else{ WorldViewServerCommunication.setError("Problem on difficulty ("+e.getEncounter().getLanguageArea()+","+e.getEncounter().getDifficulty()+")\nLevel "+e.getEncounter().getLevel()+" no supported"); } }
private void activateQuestBar(EventSlot selectedEvent) { questBar.gameObject.SetActive(true); QuestBarScript qBarScript = questBar.gameObject.AddComponent<QuestBarScript>(); qBarScript.init(selectedEvent.getQuestGiverCharID(),selectedEvent.getQuestReceiverCharID(),selectedEvent.getApplicationID());//selectedEvent.getApplicationID() showQuestBar = true; showGBIcon = false; ghostbookIcon.gameObject.SetActive(showGBIcon); //if(showNarrativeIcon){ //narrativeIcon.gameObject.SetActive(false); //} worldView.clearUnclickable(); worldView.addUnclickable(questBarUiBounds); worldView.addUnclickable(questBarAbortBtnUiBounds); }