aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index 9e8830f..216633f 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -234,6 +234,7 @@ namespace OpenSim.Region.ClientStack
234 private UUIDNameRequest handlerTeleportHomeRequest = null; 234 private UUIDNameRequest handlerTeleportHomeRequest = null;
235 235
236 private ScriptAnswer handlerScriptAnswer = null; 236 private ScriptAnswer handlerScriptAnswer = null;
237 private RequestPayPrice handlerRequestPayPrice = null;
237 238
238 /* Properties */ 239 /* Properties */
239 240
@@ -791,6 +792,7 @@ namespace OpenSim.Region.ClientStack
791 public event UUIDNameRequest OnTeleportHomeRequest; 792 public event UUIDNameRequest OnTeleportHomeRequest;
792 793
793 public event ScriptAnswer OnScriptAnswer; 794 public event ScriptAnswer OnScriptAnswer;
795 public event RequestPayPrice OnRequestPayPrice;
794 796
795 #region Scene/Avatar to Client 797 #region Scene/Avatar to Client
796 798
@@ -1167,6 +1169,32 @@ namespace OpenSim.Region.ClientStack
1167 OutPacket(money, ThrottleOutPacketType.Task); 1169 OutPacket(money, ThrottleOutPacketType.Task);
1168 } 1170 }
1169 1171
1172 public void SendPayPrice(LLUUID objectID, int[] payPrice)
1173 {
1174 if(payPrice[0] == 0 &&
1175 payPrice[1] == 0 &&
1176 payPrice[2] == 0 &&
1177 payPrice[3] == 0 &&
1178 payPrice[4] == 0)
1179 return;
1180
1181 PayPriceReplyPacket payPriceReply = (PayPriceReplyPacket)PacketPool.Instance.GetPacket(PacketType.PayPriceReply);
1182 payPriceReply.ObjectData.ObjectID = objectID;
1183 payPriceReply.ObjectData.DefaultPayPrice = payPrice[0];
1184
1185 payPriceReply.ButtonData=new PayPriceReplyPacket.ButtonDataBlock[4];
1186 payPriceReply.ButtonData[0]=new PayPriceReplyPacket.ButtonDataBlock();
1187 payPriceReply.ButtonData[0].PayButton = payPrice[1];
1188 payPriceReply.ButtonData[1]=new PayPriceReplyPacket.ButtonDataBlock();
1189 payPriceReply.ButtonData[1].PayButton = payPrice[2];
1190 payPriceReply.ButtonData[2]=new PayPriceReplyPacket.ButtonDataBlock();
1191 payPriceReply.ButtonData[2].PayButton = payPrice[3];
1192 payPriceReply.ButtonData[3]=new PayPriceReplyPacket.ButtonDataBlock();
1193 payPriceReply.ButtonData[3].PayButton = payPrice[4];
1194
1195 OutPacket(payPriceReply, ThrottleOutPacketType.Task);
1196 }
1197
1170 public void SendStartPingCheck(byte seq) 1198 public void SendStartPingCheck(byte seq)
1171 { 1199 {
1172 StartPingCheckPacket pc = (StartPingCheckPacket)PacketPool.Instance.GetPacket(PacketType.StartPingCheck); 1200 StartPingCheckPacket pc = (StartPingCheckPacket)PacketPool.Instance.GetPacket(PacketType.StartPingCheck);
@@ -4555,6 +4583,14 @@ namespace OpenSim.Region.ClientStack
4555 // TODO: handle this packet 4583 // TODO: handle this packet
4556 //m_log.Warn("[CLIENT]: unhandled EconomyDataRequest packet"); 4584 //m_log.Warn("[CLIENT]: unhandled EconomyDataRequest packet");
4557 break; 4585 break;
4586 case PacketType.RequestPayPrice:
4587 RequestPayPricePacket requestPayPricePacket = (RequestPayPricePacket)Pack;
4588 handlerRequestPayPrice = OnRequestPayPrice;
4589 if (handlerRequestPayPrice != null)
4590 {
4591 handlerRequestPayPrice(this, requestPayPricePacket.ObjectData.ObjectID);
4592 }
4593 break;
4558 4594
4559 #endregion 4595 #endregion
4560 4596