https://github.com/netease/pomelo-aoi
The aoi module used in lordofpomelo
https://github.com/netease/pomelo-aoi
Last synced: about 1 year ago
JSON representation
The aoi module used in lordofpomelo
- Host: GitHub
- URL: https://github.com/netease/pomelo-aoi
- Owner: NetEase
- License: mit
- Created: 2012-11-20T11:12:03.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-03-21T06:27:54.000Z (about 13 years ago)
- Last Synced: 2025-04-14T17:08:00.408Z (about 1 year ago)
- Language: JavaScript
- Size: 126 KB
- Stars: 63
- Watchers: 14
- Forks: 28
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pomelo-aoi
pomelo-schedule is the aoi module used in the demo of pomelo.
The aoi module include a set of aoi interface, and an implementation of tower aoi algorithm.
##Installation
```
npm install pomelo-aoi
```
##Generate an aoi instance
For the aoi service can be used in many areas, each area use the aoi module should use it's own aoi instance.
We use a aoi factory to generate aoi instance, it accept an object as parameter, and return an aoi instance, which can be used to implament the aoi function.
``` javascript
var aoiManager = require('pomelo-aoi');
var config = {
map : {
width : 3200,
height : 2400
},
tower : {
width : 300,
height : 300
}
}
var aoi = qoiManager.getService(config);
```
##Use the aoi service
The aoi instace has the basic interface for aoi action.
``` javascript
//Add object
aoi.addObject(obj, pos);
//Remove object
aoi.removeObject(obj, pos);
//Update object
aoi.updateObject(obj, oldPos, newPos);
//Add watcher
aoi.addWatcher(watcher, pos, range);
//Remove watcher
aoi.removeWatcher(watcher, pos, range0;
//updateWatcher(watcher, oldPos, newPos, oldRange, newRange);
```
More api can be find in aoiService.js.
##Handle aoi event
The aoi service will generate event when the status of objects or watchers changes. You can handler these event :
``` javascript
aoi.on('add', function(params){
//Handle add event
});
```
The event of tower aoi are: 'add', 'remove', 'update' for aoi object, and 'updateWatcher' for watcher.
Of course you can ignore all these events without do any effect to aoi function.