Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Human = function( name )
- {
- var parent = this;
- this.init = function( name )
- {
- parent.name = name;
- }( name );
- }
- var ardi = new Human( "Ardi" );
- ardi.name (Is inaccessible)
- Because it retains "bases"' "this" value, eg:
- ardi.built or ardi.getEnemies() (Will have a value)
- ^ This is not how JavaScript works.
- <Only proper workaround>
- var Human = function( name )
- {
- var fakeThis = {};
- fakeThis.init = function( name )
- {
- fakeThis.name = name;
- }( name );
- return fakeThis;
- }
- ^ This is also unreliable hack since some of the things get fucked
- ---WHAT WE SHOULD HAVE---
- Is template similar to this:
- var Human = function()
- {
- var parent = this;
- this.init = function( name )
- {
- parent.name = this;
- }( name );
- }
- this.chooseAction = function()
- {
- /* Choose action logic here, that gets called by your game engine */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement