private void Subscriber(StoryEvent param) { switch (param.Type) { case StoryEventType.Comment: if (Config.IsSinglePageStatus(CurrentUIStatus)) { Frame rootFrame = App.GetWindowFrame(); if (rootFrame == null) { return; } NavigationManager.Instance.Navigate(rootFrame, typeof(CommentPage)); } break; case StoryEventType.ShareToWeiBo: if (WeiboSharePopup.IsOpen) { break; } WeiboSharePopup.IsOpen = true; PostMsg.Text = string.Format($"{VM.MainHtmlContent.Title} {VM.MainHtmlContent.Share_Url}"); Animator.Use(AnimationType.ZoomInDown).SetDuration(TimeSpan.FromMilliseconds(800)).PlayOn(WeiboSharePopup, () => { var transform = (CompositeTransform)AnimUtil.PrepareTransform(WeiboSharePopup, typeof(CompositeTransform)); transform.CenterX = transform.CenterY = 0; }); break; } }
static public bool Act(ref Item item) { string name = item.dictName; if (item.takeEvent != null) { StoryEvent se = new StoryEvent(item.takeEvent); return(StoryPoints.RunStoryEvent(se)); } else { if (new string[] { "door", "airVent", "wall", "ceiling", "floor" }.Contains(item.genericType)) { return(PartOfBuilding(name)); } else if (item.portable) { return(TakeItem(ref item)); } else { return(TooHeavy(item.commonDescription)); } } }
public void PrepareStoryEvent(StoryEvent storyEvent, Stats stats) { storyEvent.DisplayText = string.Empty; foreach (var append in storyEvent.DisplayAppendText) { storyEvent.DisplayText += textTransformer.TransformText(append, stats); storyEvent.DisplayText += DisplayConstants.BreakBetweenInfoBlocks; } storyEvent.DisplayText += textTransformer.TransformText(storyEvent.RawText, stats); storyEvent.DisplayText += new ReferenceEntryDescriptionProcessor().ProcessDescriptionFromReferenceEntries(storyEvent.RawReferenceEntries); storyEvent.ButtonText = textTransformer.TransformText(storyEvent.RawButtonText, stats); if (string.IsNullOrEmpty(storyEvent.ButtonText)) { storyEvent.ButtonText = DisplayConstants.DefaultButtonText(storyEvent.Type); } foreach (var choice in storyEvent.RawChoices) { ChoicePreparer.PrepareChoice(choice, stats); } }
public void GenerateStory_FindsWhetherStoryWasGenerated_ReturnsNotNull() { StoryEvent storyEvent = new StoryEvent { Value = DateTime.Now.ToLongTimeString() + "-" + "Picture Taken", DateTime = DateTime.Now, Finished = true }; Card card = new Card { Message = "test", StoryEventId = storyEvent.Id, Type = "1" }; Picture picture = new Picture { Path = "Test", EventId = storyEvent.Id }; List <Database.Models.VoiceRecording> voiceRecordings = new List <Database.Models.VoiceRecording> { new Database.Models.VoiceRecording { Path = "Test", EventId = storyEvent.Id } }; _db.InsertEvent(true, storyEvent, card, picture, voiceRecordings); _storyGenerator.Create(); Assert.IsNotNull(_db.GetAllStories(), "GenerateStory_FindsWhetherStoryWasGenerated_ReturnsNotNull: Did not return stories"); }
// Update is called once per frame void Update() { if (!isInFight && StoryEvent.getIntroEvent() >= 2) { if (PlayerPrefs.GetInt("CreativeMode") == 0 && StoryEvent.getIntroEvent() >= 6) { ChangeArmed(); } Unsheatled(); } else { armed = true; Unsheatled(); } Attack(); if (armed) { Protection(); } Inactif(); Animation(); if ((transform.position - labyrinthPlace).magnitude <= 3 && StoryEvent.getIntroEvent() == 2) { StoryEvent.IncrementIntroEvent(); } }
public void FindDefaultPicture_FindThePictureFileName_ReturnsCorrectString() { StoryEvent storyEvent = new StoryEvent { Value = DateTime.Now.ToLongTimeString() + "-" + "Card Tapped", DateTime = DateTime.Now, Finished = true }; Card card = new Card { Message = "test", StoryEventId = storyEvent.Id, Type = "1" }; var value = storyEvent.Value; _db.InsertEvent(true, storyEvent, card, null, null); var foundEvent = _db.FindEventByValue(value); var expected = "leisureCard"; var actual = _storyGenerator.FindDefaultPicture(foundEvent); Assert.AreEqual(expected, actual, "FindDefaultPicture_FindThePictureFileName_ReturnsCorrectString: Incorrect default picture returned"); }
void ReadStoryPrompt() { // Keep track of current story event current = StoryEvents[EventIndex]; // Access Code AccessCode = current.AccessCode; Keypad.NewCode(AccessCode); // Display Access Code // TODO: put this in a co-routine so that it delays UI_Manager.MonitorPrompt(AccessCode); // Desired Line DesiredLine = current.DesiredLine; // Does this prompt say it should be scrambled? scrambleRequired = current.scrambleRequired; if (scrambleRequired == true) { Scrambler.ScrambleLine = current.DesiredLine; Scrambler.ScrambleType = current.KindOfScramble; } // Play Prompt Audio, 5 is the int being used for Prompt audio LineManager.SwitchAudioSource(5); LineManager.promptAudioSource.clip = current.PromptAudio; LineManager.promptAudioSource.Play(); }
public void TryOpenActionWindow(StoryMapPoint point, StoryEvent storyEvent) { if (ActionWindow.CanShow()) { ActionWindow.ShowWindow(point, storyEvent); } }
public void RealizeEvent(StoryEvent storyEvent) { if (!EventIsRealized(storyEvent)) { eventRealized.Add(storyEvent); } }
public void ModifyStats(StoryEvent storyEvent, StoryEvent.ResultOptions.ResultType resultType) { StoryEvent.ResultOptions resultStats = null; for (int i = 0; i < storyEvent.StoryResults.Count; i++) { if (storyEvent.StoryResults[i].Type == resultType) { resultStats = storyEvent.StoryResults[i]; break; } } if (resultStats == null) { return; } var fs = FinalStatsHolder.Instance; fs.RedPower += resultStats.ForceRed; fs.BluePower += resultStats.ForceBlue; fs.RedDeaths += resultStats.LostRed; fs.BlueDeaths += resultStats.LostBlue; fs.Aggression += resultStats.Aggression; if (resultType != StoryEvent.ResultOptions.ResultType.Nothing) { fs.ActionCount++; } }
void ExpireEvent() { if (_curEvent == null) { return; } EventManager.Fire(new Event_StoryPointDone() { EventId = _curEvent.Id, Point = this, ActionType = _actionType }); // Free = true; _curEvent = null; _actionType = StoryEvent.ResultOptions.ResultType.Nothing; _liveTimer = 0f; _seq = TweenHelper.ReplaceSequence(_seq); _seq.Append(transform.DOScale(0, 0.35f)); _seq.AppendCallback(() => { Image.enabled = false; SelectedObj.SetActive(false); Free = true; _isPlaneFlyIn = false; }); }
static public bool Open(ref Item item) { string name = item.dictName; if (item.openEvent != null) { StoryEvent se = new StoryEvent(item.takeEvent); return(StoryPoints.RunStoryEvent(se)); } else if (!item.canOpen) { Console.WriteLine("There's nothing to open."); return(false); } else if (item.isOpen) { Console.WriteLine($"{item.commonDescription} is already open."); return(false); } else if (item.isLocked) { Console.WriteLine($"{item.commonDescription} is locked."); return(false); } else { item.isOpen = true; Console.WriteLine($"{item.commonDescription} is now open."); if (item.dictName == "flashlight") { item.isLightSource = false; item.canLight = false; if (Player.lightsCarried.Contains("flashlight")) { Player.lightsCarried.Remove("flashlight"); } if (Player.lightsOn.Contains("flashlight")) { Player.lightsOn.Remove("flashlight"); } } if (item.itemsInside.Count > 0) { Console.WriteLine("You now have access to the following"); foreach (string s in item.itemsInside) { Console.WriteLine($" {Item.byName[s].commonDescription}"); } if (Player.inventory.Contains(item.dictName)) { Player.lessObviousInventory.AddRange(item.itemsInside); } else { Location.CurrentRoom.lessObviousItems.AddRange(item.itemsInside); } } return(true); } }
// Update is called once per frame void Update() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "\n\n\n Thanks For Playing"; myEvent = StoryEvent.do_nothing; } }
//EVENTS public void DisplayEvent(StoryEvent story) { StoryEventPanel.titleText.text = story.title; StoryEventPanel.descriptionText.text = story.description; StoryEventPanel.speakerImage.sprite = story.sprite; StoryEventPanel.gameObject.SetActive(true); }
void ResetCurrents() { current = null; DesiredLine = 0; AccessCode = 0; scrambleRequired = false; KindOfScramble = 0; }
public static void LoseGame(string reason) { StoryEvent gameOver = new StoryEvent("You Lose", reason, null, new Reward()); gameOver.restartGame = true; PlayEvent(gameOver); Debug.LogError("LOSE GAME: " + reason); }
public void DisplayText() { var nextStory = story.GetNextStory(); story = nextStory; storyText.text = story.GetStoryText(); storyTextShadow.text = story.GetStoryText(); StartCoroutine(TextFade()); }
private async Task <StoryEvent> GetNexEvent(string choice) { if (choice != "EBACK") { _evenement = await _dalStoryEvent.GetByNumber(choice); } return(_evenement); }
public void EnqueueStoryEvent(StoryEventType type, object caller, object [] parameters) { StoryEvent storyEvent = new StoryEvent(); storyEvent.Type = type; storyEvent.Parameters = parameters; StoryEventQueue.Enqueue(storyEvent); Debug.Log("enqueued story event " + type); }
// 情节结束 void onStoryEndEvent(EventBase evt) { StoryEvent e = evt as StoryEvent; List <string> arr = new List <string>(); arr.Add(e.mStoryId.ToString()); TriggerEvent("onStoryEnd", arr); }
internal void ShowStoryEvent(StoryEvent storyEvent) { eventText.Text = storyEvent.text; reactionA.Label.Text = "A: " + storyEvent.reactionA.text; reactionB.Label.Text = "B: " + storyEvent.reactionB.text; reactionC.Label.Text = "C: " + storyEvent.reactionC.text; reactionD.Label.Text = "D: " + storyEvent.reactionD.text; }
void Update() { SE = StoryEvent.getIntroEvent(); if (saving) { ManualSave(this); Serialization.SaveWorld(this); saving = false; } }
public static void CreateMyAsset() { StoryEvent asset = ScriptableObject.CreateInstance <StoryEvent>(); AssetDatabase.CreateAsset(asset, "Assets/Resources/StoryEvents/StoryEvent_new.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = asset; }
public StoryEvent(StoryEvent other) { this.Signature = new EventSignature(other.Signature); this.Participants = new uint[other.Participants.Length]; Array.Copy( other.Participants, this.Participants, other.Participants.Length); this.ID = other.ID; }
//EDIT : Story Event public async Task <IActionResult> Edit(int id) { StoryEvent eventToEdit = await this._dalStoryEvent.GetById(id); if (eventToEdit == null) { return(NotFound()); } return(View(eventToEdit)); }
public Job(PatronID patronid, int Tier, string title, string description, int AurumReward, SpellEffect[] requiredEffects) { //if (patron == null) //{ // NobleHouse randomHouse = Util.RandomElement(NobleHouse.Definitions.Values.ToArray()); //patron = Util.RandomElement(randomHouse.members).id; //} this.patron = Patron.Directory[patronid]; Mandatory = Random.Range(0, 1f) < 0.2f; //this.patron = patron; this.Tier = Tier; this.title = title; this.description = description; EffectsRequired = new List <SpellEffect>(requiredEffects); EffectsProvided = new List <SpellEffect>(); totalTimeToComplete = 3 + Random.Range(0, 2) + Random.Range(0, 2) + Random.Range(0, 2); remainingTimeToComplete = totalTimeToComplete; //Calculating rewards int bigRepReward = Tier * 2; int smallRepReward = Tier; Reward successRewards = new Reward() .AddAurum(AurumReward) .AddXP(Tier); Reward failureRewards = new Reward() .AddReputation(patron.house, -bigRepReward); if (Random.Range(0, 1f) < 0.75f) //usually jobs hurt your rep with someone else { successRewards.AddReputation(patron.house, bigRepReward); int enemyHousePenalty = Random.Range(bigRepReward - 1, bigRepReward + 1); if (enemyHousePenalty > 0) { successRewards.AddReputation(NobleHouse.OpposedHouse[patron.house], -enemyHousePenalty); } } else { successRewards.AddReputation(patron.house, smallRepReward); } //Creating resulting events successEvent = new StoryEvent(title + " Complete!", "Nicely done. Here's your payment. \n\n" + successRewards.GetTextDescription() , patron.sprite, successRewards); failureEvent = new StoryEvent(title + " Failed", "You've failed me and disgraced yourself. \n\n" + failureRewards.GetTextDescription(), patron.sprite, failureRewards); AllRandomJobs.Add(this); }
public void CalculateTimeLimit_CalculateTenMinuteTimePeriod_ReturnsInteger() { StoryEvent storyEvent = new StoryEvent { Value = DateTime.Now.ToLongTimeString() + "-" + "Card Tapped", DateTime = DateTime.Now, Finished = true }; Assert.IsInstanceOfType(typeof(int), _storyGenerator.CalculateTimeLimit(storyEvent), "CalculateTimeLimit_CalculateTenMinuteTimePeriod_ReturnsInteger: Integer returned"); }
public static bool SaveWorld(World world) { StreamWriter file = new StreamWriter(saveFolderName + "/" + world.worldName + "/world.txt"); file.WriteLine("World : " + world.worldName); file.WriteLine("Seed : " + world.seed); file.WriteLine("Plane : " + world.plane); file.WriteLine("StoryEvent : " + StoryEvent.getIntroEvent()); file.Close(); return(true); }
/* * Method name: CheckTime * Purpose: To check whether the event occurs within 10 minutes of the event being made into a story */ public bool CheckTime(int limit, StoryEvent currentStory, StoryEvent storyToCheck) { if (currentStory.DateTime.Hour.Equals(storyToCheck.DateTime.Hour) && storyToCheck.DateTime.Minute >= currentStory.DateTime.Minute && storyToCheck.DateTime.Minute <= limit) { return(true); } return(false); }
public bool EventIsRealized(StoryEvent storyEvent) { foreach (StoryEvent i in eventRealized) { if (i == storyEvent) { return(true); } } return(false); }
public async Task <IActionResult> EditPost(StoryEvent eventToEdit) { IActionResult result = this.View(eventToEdit); if (ModelState.IsValid) { await this._dalStoryEvent.Edit(eventToEdit); result = RedirectToAction("Index"); } return(result); }
private void Subscriber(StoryEvent param) { switch (param.Type) { case StoryEventType.Night: if (VM != null) { VM.RefreshHotStories(); } break; } }
protected override int[] SatisfiesWithUsage(IEnumerable<EventPopulation> populations, StoryArc arc, StoryEvent toFillIn) { int[] result = new int[populations.Count()]; int index = 0; foreach (EventPopulation population in populations) { for (int i = 0; i < population.Count; i++) { result[index] += GetUsage(population[i].Id); } index++; } return result; }
void StoryEvent48() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "And helped she did"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ //Globals.upperVoice = "I feared the worst"; Globals.upperVoice = "She would appear and help me find my way"; myEvent = StoryEvent.ev2; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ //Globals.upperVoice = "I felt as if the walls were closing in on me"; Globals.upperVoice = "Our friendship grew"; myEvent = StoryEvent.ev3; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } }
void StoryEvent59() { if(myEvent == StoryEvent.ev0){ Globals.turnOffLight(); Globals.upperVoice = "I'm almost there"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ //Globals.upperVoice = "I feared the worst"; Globals.turnOffLight(); Globals.upperVoice = "It's been a long journey"; myEvent = StoryEvent.ev2; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ Globals.loadNextLevel(); } }
void StoryEvent61() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "I did it mom, I did what you said"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ //Globals.upperVoice = "I feared the worst"; Globals.upperVoice = "I followed my heart"; myEvent = StoryEvent.ev2; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } }
protected abstract int[] SatisfiesWithUsage(IEnumerable<EventPopulation> populations, StoryArc arc, StoryEvent toFillIn);
void StoryEvent65() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "I refuse to go back to that haze of darkness"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ Globals.upperVoice = "I don't care how much pain it might bring"; myEvent = StoryEvent.ev2; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ Globals.upperVoice = "How many tries I have to make"; myEvent = StoryEvent.ev3; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev3){ Globals.upperVoice = "I won't go back to being an insect"; myEvent = StoryEvent.ev4; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev4){ Globals.upperVoice = "I want to be happy"; myEvent = StoryEvent.ev5; upGUI.setMyLeft(400f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } else if(myEvent == StoryEvent.ev5){ Globals.upperVoice = "Like when I helped her or just being with her"; myEvent = StoryEvent.ev6; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } else if(myEvent == StoryEvent.ev6){ Globals.upperVoice = "I don't want my mom to worry anymore"; myEvent = StoryEvent.ev7; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } }
void StoryEvent14() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "I was scared"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ //Globals.upperVoice = "I feared the worst"; Globals.upperVoice = "I didn't even know where I was running off to"; myEvent = StoryEvent.ev2; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ //Globals.upperVoice = "I felt as if the walls were closing in on me"; Globals.upperVoice = "but it was all I could do"; myEvent = StoryEvent.ev3; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev3){ //Globals.upperVoice = "Every step was harder than the last"; //Globals.lowerVoice = "I felt as if my whole world was collapsing"; Globals.upperVoice = "I had no one else"; myEvent = StoryEvent.ev4; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev4){ //Globals.upperVoice = "Every step was harder than the last"; //Globals.lowerVoice = "I felt as if my whole world was collapsing"; Globals.upperVoice = "I could feel my world collapsing"; myEvent = StoryEvent.ev5; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } }
void StoryEvent26() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "This place reminds me of that lake back home"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ Globals.upperVoice = "We would always go there and throw rocks..."; writeLowerVoice("Throw a rock with F"); playerScript.enableRockThrowing(); lowGUI.setMotherFont(); lowGUI.setYellowColor(); myEvent = StoryEvent.ev2; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ Globals.upperVoice = "This always made me feel better"; writeLowerVoice("Don't let fears consume you"); myEvent = StoryEvent.ev3; upGUI.setMyLeft(400f); upGUI.setMyTop(100f); lowGUI.setMyLeft(100f); } /*else if(myEvent == StoryEvent.ev3){ Globals.upperVoice = "I should have done something..."; Globals.lowerVoice = "I love you so much..."; myEvent = StoryEvent.ev4; } else if(myEvent == StoryEvent.ev4){ Globals.upperVoice = "But I just stood there..."; Globals.lowerVoice = "Goodbye"; myEvent = StoryEvent.ev5; } */ }
void StoryEvent9() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "But later that night"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ Globals.upperVoice = "the unimaginable happened"; myEvent = StoryEvent.ev2; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } }
void OnTriggerEnter(Collider other) { //Story Events if(other.gameObject.name == "_Hero"){ if(!startCutscene){ if(myId == 1){ //Globals.upperVoice = "I remember that I was going to my home..."; lowGUI.setMotherFont(); lowGUI.setYellowColor(); Globals.lowerVoice = "Move with A-D"; //writeLowerVoice("Move with A-D"); upGUI.setMyLeft(155f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 2){ //Globals.upperVoice = "My mom was waiting for me..."; Globals.upperVoice = "I remember that I was going back home..."; writeLowerVoice("Jump with Space"); upGUI.setMyLeft(155f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 3){ //Globals.upperVoice = "She is my only family..."; Globals.upperVoice = "Just like every other day"; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); } if(myId == 4){ Globals.upperVoice = "I always lived alone with my mom"; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 5){ Globals.upperVoice = "We were happy together"; //Globals.lowerVoice = "I'm so proud of you."; writeLowerVoice("You can climb ladders with W"); upGUI.setMyLeft(255f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 6){ Globals.upperVoice = "I would always help her with the chores"; //Globals.lowerVoice = "I'm fine, dear."; writeLowerVoice("Be a dear and get me an apple from outside"); upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(55f); } if(myId == 7){ myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent7", 0, 5.5f); lowGUI.setMyLeft(15f); } if(myId == 8){ not = true; bool hasApples = other.gameObject.GetComponent<CharacterMovement>().hasApples; if(hasApples){ Globals.lowerVoice = "Thank you dear, go upstairs and rest now"; lowGUI.setMyLeft(155f); other.gameObject.GetComponent<CharacterMovement>().nextLevel = true; } } if(myId == 9){ bool nextLevel = other.gameObject.GetComponent<CharacterMovement>().nextLevel; not = true; if(nextLevel && !startCutscene){ other.gameObject.GetComponent<CharacterMovement>().inCutscene = true; startCutscene = true; Globals.turnOffLight(); Globals.waitTime = 11; Globals.loadNextLevelTutorial(); myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent9", 2, 5.5f); } } if(myId == 10){ if(!startCutscene){ myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent10", 0, 5.5f); //startCutscene = true; //Globals.deathMother = true; } } if(myId == 11){ /*if(!startCutscene){ Vector3 pos = other.gameObject.transform.position; pos.y += 50; pos.x -= 165; Instantiate(rainPrefab,pos,Quaternion.identity); } Globals.upperVoice = "I was scared, so I ran..."; startCutscene = true; */ mng.playDeath(); mng.DontDestroy(); lowGUI.setMotherFont(); lowGUI.setYellowColor(); Globals.upperVoice = "She was on the floor and at that moment..."; upGUI.setMyLeft(155f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 12){ other.gameObject.GetComponent<CharacterMovement>().inCutscene = true; startCutscene = true; Globals.deathMother = true; Globals.turnOffLight(); Globals.waitTime = 30; Globals.loadNextLevelTutorial(); myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent12", 2, 5.5f); upGUI.setMyLeft(255f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 13){ Globals.upperVoice = "I didn't know what to do, so I ran away..."; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 14){ //Globals.upperVoice = "I felt as if the world was collapsing around me..."; myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent14", 0, 5.5f); upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); Vector3 pos = other.gameObject.transform.position; pos.y += 50; pos.x -= 195; Instantiate(rainPrefab,pos,Quaternion.identity); } if(myId == 15){ Globals.upperVoice = "Until finally..."; mng.lowerMusic(); upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 16){ if(!startCutscene){ startCutscene = true; Globals.upperVoice = "I just gave up..."; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); Globals.turnOffLight(); Invoke("nextLevel",4f); //GameObject.Find("TutorialLight").light.intensity = 0; //Globals.loadNextLevelTutorial(); } } if(myId == 17){ if(!startCutscene){ playerScript = other.gameObject.GetComponent<CharacterMovement>(); playerScript.inCutscene = true; myEvent = StoryEvent.ev0; Globals.turnOffLight(); InvokeRepeating("StoryEvent17", 0, 5.5f); startCutscene = true; } } if(myId == 18){ Globals.upperVoice = "I wanted to be strong for her"; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 19){ Globals.upperVoice = "And so I pushed forward"; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 20){ Globals.upperVoice = "But this world is different..."; Globals.lowerVoice = "You are an insect"; lowGUI.setFearFont(); lowGUI.setRedColor(); upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 21){ Globals.upperVoice = "It felt as if it wanted me to fail"; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 22){ Globals.lowerVoice = "You will fail"; lowGUI.setFearFont(); lowGUI.setRedColor(); upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 23){ Globals.lowerVoice = "You're scared"; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 24){ Globals.lowerVoice = "Doubt will tear you down"; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(100f); } if(myId == 25){ Globals.lowerVoice = "Laughable"; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(400f); } if(myId == 26){ if(!startCutscene){ myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent26", 0, 5.5f); startCutscene = true; } } if(myId == 27){ Globals.lowerVoice = "Poor little insect"; lowGUI.setFearFont(); lowGUI.setRedColor(); upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 28){ Globals.upperVoice = "I couldn't let my doubts bring me down..."; upGUI.setMyLeft(255f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 29){ Globals.upperVoice = "The pain was still very present "; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 30){ Globals.upperVoice = "Like walking through needles"; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 31){ Globals.upperVoice = "I should have visited her grave but..."; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); Globals.deleteLevel1(); Globals.deleteLevel2(); } if(myId == 32){ Globals.upperVoice = "I'm not ready yet"; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 33){ Globals.lowerVoice = "Pain awaits you"; lowGUI.setRedColor(); lowGUI.setFearFont(); upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 34){ Globals.lowerVoice = "It is inevitable"; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 35){ lowerVoiceStyle.normal.textColor = Color.red; Globals.lowerVoice = "Step forward"; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); platform.SetActive(true); } if(myId == 36){ lowerVoiceStyle.normal.textColor = Color.red; Globals.lowerVoice = "Why keep going?"; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 37){ Globals.upperVoice = "But I still felt lost"; mng.lowerMusic(); upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 38){ Globals.upperVoice = "Until I met her"; upGUI.setMyLeft(245f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); mng.playFriend(); } if(myId == 39){ Globals.upperVoice = "There was a girl"; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 40){ Globals.upperVoice = "She seemed free of worries"; upGUI.setMyLeft(345f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } if(myId == 41){ if(!startCutscene){ umbrellaGirl.GetComponent<UmbrellaGirl>().startAnim = true; Globals.upperVoice = "But I could see that she had lost someone too"; startCutscene = true; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } } if(myId == 42){ if(!startCutscene){ Globals.upperVoice = "She was all alone in the rain"; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); Vector3 pos = other.gameObject.transform.position; pos.y += 50; pos.x += 145; GameObject rain = Instantiate(rainPrefab,pos,Quaternion.identity) as GameObject; rain.name = "Rain"; startCutscene = true; } } if(myId == 43){ if(!startCutscene){ Globals.upperVoice = "I wanted to help her but..."; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); startCutscene = true; } } if(myId == 44){ if(!startCutscene){ Globals.upperVoice = "I didn't know how to reach her..."; startCutscene = true; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } } if(myId == 45){ if(!startCutscene){ playerScript = other.gameObject.GetComponent<CharacterMovement>(); playerScript.inCutscene = true; startCutscene = true; Globals.turnOffLight(); myEvent = StoryEvent.ev0; Destroy(GameObject.Find("Rain")); InvokeRepeating("StoryEvent45", 0, 5.5f); } } if(myId == 46){ if(!startCutscene){ Globals.upperVoice = "I have to find a way"; writeLowerVoice("Hold J to float"); lowGUI.setMotherFont(); lowGUI.setYellowColor(); startCutscene = true; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } } if(myId == 47){ lowGUI.setFearFont(); lowGUI.setRedColor(); Globals.lowerVoice = "Why would she talk to an insect?"; upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 48){ myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent48", 0, 5.5f); upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 49){ Globals.upperVoice = "We no longer felt alone"; upGUI.setMyLeft(350f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 50){ Globals.upperVoice = "We did many things together"; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 51){ Globals.upperVoice = "And little by little"; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 52){ Globals.upperVoice = "We started to accept our losses"; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 53){ Globals.upperVoice = "But there was something..."; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 54){ Globals.upperVoice = "Something that I needed to do alone"; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 59){ playerScript = other.gameObject.GetComponent<CharacterMovement>(); startCutscene = true; playerScript.inCutscene = true; myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent59", 0, 5.5f); Globals.turnOffLight(); Globals.waitTime = 7; } if(myId == 60){ GameObject cam = GameObject.Find("Final_Camera"); cam.GetComponent<Final_Camera>().unparent(); Globals.upperVoice = "That's what mom would've wanted"; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); writeLowerVoice("Jump"); lowGUI.setMyLeft(400f); lowGUI.setYellowColor(); lowGUI.setMotherFont(); } if(myId == 61){ playerScript = other.gameObject.GetComponent<CharacterMovement>(); playerScript.inCutscene = true; startCutscene = true; myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent61", 0, 5.5f); Globals.turnOffLight(); GameObject.Find("TLight").GetComponent<Light>().enabled = false; Globals.waitTime = 7; Globals.loadNextLevelTutorial(); } if(myId == 62){ Globals.upperVoice = "Though there are times where I doubt myself"; lowGUI.setRedColor(); lowGUI.setFearFont(); writeLowerVoice("You're an insect, less than human"); upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 63){ Globals.upperVoice = "No matter how impossible things might be"; lowGUI.setRedColor(); lowGUI.setFearFont(); upGUI.setMyLeft(100f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 64){ Globals.upperVoice = "I won't give up"; writeLowerVoice("Dead end"); lowGUI.setRedColor(); lowGUI.setFearFont(); upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 65){ myEvent = StoryEvent.ev0; InvokeRepeating("StoryEvent65", 0, 5.5f); upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(200f); } if(myId == 66){ lowGUI.setMotherFont(); lowGUI.setYellowColor(); Globals.lowerVoice = "Don't be afraid to fall..."; lowGUI.setMyLeft(300f); } if(myId == 67){ not = true; Globals.activateThunder(); Invoke("cancelThunder",0.5f); } } if(!not) startCutscene = true; } }
void StoryEvent17() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "I was in a dark place in my life"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ Globals.upperVoice = "I couldn't find the strength to get up"; lowGUI.setMotherFont(); lowGUI.setYellowColor(); //Globals.lowerVoice = "Why do we fall?"; writeLowerVoice("Why do we fall?"); myEvent = StoryEvent.ev2; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ Instantiate(lanternPrefab); Globals.upperVoice = "Until I found my mother's lantern"; myEvent = StoryEvent.ev3; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev3){ Globals.upperVoice = "I knew she wouldn't want me to just give up"; playerScript.inCutscene = false; myEvent = StoryEvent.ev4; upGUI.setMyLeft(155f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } /*else if(myEvent == StoryEvent.ev4){ Globals.upperVoice = "I have to keep going..."; myEvent = StoryEvent.ev5; }*/ }
private void SeqEventDoneHandler(StoryEvent e) { TriggerEventSequentially(++currentEvent); }
/// <summary> /// Converts the id list to actual live object instances for /// execution /// </summary> private IList<IHasState> GetObjectInstances(StoryEvent evt) { List<IHasState> result = new List<IHasState>(); foreach (uint id in evt.Participants) result.Add(ObjectManager.Instance.GetObjectById(id)); return result; }
public int[] Satisfies(IEnumerable<EventPopulation> populations, StoryArc arc, StoryEvent toFillIn) { CalculateUsage(arc); return SatisfiesWithUsage(populations, arc, toFillIn); }
void StoryEvent7() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "I always wondered about my future"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ Globals.upperVoice = "How life would be after I leave"; myEvent = StoryEvent.ev2; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ Globals.upperVoice = "But didn't want to leave my home or my mother"; myEvent = StoryEvent.ev3; upGUI.setMyLeft(155f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev3){ Globals.upperVoice = "I just wanted to stay and be happy"; myEvent = StoryEvent.ev4; upGUI.setMyLeft(255f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev4){ Globals.upperVoice = "But I knew that someday, everything would change"; myEvent = StoryEvent.ev5; upGUI.setMyLeft(55f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } else if(myEvent == StoryEvent.ev5){ Globals.upperVoice = "But not like that... never like that"; myEvent = StoryEvent.ev6; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } }
internal StoryEventInstance(StoryEvent evnt, List<EventID> dependencyIDs) { this.evnt = evnt; this.dependencyIDs = dependencyIDs; }
void StoryEvent12() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "I knew this would be the last moment"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(255f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ //Globals.upperVoice = "I feared the worst"; Globals.lowerVoice = "Don't be afraid"; lowGUI.setMotherFont(); myEvent = StoryEvent.ev2; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ //Globals.upperVoice = "I felt as if the walls were closing in on me"; Globals.lowerVoice = "It's all going to be all right"; myEvent = StoryEvent.ev3; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev3){ //Globals.upperVoice = "Every step was harder than the last"; Globals.lowerVoice = "I love you so much"; myEvent = StoryEvent.ev4; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev4){ Globals.lowerVoice = "Always...follow your heart..."; myEvent = StoryEvent.ev5; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } }
void StoryEvent10() { if(myEvent == StoryEvent.ev0){ Globals.upperVoice = "I heard a loud noise downstairs"; myEvent = StoryEvent.ev1; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ Globals.upperVoice = "I feared the worst"; //Globals.lowerVoice = "Keep going..."; myEvent = StoryEvent.ev2; upGUI.setMyLeft(455f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ Globals.upperVoice = "I felt as if the walls were closing in on me"; //Globals.lowerVoice = "let your light shine."; myEvent = StoryEvent.ev3; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev3){ Globals.upperVoice = "Every step was harder than the last"; myEvent = StoryEvent.ev4; upGUI.setMyLeft(355f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev4){ Globals.upperVoice = "I needed to hurry"; myEvent = StoryEvent.ev5; upGUI.setMyLeft(400f); upGUI.setMyTop(100f); lowGUI.setMyLeft(355f); } }
void StoryEvent45() { if(myEvent == StoryEvent.ev0){ Globals.lowerVoice = "Thank you so much."; lowGUI.setMotherFont(); lowGUI.setYellowColor(); myEvent = StoryEvent.ev1; upGUI.setMyLeft(300f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev1){ Globals.lowerVoice = "If you hadn't come, I..."; myEvent = StoryEvent.ev2; upGUI.setMyLeft(200f); upGUI.setMyTop(100f); lowGUI.setMyLeft(255f); } else if(myEvent == StoryEvent.ev2){ Globals.lowerVoice = "I won't forget this kindness"; myEvent = StoryEvent.ev3; upGUI.setMyLeft(400f); upGUI.setMyTop(100f); lowGUI.setMyLeft(100f); umbrellaGirl.GetComponent<UmbrellaGirl>().goLeft(); } else if(myEvent == StoryEvent.ev3){ Globals.lowerVoice = "I will repay you somehow"; myEvent = StoryEvent.ev4; upGUI.setMyLeft(400f); upGUI.setMyTop(100f); lowGUI.setMyLeft(100f); umbrellaGirl.GetComponent<UmbrellaGirl>().goLeft(); } else if(myEvent == StoryEvent.ev4){ this.playerScript.inCutscene = false; Globals.turnOnLight(); } }
/// <summary> /// Creates a single story beat for the given level. /// </summary> private StoryBeat ToStoryBeat(int level) { IEnumerable<EventStub> participating = levelsForEvents.Keys.Where((EventStub e) => levelsForEvents[e] == level); StoryEvent[] events = new StoryEvent[participating.Count()]; int index = 0; foreach (EventStub stub in participating) { events[index++] = stub.ToStoryEvent(); } return new StoryBeat(events); }
/// <summary> /// Creates an EventStub from the given StoryEvent, fills in the set parameters. /// </summary> public static EventStub FromStoryEvent(StoryEvent evnt) { EventStub created = null; TryGetEventStub(evnt.Signature, out created, true, evnt.ID); for (int i = 0; i < created.NrOfNeededRoles; i++) { created.GetSelectorForIndex(i).TrySet(ObjectManager.Instance.GetObjectById(evnt.Participants[i])); } return created; }
// Use this for initialization void Start() { myEvent = StoryEvent.ev0; //DontDestroyOnLoad (transform.gameObject); }
/// <summary> /// Starts an individual event in the beat /// </summary> private SmartEvent StartEvent(StoryEvent evt, float priority) { //it is possible that some parameters are only filled implicitly, so we have to fill those in IsImplicitAttribute[] attrs = evt.Signature.GetAttributes<IsImplicitAttribute>(); if (attrs.Length > 0) { HashSet<IHasState> beatParticipants = GetParticipants(); Dictionary<int, IHasState> fixedSlots = new Dictionary<int, IHasState>(); //we make sure all user filled slots are kept, and simply fill in the rest for (int i = 0; i < attrs[0].FirstImplicitIndex; i++) { fixedSlots[i] = ObjectManager.Instance.GetObjectById(evt.Participants[i]); } //must fill in implicit parameters, if we can not it is ok if we crash.. IList<IHasState> allWorldObjs = ObjectManager.Instance.GetObjects().Cast<IHasState>().ToList(); //make sure the same object is not used more than once as a participants List<IHasState> availableObjs = ObjectManager.Instance.GetObjects().Cast<IHasState>().ToList(); availableObjs.RemoveAll(beatParticipants.Contains); IEnumerable<EventPopulation> pops = EventPopulator.GetValidPopulations( evt.Signature, availableObjs, allWorldObjs, fixedSlots); EventPopulation pop = null; foreach (EventPopulation p in pops) { //make sure the types actually match, else check the next match. if (evt.Signature.CheckTypes(p.AsParams())) pop = p; } //Set the implicit parameters with the given population for (int i = attrs[0].FirstImplicitIndex; i < pop.Count; i++) { evt.Participants[i] = pop[i].Id; } } SmartEvent instance = evt.Signature.Create(this.GetObjectInstances(evt)); instance.Behavior.StartEvent(priority); return instance; }