Code: Select all
Random N = new Random();
public void OnStartup(){
IObjectTimerTrigger timer = (IObjectTimerTrigger)Game.CreateObject("TimerTrigger");
timer.SetIntervalTime(1000);
timer.SetRepeatCount(0);
timer.SetScriptMethod("SpawnBomb");
timer.Trigger();
}
public void Boom(TriggerArgs args){
if(N.Next(0,10) >= 9){
IObject ToKill =(IObject)args.Sender;
ToKill.Destroy();
}
}
public void SpawnBomb(TriggerArgs args){
Vector2 Pos = new Vector2(N.Next(-550,550) , 300);
IObject Can = Game.CreateObject("Metal03A");
Can.SetWorldPosition(Pos);
Can.SetBodyType(BodyType.Dynamic);
IObjectDestroyTrigger Delete = (IObjectDestroyTrigger)Game.CreateObject("DestroyTrigger");
IObjectExplosionTrigger Exp = (IObjectExplosionTrigger)Game.CreateObject("ExplosionTrigger");
Exp.SetBodyType(BodyType.Dynamic);
Exp.SetWorldPosition(Pos);
IObjectSpawnFireCircleTrigger Fire = (IObjectSpawnFireCircleTrigger)Game.CreateObject("SpawnFireCircleTrigger");
Fire.SetBodyType(BodyType.Dynamic);
Fire.SetWorldPosition(Pos);
IObjectAreaTrigger Detect = (IObjectAreaTrigger )Game.CreateObject("AreaTrigger");
Detect.SetBodyType(BodyType.Dynamic);
Detect.SetSizeFactor(new Point(1,1));
Detect.SetWorldPosition(Pos+new Vector2(0,-10));
Detect.AddActivateTriggerOnEnter(Exp);
Detect.AddActivateTriggerOnEnter(Fire);
Detect.AddActivateTriggerOnEnter(Delete);
Detect.SetOnEnterMethod("Boom"); //Boom method is being triggered by area trigger
IObjectWeldJoint Weld = (IObjectWeldJoint)Game.CreateObject("WeldJoint");
Weld.SetWorldPosition(Pos);
Weld.AddTargetObject(Detect);
Weld.AddTargetObject(Exp);
Weld.AddTargetObject(Fire);
Weld.AddTargetObject(Can);
Delete.AddObjectToDestroy(Detect);
Delete.AddObjectToDestroy(Can);
}