| 1234567891011121314151617181920212223242526272829303132333435 |
- package comp
- import (
- "errors"
- )
- //
- var (
- ErrInvalidLogicId = errors.New("Invalid logic id")
- )
- type LogicId struct {
- funcId uint64 //999
- cataId uint64 //99
- subId uint64 //99
- instId uint64 //99
- gameId uint64 //
- }
- func Parse(logicId uint64) (*LogicId, error) {
- sid := &LogicId{}
- sid.instId = logicId % 100
- sid.subId = logicId / 100 % 100
- sid.cataId = logicId / 10000 % 100
- sid.funcId = logicId / 1000000
- sid.gameId = logicId - sid.instId
- if sid.funcId >= 1000 || sid.funcId <= 0 {
- return nil, ErrInvalidLogicId
- }
- return sid, nil
- }
- func (self *LogicId) GameId() uint64 {
- return self.gameId
- }
|