コード例 #1
0
ファイル: OMCurrency.cs プロジェクト: dreamnation/omeconomy
        private Hashtable onObjectPaid(Hashtable requestData)
        {
            Hashtable rparms = new Hashtable();

            try
            {
                Dictionary <string, string> d = new Dictionary <string, string>();
                d.Add("method", "objectPaid");
                d.Add("id", (string)requestData["id"]);

                Dictionary <string, string> response = CommunicationHelpers.DoRequest(gatewayURL, d);
                UUID  primUUID   = UUID.Parse(response["primUUID"]);
                UUID  senderUUID = UUID.Parse(response["senderUUID"]);
                Int32 amount     = Int32.Parse(response["amount"]);

                if (SceneHandler.Instance.LocateClientObject(senderUUID) == null)
                {
                    throw new Exception("Avatar " + senderUUID.ToString() + " does not reside in this Region");
                }

                ObjectPaid handlerOnObjectPaid = OnObjectPaid;
                handlerOnObjectPaid(primUUID, senderUUID, amount);

                rparms["success"] = true;
            }
            catch (Exception e)
            {
                m_log.Error("[OMECONOMY]: onObjectPaid() " + e.Message);
                rparms["success"] = false;
            }
            return(rparms);
        }
コード例 #2
0
        private Hashtable onObjectPaid(Hashtable requestData)
        {
            Hashtable rparms = new Hashtable();

            rparms["success"] = false;
            try
            {
                Dictionary <string, string> d = new Dictionary <string, string>();
                d.Add("method", "objectPaid");
                d.Add("id", (string)requestData["id"]);

                Dictionary <string, string> response = m_communication.DoRequestDictionary(d);
                if (response != null)
                {
                    UUID  primUUID   = UUID.Parse(response["primUUID"]);
                    UUID  senderUUID = UUID.Parse(response["senderUUID"]);
                    Int32 amount     = Int32.Parse(response["amount"]);

                    IClientAPI depositor = m_sceneHandler.LocateClientObject(senderUUID);
                    if (depositor == null)
                    {
                        throw new Exception("Avatar " + senderUUID.ToString() + " does not reside in this Region");
                    }


                    ObjectPaid HandlerOnObjectPaid = OnObjectPaid;
                    if (HandlerOnObjectPaid != null)
                    {
                        m_log.Debug("Trigger Object Payed");
                        HandlerOnObjectPaid(primUUID, senderUUID, amount);
                    }
                    else
                    {
                        m_log.Debug("No Trigger Object Payed");
                    }

                    rparms["success"] = true;
                }
            }
            catch (Exception e)
            {
                m_log.Error("[OMCURRENCY]: onObjectPaid() " + e.Message);
            }
            return(rparms);
        }