package_20 alternativa.tanks.game.subsystems.eventsystem

This commit is contained in:
Pyogenics
2025-01-27 18:09:36 +00:00
parent 608f91dc7a
commit 9d109fc043
11 changed files with 53 additions and 52 deletions

View File

@@ -73,13 +73,13 @@ package alternativa.tanks
import alternativa.tanks.game.GameEvents;
import alternativa.tanks.game.entities.map.IA3DMapComponentListener;
import package_20.name_56;
import alternativa.tanks.game.subsystems.eventsystem.IEventSystem;
class MapListener implements IA3DMapComponentListener
{
private var eventSystem:name_56;
private var eventSystem:IEventSystem;
public function MapListener(param1:name_56)
public function MapListener(param1:IEventSystem)
{
super();
this.eventSystem = param1;

View File

@@ -18,8 +18,8 @@ package alternativa.tanks
import package_15.name_55;
import package_18.name_102;
import package_18.name_44;
import package_20.class_11;
import package_20.name_56;
import alternativa.tanks.game.subsystems.eventsystem.IGameEventListener;
import alternativa.tanks.game.subsystems.eventsystem.IEventSystem;
import package_21.name_77;
import package_21.name_78;
import alternativa.tanks.game.subsystems.inputsystem.KeyboardEventType;
@@ -110,7 +110,7 @@ package alternativa.tanks
use namespace alternativa3d;
public class TankTestTask extends GameTask implements class_11
public class TankTestTask extends GameTask implements IGameEventListener
{
private static const DEAD_TEXTURE_ID:String = "dead";
@@ -200,7 +200,7 @@ package alternativa.tanks
{
var _loc1_:IInput = IInput(var_4.getTaskInterface(IInput));
_loc1_.name_94(KeyboardEventType.KEY_DOWN,this.onKeyDown);
var _loc2_:name_56 = name_56(var_4.getTaskInterface(name_56));
var _loc2_:IEventSystem = IEventSystem(var_4.getTaskInterface(IEventSystem));
_loc2_.addEventListener(name_253.TANK_CLICK,this);
this.var_67 = new FollowCameraController(this.gameKernel.name_5().name_27(),this.gameKernel.method_112().name_246().collisionDetector,name_257.STATIC,_loc1_);
this.var_69 = new OrbitCameraController(this.gameKernel.name_5().name_27(),this.gameKernel.method_112().name_246().collisionDetector,name_257.STATIC,_loc1_);

View File

@@ -2,8 +2,8 @@ package alternativa.tanks.game
{
import flash.display.Stage;
import package_18.name_44;
import package_20.name_179;
import package_20.name_56;
import alternativa.tanks.game.subsystems.eventsystem.EventSystem;
import alternativa.tanks.game.subsystems.eventsystem.IEventSystem;
import alternativa.tanks.game.subsystems.inputsystem.InputSystem;
import alternativa.tanks.game.subsystems.inputsystem.IInput;
import package_26.name_100;
@@ -47,7 +47,7 @@ package alternativa.tanks.game
private var inputSystem:InputSystem;
private var eventSystem:name_179;
private var eventSystem:EventSystem;
private var logicSystem1:name_177;
@@ -77,7 +77,7 @@ package alternativa.tanks.game
this.var_4.addTask(this.var_44);
this.inputSystem = new InputSystem(INPUT_SYSTEM_PRIORITY,stage);
this.var_4.addTask(this.inputSystem);
this.eventSystem = new name_179(EVENT_SYSTEM_PRIORITY);
this.eventSystem = new EventSystem(EVENT_SYSTEM_PRIORITY);
this.var_4.addTask(this.eventSystem);
this.logicSystem1 = new name_177(LOGIC_SYSTEM_1_PRIORITY,this);
this.var_4.addTask(this.logicSystem1);
@@ -163,7 +163,7 @@ package alternativa.tanks.game
return this.inputSystem;
}
public function name_61() : name_56
public function name_61() : IEventSystem
{
return this.eventSystem;
}

View File

@@ -1,10 +1,10 @@
package package_20
package alternativa.tanks.game.subsystems.eventsystem
{
import alternativa.tanks.game.GameTask;
import package_108.name_373;
import package_108.name_374;
public class name_179 extends GameTask implements name_56
public class EventSystem extends GameTask implements IEventSystem
{
private var eventQueue1:name_374;
@@ -12,7 +12,7 @@ package package_20
private var var_213:Object;
public function name_179(priority:int)
public function EventSystem(priority:int)
{
super(priority);
this.eventQueue1 = new name_374();
@@ -20,7 +20,7 @@ package package_20
this.var_213 = new Object();
}
public function addEventListener(eventType:String, listener:class_11) : void
public function addEventListener(eventType:String, listener:IGameEventListener) : void
{
var listeners:name_374 = this.var_213[eventType];
if(listeners == null)
@@ -31,7 +31,7 @@ package package_20
listeners.add(listener);
}
public function removeEventListener(eventType:String, listener:class_11) : void
public function removeEventListener(eventType:String, listener:IGameEventListener) : void
{
var listeners:name_374 = this.var_213[eventType];
if(listeners != null)
@@ -42,18 +42,18 @@ package package_20
public function dispatchEvent(eventType:String, eventData:*) : void
{
this.eventQueue1.add(name_476.create(eventType,eventData));
this.eventQueue1.add(GameEvent.create(eventType,eventData));
}
override public function run() : void
{
var event:name_476 = null;
var event:GameEvent = null;
var listeners:name_374 = null;
var iterator:name_373 = null;
var listener:class_11 = null;
var listener:IGameEventListener = null;
var tmp:name_374 = this.eventQueue1;
this.eventQueue1 = this.eventQueue2;
for(this.eventQueue2 = tmp; (event = name_476(this.eventQueue2.poll())) != null; )
for(this.eventQueue2 = tmp; (event = GameEvent(this.eventQueue2.poll())) != null; )
{
listeners = this.var_213[event.eventType];
if(listeners != null)
@@ -61,7 +61,7 @@ package package_20
iterator = listeners.listIterator();
while(iterator.hasNext())
{
listener = class_11(iterator.next());
listener = IGameEventListener(iterator.next());
listener.method_146(event.eventType,event.eventData);
}
}

View File

@@ -1,29 +1,29 @@
package package_20
package alternativa.tanks.game.subsystems.eventsystem
{
public class name_476
public class GameEvent
{
private static var pool:name_476;
private static var pool:GameEvent;
public var eventType:String;
public var eventData:*;
public var next:name_476;
public var next:GameEvent;
public function name_476(eventType:String, eventData:*)
public function GameEvent(eventType:String, eventData:*)
{
super();
this.eventType = eventType;
this.eventData = eventData;
}
public static function create(eventType:String, eventData:*) : name_476
public static function create(eventType:String, eventData:*) : GameEvent
{
if(pool == null)
{
return new name_476(eventType,eventData);
return new GameEvent(eventType,eventData);
}
var item:name_476 = pool;
var item:GameEvent = pool;
pool = item.next;
item.next = null;
item.eventType = eventType;

View File

@@ -0,0 +1,12 @@
package alternativa.tanks.game.subsystems.eventsystem
{
public interface IEventSystem
{
function addEventListener(param1:String, param2:IGameEventListener) : void;
function removeEventListener(param1:String, param2:IGameEventListener) : void;
function dispatchEvent(param1:String, param2:*) : void;
}
}

View File

@@ -0,0 +1,8 @@
package alternativa.tanks.game.subsystems.eventsystem
{
public interface IGameEventListener
{
function method_146(param1:String, param2:*) : void;
}
}

View File

@@ -1,8 +0,0 @@
package package_20
{
public interface class_11
{
function method_146(param1:String, param2:*) : void;
}
}

View File

@@ -1,12 +0,0 @@
package package_20
{
public interface name_56
{
function addEventListener(param1:String, param2:class_11) : void;
function removeEventListener(param1:String, param2:class_11) : void;
function dispatchEvent(param1:String, param2:*) : void;
}
}

View File

@@ -4,9 +4,9 @@ package package_71
import alternativa.tanks.game.EntityComponent;
import alternativa.tanks.game.GameKernel;
import alternativa.tanks.game.GameEvents;
import package_20.class_11;
import alternativa.tanks.game.subsystems.eventsystem.IGameEventListener;
public class name_278 extends EntityComponent implements class_11
public class name_278 extends EntityComponent implements IGameEventListener
{
private static var stateEvents:Dictionary;