/*public bool TryBeginCutscene( * CutsceneID cutsceneId, * SceneID sceneId, * Player playsFor, * bool sync, * out string result ) { * if( !this.CanBeginCutscene(cutsceneId, playsFor, out Cutscene cutscene, out result) ) { * result = "Cannot play cutscene " + cutsceneId + ": " + result; * return false; * } * return this.TryBeginCutscene( cutscene, sceneId, sync, out result ); * }*/ //// private bool TryBeginCutscene( Cutscene cutscene, bool sync, out string result) { int playsForWhom = cutscene.PlaysForWhom; Player playsFor = Main.player[playsForWhom]; if (this.GetCurrentCutscene_Player(playsFor) != null) { result = playsFor.name + " (" + playsForWhom + ") already playing cutscene " + cutscene.UniqueId; return(false); } cutscene.BeginCutscene_Internal(); this._CutscenePerPlayer[playsForWhom] = cutscene; var myplayer = playsFor.GetModPlayer <CutsceneLibPlayer>(); myplayer.TriggeredCutsceneIDs_Player.Add(cutscene.UniqueId); var myworld = ModContent.GetInstance <CutsceneLibWorld>(); myworld.TriggeredCutsceneIDs_World.Add(cutscene.UniqueId); if (sync) { if (Main.netMode == NetmodeID.Server) { CutsceneStartProtocol.SendToClients(cutscene: cutscene, ignoreWho: -1); } else if (Main.netMode == NetmodeID.MultiplayerClient) { CutsceneStartProtocol.Broadcast(cutscene: cutscene); } } result = "Success."; return(true); }