123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- PEntity <- {
- name="noname"
- pos={x=0,y=0,z=0}
- type="entity"
- //methamethod
- _typeof=function()
- {
- return type;
- }
- }
- function PEntity::PrintPos()
- {
- ::print("x="+pos.x+" y="+pos.y+" z="+pos.z+"\n");
- }
- function PEntity::new(name,pos)
- {
- local newentity=clone ::PEntity;
- if(name)
- newentity.name=name;
- if(pos)
- newentity.pos=pos;
- return newentity;
- }
- PPlayer <- {
- model="warrior.mdl"
- weapon="fist"
- health=100
- armor=0
- //overrides the parent type
- type="player"
- }
- function PPlayer::new(name,pos)
- {
- local p = clone ::PPlayer;
- local newplayer = ::PEntity.new(name,pos);
- newplayer.setdelegate(p);
- return newplayer;
- }
- local player=PPlayer.new("godzilla",{x=10,y=20,z=30});
- ::print("PLAYER NAME"+player.name+"\n");
- ::print("ENTITY TYPE"+typeof player+"\n");
- player.PrintPos();
- player.pos.x=123;
- player.PrintPos();
|