Skip to content

Instantly share code, notes, and snippets.

@nakosung
Created November 25, 2016 11:01
Show Gist options
  • Save nakosung/0002426c8d7d3c0c1d834b9a98a8a83c to your computer and use it in GitHub Desktop.
Save nakosung/0002426c8d7d3c0c1d834b9a98a8a83c to your computer and use it in GitHub Desktop.
function createAvatar() {
let character = new Character(GWorld)
let controller = new AIController(GWorld)
controller.Possess(character)
let callback = null
controller.OnMoveCompleted = (req, result) => {
if (callback) {
callback(result)
callback = null
}
}
return {
moveTo: function (where) {
return new Promise((resolve,reject) => {
callback = resolve
let result = controller.MoveTo(where)
if (result == 'Failed') {
callback = null
reject(new Error(result))
} else if (result == 'AlreadyAtGoal') {
callback = null
resolve(result)
}
})
},
say: function (what) {
console.log(waht)
},
destroy: function() {
controller.DestroyActor()
character.DestroyActor()
}
}
}
async function demo1() {
let avatar = createAvatar()
await avatar.moveTo({X:1,Y:10})
await avatar.say("Hello Tencent")
await avatar.moveTo({X:100,Y:10})
await avatar.say("Good day")
avatar.destroy()
}
async function demo2() {
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment