Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- CLASS FACTORY
- ============================================
- Put this in it's own file.
- Include the script in your HTML to define Classes.
- See testing examples below.
- =============================================
- */
- alert('test');
- // The Class Factory
- function Class( pSuper,pProps)
- {
- function Class(){}
- if(pSuper)
- {
- Class.prototype = new pSuper();
- Class.prototype.super = new pSuper();
- }
- else
- {
- Class.prototype = new Object();
- Class.prototype.super = new Object();
- }
- for(name in pProps)
- {
- Class.prototype[name] = pProps[name];
- }
- Class.prototype['window'] = window;
- Class.prototype['document'] = document;
- return Class;
- }
- // END OF CLASS FACTORY ===============================
- //======================================================
- // useful things
- var id = function (pId){
- return document.getElementById(pId);
- }
- /**
- * Created by benjamin-rea on 28/08/2014.
- */
- Player = Class ( Object, {
- model : undefined,
- view : undefined
- });
- PlayerModel = Class ( Player, {
- name : "",
- inventory : new Array(3)
- });
- PlayerView = Class ( Player, {
- canvas : id("textCanvas"),
- ctx : id("textCanvas").getContext("2d"),
- drawX : 0,
- drawY : 0,
- clear : function () {
- this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
- },
- draw : function () {
- this.clear();
- console.log("PlayerView.draw");
- console.log("Player " + this.model.name + " has " + this.model.inventory.length + " items.");
- },
- setModel : function (pModel) { this.model = pModel; }
- });
- function createPlayer() {
- var newPlayer = new Player();
- newPlayer.model = new PlayerModel();
- newPlayer.view = new PlayerView();
- newPlayer.view.setModel(newPlayer.model);
- return newPlayer;
- }
- var aPlayer = createPlayer();
- aPlayer.view.draw();
- console.log(aPlayer.model.inventory.length);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement