package executor import ( gt "gitlab.33.cn/chain33/plugin/dapp/game/types" "gitlab.33.cn/chain33/chain33/types" ) func (g *Game) execLocal(receiptData *types.ReceiptData) (*types.LocalDBSet, error) { dbSet := &types.LocalDBSet{} if receiptData.GetTy() != types.ExecOk { return dbSet, nil } for _, log := range receiptData.Logs { switch log.Ty { case gt.TyLogCreateGame, gt.TyLogMatchGame, gt.TyLogCloseGame, gt.TyLogCancleGame: receiptGame := >.ReceiptGame{} if err := types.Decode(log.Log, receiptGame); err != nil { return nil, err } kv := g.updateIndex(receiptGame) dbSet.KV = append(dbSet.KV, kv...) } } return dbSet, nil } func (g *Game) ExecLocal_Create(payload *gt.GameCreate, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) { return g.execLocal(receiptData) } func (g *Game) ExecLocal_Cancel(payload *gt.GameCancel, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) { return g.execLocal(receiptData) } func (g *Game) ExecLocal_Close(payload *gt.GameClose, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) { return g.execLocal(receiptData) } func (g *Game) ExecLocal_Match(payload *gt.GameMatch, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) { return g.execLocal(receiptData) }