示例#1
0
        public virtual void ProcessParcelBuy(UUID agentId, UUID groupId, bool final, bool groupOwned,
                                             bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice, bool authenticated)
        {
            EventManager.LandBuyArgs args = new EventManager.LandBuyArgs(agentId, groupId, final, groupOwned,
                                                                         removeContribution, parcelLocalID, parcelArea,
                                                                         parcelPrice, authenticated);

            // First, allow all validators a stab at it
            m_eventManager.TriggerValidateLandBuy(this, args);

            // Then, check validation and transfer
            m_eventManager.TriggerLandBuy(this, args);
        }
        public FreeMoneyTransaction(UUID from, UUID to, string sellersEmail, int amount, Scene scene, string description, InternalTransactionType internalType, EventManager.LandBuyArgs e)
        {
            From = from;
            InternalType = internalType;
            Description = description;
            Scene = scene;
            Amount = amount;
            SellersEmail = sellersEmail;
            To = to;
            ObjectID = UUID.Zero;
            E = e;

            // Generate a 128-bit Unique ID
            // Using the Crypto Random Generator (increased unguessability)
            byte[] randomBuf = new byte[16];
            RNGCryptoServiceProvider random = new RNGCryptoServiceProvider();
            random.GetBytes(randomBuf);
            Guid txID = new Guid(randomBuf);

            TxID = new UUID(txID);
        }