aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/ClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/ClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs27
1 files changed, 27 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index a58f88f..9e8830f 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -233,6 +233,7 @@ namespace OpenSim.Region.ClientStack
233 private RequestAsset handlerRequestAsset = null; // OnRequestAsset; 233 private RequestAsset handlerRequestAsset = null; // OnRequestAsset;
234 private UUIDNameRequest handlerTeleportHomeRequest = null; 234 private UUIDNameRequest handlerTeleportHomeRequest = null;
235 235
236 private ScriptAnswer handlerScriptAnswer = null;
236 237
237 /* Properties */ 238 /* Properties */
238 239
@@ -789,6 +790,8 @@ namespace OpenSim.Region.ClientStack
789 790
790 public event UUIDNameRequest OnTeleportHomeRequest; 791 public event UUIDNameRequest OnTeleportHomeRequest;
791 792
793 public event ScriptAnswer OnScriptAnswer;
794
792 #region Scene/Avatar to Client 795 #region Scene/Avatar to Client
793 796
794 /// <summary> 797 /// <summary>
@@ -2484,6 +2487,20 @@ namespace OpenSim.Region.ClientStack
2484 return true; 2487 return true;
2485 } 2488 }
2486 2489
2490 public void SendScriptQuestion(LLUUID taskID, string taskName, string ownerName, LLUUID itemID, int question)
2491 {
2492 ScriptQuestionPacket scriptQuestion = (ScriptQuestionPacket)PacketPool.Instance.GetPacket(PacketType.ScriptQuestion);
2493 scriptQuestion.Data = new ScriptQuestionPacket.DataBlock();
2494 // TODO: don't create new blocks if recycling an old packet
2495 scriptQuestion.Data.TaskID = taskID;
2496 scriptQuestion.Data.ItemID = itemID;
2497 scriptQuestion.Data.Questions = question;
2498 scriptQuestion.Data.ObjectName = Helpers.StringToField(taskName);
2499 scriptQuestion.Data.ObjectOwner = Helpers.StringToField(ownerName);
2500
2501 OutPacket(scriptQuestion, ThrottleOutPacketType.Task);
2502 }
2503
2487 protected virtual bool Logout(IClientAPI client, Packet packet) 2504 protected virtual bool Logout(IClientAPI client, Packet packet)
2488 { 2505 {
2489 m_log.Info("[CLIENT]: Got a logout request"); 2506 m_log.Info("[CLIENT]: Got a logout request");
@@ -3840,6 +3857,16 @@ namespace OpenSim.Region.ClientStack
3840 } 3857 }
3841 break; 3858 break;
3842 3859
3860 case PacketType.ScriptAnswerYes:
3861 ScriptAnswerYesPacket scriptAnswer = (ScriptAnswerYesPacket)Pack;
3862
3863 handlerScriptAnswer = OnScriptAnswer;
3864 if (handlerScriptAnswer != null)
3865 {
3866 handlerScriptAnswer(this, scriptAnswer.Data.TaskID, scriptAnswer.Data.ItemID, scriptAnswer.Data.Questions);
3867 }
3868 break;
3869
3843 #endregion 3870 #endregion
3844 3871
3845 #region Inventory/Asset/Other related packets 3872 #region Inventory/Asset/Other related packets