Andy, Lorne, Xizhi,
Let us design bag and item system here
Draft thought of Xizhi
Global Store
ID |
int , Unique Indexed |
PrimeKey |
asset string key like url path Unique Indexed |
FileID |
nil, reference a remote paraworld file where this item can be downloaded safely |
type |
like AppCommand, APP, Model asset, texture asset, character asset, Bag, Item |
category |
virtual folder: like model/char, char/v3/assets. similar to PrimeKey. for human categorization. |
Count |
how many are left in store. nil for infinity. |
Author |
userID who uploaded |
UploadDate |
date |
Icon |
the icon to display. can be local or URL path. |
编辑上传到Global Store的流程
Disk(Art Model browser) --> Scene --> Global Store (-->bag)
引入了一个Global Store, 好像是Template, 它可以被实例化到某个Bag中最多Count次, 每次实例化要消耗Price元。 背包中的物品,好像是类的实例了。
Andy: my latest concern is the item system should be separated to two catrgories: traditional MMORPG like item system with official functions and model publishing systems that opens the user generated contents.
Xizhi: 我想分成的两部分,是否可以用GlobalStore中的Type来区分呢?
我是这样考虑处理MMO的物品,和UGC的物品的:
Global Store 只记录上面写的内容。 没有那些影响人物的属性等等参数。然后通过Type: 每个Type有自己的表来描述各自的属性。 比如MMO是一种表, UGC是一种表。甚至一些Type的属性表,可以每个Server独立维护的。
CentralAPI上只存GlobalStore一张很简单的表。可以满足显示( icon) 和交易(Price)。
注:这里将GlobalStore到官方的背包(商城)的过程也看成一种交易。比如我们在后台为每个Server的商城背包补充物品等。
背包的种类

: 背包中的物品一般都是从GlobalStore中移入的
Global Store --> 某一个背包中
官方的背包 |
Market Place |
个人的背包 |
Inventory : with hierachy |
世界的背包 |
仓库 |
Trasactions的种类
paraworld.bag.GetBag |
paraworld.bag.BuyItems |
paraworld.bag.SwapItems |
paraworld.bag.SendItems |
paraworld.bag.DestroyItems |
paraworld.store.GetItems |
paraworld.store.ManageItem |
Topic revision: r1 - 2009-02-02
- LiXizhi