1: 2012-11-26 (月) 10:26:54 iseki  |
現: 2012-11-26 (月) 11:01:00 iseki  |
| -- RS -> Region(Robust) Server, US -> User(Robust) Server, SC -> External Script | | -- RS -> Region(Robust) Server, US -> User(Robust) Server, SC -> External Script |
| -- AS -> Aurora Server | | -- AS -> Aurora Server |
- | | |
- | *** Upload [#q4ed8b08] | |
- | - OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | |
- | -- NewAgentInventoryRequest() --> UploadCovered() | |
- | -- UploadCompleteHandler() --> | |
- | --- OpenSim/Region/Framework/Scenes/Scene.Inventory.cs:AddUploadedInventoryItem() --> ApplyUploadCharge() | |
- | | |
- | -OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs | |
- | -- NewAgentInventoryRequest() --> UploadCovered() | |
- | | |
- | - OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs | |
- | -- HandleUDPUploadRequest() --> UploadCovered() | |
- | | |
| #br | | #br |
| | | |
- | *** Events of [[OpenSim]] [#h1be187a] | |
- | - OpenSim では IClientAPI.cs の event は EventManager からアクセス可 | |
| | | |
- | **** MoneyTransferRequest [#v6934193] | + | *** Events [#p437f4da] |
- | - event MoneyTransferRequest OnMoneyTransferRequest; (IClientAPI.cs) | + | |
- | - 他のアバターへの直接的な支払い,ギフト (Gift: 5001) | + | |
- | | + | |
- | MM.MoneyTransferAction() -> MM.TransferMoney() => XML RPC to MS ("TransferMoney") | + | |
- | | + | |
- | - オブジェクトを経由した,他のアバターへの間接的な支払い (PayObject: 5008) | + | |
- | - LSL の money イベントが発生する | + | |
- | | + | |
- | MM.MoneyTransferAction() -> MM.TransferMoney() => XML RPC to MS ("TransferMoney") | + | |
- | | + | |
- | **** EconomyDataRequest [#n66750b3] | + | |
- | - event EconomyDataRequest OnEconomyDataRequest; (IClientAPI.cs) | + | |
- | #br | + | |
- | | + | |
- | **** MoneyBalanceRequest [#z9e85568] | + | |
- | - event MoneyBalanceRequest OnMoneyBalanceRequest; (IClientAPI.cs) | + | |
- | #br | + | |
- | | + | |
- | **** ParcelBuy [#sc2ab742] | + | |
- | - event ParcelBuy OnParcelBuy; (IClientAPI.cs) | + | |
- | #br | + | |
- | **** ParcelBuyPass [#s365b5ab] | + | |
- | - event ParcelBuyPass OnParcelBuyPass; (IClientAPI.cs) | + | |
- | #br | + | |
- | **** RequestPayPrice [#o5f5b9a7] | + | |
- | - event RequestPayPrice OnRequestPayPrice; (IClientAPI.cs) | + | |
- | #br | + | |
- | **** ObjectBuy [#k8ba0193] | + | |
- | - event ObjectBuy OnObjectBuy; (IClientAPI.cs) | + | |
- | - オブジェクト購入時に発生 (コピー,オリジナル,コンテンツ) (PayObject: 5008) | + | |
- | | + | |
- | MM.OnObjectBuy() -> MM.BuyObject() | + | |
- | -> MM.Transfer() => XML RPC to MS ("TransferMoney") | + | |
- | **** BuyObjectInventory [#nbc74665] | + | |
- | - event BuyObjectInventory OnBuyObjectInventory; (IClientAPI.cs) | + | |
- | #br | + | |
- | **** MoneyTransferEvent [#r8ba581d] | + | |
- | - event MoneyTransferEvent OnMoneyTransfer; (EventManager.cs) | + | |
- | #br | + | |
- | **** LandBuy [#w118bafa] | + | |
- | - event LandBuy OnValidateLandBuy; (EventManager.cs) | + | |
- | - event LandBuy OnLandBuy; (EventManager.cs) | + | |
- | #br | + | |
- | | + | |
- | *** Events of [[Aurora-Sim]] [#maf53275] | + | |
| | | |
| **** MoneyTransferRequest [#m289cd83] | | **** MoneyTransferRequest [#m289cd83] |
| + | - 他のアバターへの直接的な支払い,ギフト (Gift: 5001) |
| - event MoneyTransferRequest OnMoneyTransferRequest; (IClientAPI.cs) | | - event MoneyTransferRequest OnMoneyTransferRequest; (IClientAPI.cs) |
| - MM.MoneyTransferRequest() は MoneyTransferArgs と Scene を生成して MM.MoneyTransferAction() を起動している. | | - MM.MoneyTransferRequest() は MoneyTransferArgs と Scene を生成して MM.MoneyTransferAction() を起動している. |
- | | |
- | - 他のアバターへの直接的な支払い,ギフト (Gift: 5001) | |
| | | |
| MM.MoneyTransferRequest() -> MM.MoneyTransferAction() -> MM.TransferMoney() => XML RPC to MS ("TransferMoney") | | MM.MoneyTransferRequest() -> MM.MoneyTransferAction() -> MM.TransferMoney() => XML RPC to MS ("TransferMoney") |
| #br | | #br |
| | | |
- | **** ObjectBuy [#ef8a0c53] | + | **** OnObjectBuy [#ef8a0c53] |
| + | - オブジェクト購入時に発生 (コピー,オリジナル,コンテンツ) (PayObject: 5008) |
| - event ObjectBuy OnObjectBuy; (IClientAPI.cs) | | - event ObjectBuy OnObjectBuy; (IClientAPI.cs) |
- | - オブジェクト購入時に発生 (コピー,オリジナル,コンテンツ) (PayObject: 5008) | + | - ObjectBuy(), BuyObject() は Aurora/Modules/World/Entities/BuySell/BuySellModule.cs で定義 |
- | - ObjectBuy(), BuyObject() は Aurora の BuySell/BuySellModule.cs で定義 | + | |
| | | |
| ObjectBuy() -> MM.Transfer() => XML RPC to MS ("TransferMoney") | | ObjectBuy() -> MM.Transfer() => XML RPC to MS ("TransferMoney") |
| -> BuyObject() | | -> BuyObject() |
- | | |
| | | |
| **** BuyObjectInventory [#t5e25a35] | | **** BuyObjectInventory [#t5e25a35] |
| #br | | #br |
| | | |
| + | #br |
| ** Calling Sequence of Functions [#l66a8cdf] | | ** Calling Sequence of Functions [#l66a8cdf] |
| | | |
| 2. VW => XML RPC to helper SC ("buyCurrency") -> SC.add_money() => XML RPC("AddBankerMoney") => MM => XML RPC("AddBankerMoney") => MS | | 2. VW => XML RPC to helper SC ("buyCurrency") -> SC.add_money() => XML RPC("AddBankerMoney") => MM => XML RPC("AddBankerMoney") => MS |
| => Response to VW | | => Response to VW |
- | - [[XML>../currency.php#ad93a73d]] | + | - [[XML>../../currency.php#ad93a73d]] |
| #br | | #br |
| | | |
| *** Buy Land [#n4a0df9d] | | *** Buy Land [#n4a0df9d] |
| - Code: LandSale (5002) | | - Code: LandSale (5002) |
- | | |
- | **** [[OpenSim]] [#i04a27d9] | |
- | 1. VW => XML RPC to helper SC ("preflightBuyLandPrep") => Response to VW | |
- | 2. MM.OnValidateLandBuy event -> MM.ValidateLandBuy() | |
- | 3. MM.OnLandBuy event -> MM.processLandBuy() -> MM.TransferMoney() => XML RPC to MS ("TransferMoney") | |
- | | |
- | **** [[Aurora-Sim]] [#nb86a7e3] | |
| - OnParcelBuy event, ProcessParcelBuy() は Aurora の Land/ParcelManagementModule.cs で定義 | | - OnParcelBuy event, ProcessParcelBuy() は Aurora の Land/ParcelManagementModule.cs で定義 |
| | | |
| | | |
| *** Upload Inventory [#of53fb6b] | | *** Upload Inventory [#of53fb6b] |
- | **** [[OpenSim]] [#v20e740b] | |
- | 1. event -> RS.NewAgentInventoryRequest() -> MM.UploadCovered() | |
- | 2. event -> RS.AddUploadedInventoryItem() -> MM.ApplyUploadCharge() | |
- | | |
- | - OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs: NewAgentInventoryRequest() | |
- | - OpenSim/Region/Framework/Scenes/Scene.Inventory.cs: AddUploadedInventoryItem() | |
- | - %%OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs: HandleUDPUploadRequest()%% | |
- | - %%OpenSim/Region/ClientStack/Linden/Caps/NewFileAgentInventoryVariablePriceModule.cs: NewAgentInventoryRequest()%% | |
- | #br | |
- | | |
- | **** [[Aurora-Sim]] [#l3a2477e] | |
| 1. event -> AS.NewAgentInventoryRequest() -> AS.RequestUploadCovered() => XML RPC to RS ("UploadCovered") | | 1. event -> AS.NewAgentInventoryRequest() -> AS.RequestUploadCovered() => XML RPC to RS ("UploadCovered") |
| 2. event -> AS.UploadCompleteHandler() -> AS.RequestUploadCharge() => XML RPC to RS ("UploadCharge") | | 2. event -> AS.UploadCompleteHandler() -> AS.RequestUploadCharge() => XML RPC to RS ("UploadCharge") |
| -- 因みに,OpenSim ではこの部分には FillOutSeedCap() という関数が使用されている. | | -- 因みに,OpenSim ではこの部分には FillOutSeedCap() という関数が使用されている. |
| FillOutSeedCap(aCircuit, destination, clientIP); | | FillOutSeedCap(aCircuit, destination, clientIP); |
| + | |
| private void FillOutSeedCap(AgentCircuitData aCircuit, GridRegion destination, IPEndPoint ipepClient) | | private void FillOutSeedCap(AgentCircuitData aCircuit, GridRegion destination, IPEndPoint ipepClient) |
| { | | { |
| | | |
| *** Create Group [#h4ccd93a] | | *** Create Group [#h4ccd93a] |
- | **** [[OpenSim]] [#va18a003] | |
- | | |
- | event -> CreateGroup() -> MM.AmountCharge() | |
- | -> MM.ApplyCharge() -> MM.PayMoneyCharge() => XML RPC to MS ("PayMoneyCharge") | |
- | - OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs: CreateGroup() | |
- | #br | |
- | | |
- | **** [[Aurora-Sim]] [#u2979e38] | |
| event -> CreateGroup() -> MM.AmountCharge() | | event -> CreateGroup() -> MM.AmountCharge() |
| -> MM.ApplyCharge() -> MM.PayMoneyCharge() => XML RPC to MS ("PayMoneyCharge") | | -> MM.ApplyCharge() -> MM.PayMoneyCharge() => XML RPC to MS ("PayMoneyCharge") |