UUpdate Tutorials
This commit is contained in:
30
_tanks_networking/Sources/lnx/FireTrait.hx
Normal file
30
_tanks_networking/Sources/lnx/FireTrait.hx
Normal file
@ -0,0 +1,30 @@
|
||||
package lnx;
|
||||
|
||||
import kha.netsync.Entity;
|
||||
import kha.netsync.Sync;
|
||||
import iron.object.Object;
|
||||
|
||||
class FireTrait extends iron.Trait implements Entity implements Sync {
|
||||
public function new() {
|
||||
super();
|
||||
}
|
||||
|
||||
@synced("all")
|
||||
public function fire() {
|
||||
iron.Scene.active.spawnObject("Bullet", null, function(o:Object) {
|
||||
o.visible = true;
|
||||
object.transform.buildMatrix();
|
||||
o.transform.loc.setFrom(object.transform.world.getLoc());
|
||||
o.transform.buildMatrix();
|
||||
|
||||
var rigidBody = o.getTrait(leenkx.trait.physics.RigidBody);
|
||||
if (rigidBody != null) rigidBody.syncTransform();
|
||||
|
||||
var vec = object.transform.look();
|
||||
vec.mult(7);
|
||||
rigidBody.applyImpulse(vec);
|
||||
|
||||
iron.system.Tween.timer(2, o.remove);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user