[client] use meta @:provide
This commit is contained in:
@@ -1,17 +1,14 @@
|
|||||||
package ru.m.tankz.control;
|
package ru.m.tankz.control;
|
||||||
|
|
||||||
import haxework.provider.Provider;
|
|
||||||
import ru.m.tankz.network.NetworkManager;
|
import ru.m.tankz.network.NetworkManager;
|
||||||
import ru.m.tankz.control.Control;
|
import ru.m.tankz.control.Control;
|
||||||
|
|
||||||
|
|
||||||
|
@:haxework
|
||||||
class ClientNetworkControl extends HumanControl {
|
class ClientNetworkControl extends HumanControl {
|
||||||
|
|
||||||
private var network(get, never):NetworkManager;
|
@:provider
|
||||||
|
private var network:NetworkManager;
|
||||||
inline private function get_network():NetworkManager {
|
|
||||||
return Provider.get(NetworkManager);
|
|
||||||
}
|
|
||||||
|
|
||||||
override public function action(action:TankAction):Void {
|
override public function action(action:TankAction):Void {
|
||||||
network.action(action);
|
network.action(action);
|
||||||
|
|||||||
@@ -31,15 +31,12 @@ interface NetworkFrameLayout {
|
|||||||
var userList(default, null):ListView<User>;
|
var userList(default, null):ListView<User>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@:haxework
|
||||||
@:template("ru/m/tankz/frame/NetworkFrame.yaml", "ru/m/tankz/Style.yaml")
|
@:template("ru/m/tankz/frame/NetworkFrame.yaml", "ru/m/tankz/Style.yaml")
|
||||||
class NetworkFrame extends VGroupView implements ViewBuilder implements NetworkFrameLayout {
|
class NetworkFrame extends VGroupView implements ViewBuilder implements NetworkFrameLayout {
|
||||||
public static var ID(default, never):String = "network";
|
public static var ID(default, never):String = "network";
|
||||||
|
|
||||||
private var network(get, never):NetworkManager;
|
@:provide private var network:NetworkManager;
|
||||||
|
|
||||||
private inline function get_network():NetworkManager {
|
|
||||||
return Provider.get(NetworkManager);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function init():Void {
|
public function init():Void {
|
||||||
loginButton.onPress = this;
|
loginButton.onPress = this;
|
||||||
|
|||||||
@@ -22,11 +22,14 @@ interface StartFrameLayout {
|
|||||||
var network(default, null):ButtonView;
|
var network(default, null):ButtonView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@:haxework
|
||||||
@:template("ru/m/tankz/frame/StartFrame.yaml", "ru/m/tankz/Style.yaml")
|
@:template("ru/m/tankz/frame/StartFrame.yaml", "ru/m/tankz/Style.yaml")
|
||||||
class StartFrame extends VGroupView implements ViewBuilder implements StartFrameLayout {
|
class StartFrame extends VGroupView implements ViewBuilder implements StartFrameLayout {
|
||||||
|
|
||||||
public static var ID(default, never):String = "start";
|
public static var ID(default, never):String = "start";
|
||||||
|
|
||||||
|
@:provide private var frameSwitcher:IFrameSwitcher;
|
||||||
|
|
||||||
public function init():Void {
|
public function init():Void {
|
||||||
classic_1p.onPress = this;
|
classic_1p.onPress = this;
|
||||||
classic_2p.onPress = this;
|
classic_2p.onPress = this;
|
||||||
@@ -62,18 +65,18 @@ class StartFrame extends VGroupView implements ViewBuilder implements StartFrame
|
|||||||
case 'dota_2p_vs':
|
case 'dota_2p_vs':
|
||||||
startGame(DotaGame.TYPE, DotaGame.PLAYER2_VS);
|
startGame(DotaGame.TYPE, DotaGame.PLAYER2_VS);
|
||||||
case 'network':
|
case 'network':
|
||||||
Provider.get(IFrameSwitcher).change(NetworkFrame.ID);
|
frameSwitcher.change(NetworkFrame.ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function startGame(type:GameType, presetId:PresetId):Void {
|
private function startGame(type:GameType, presetId:PresetId):Void {
|
||||||
Provider.set(GameSave, new GameSave({type: type, presetId: presetId}));
|
Provider.set(GameSave, new GameSave({type: type, presetId: presetId}));
|
||||||
Provider.get(IFrameSwitcher).change(LevelFrame.ID);
|
frameSwitcher.change(LevelFrame.ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function loadGame(type:GameType):Void {
|
private function loadGame(type:GameType):Void {
|
||||||
var save:GameSave = Provider.get(SaveStorage).read(type);
|
var save:GameSave = Provider.get(SaveStorage).read(type);
|
||||||
Provider.set(GameSave, save);
|
Provider.set(GameSave, save);
|
||||||
Provider.get(IFrameSwitcher).change(GameFrame.ID);
|
frameSwitcher.change(GameFrame.ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import ru.m.tankz.control.Control;
|
|||||||
import ru.m.tankz.proto.pack.JoinGameRequest;
|
import ru.m.tankz.proto.pack.JoinGameRequest;
|
||||||
import ru.m.tankz.proto.pack.LeaveGameRequest;
|
import ru.m.tankz.proto.pack.LeaveGameRequest;
|
||||||
import ru.m.tankz.proto.pack.CreateGameRequest;
|
import ru.m.tankz.proto.pack.CreateGameRequest;
|
||||||
import haxework.provider.Provider;
|
|
||||||
import ru.m.connect.IConnection;
|
import ru.m.connect.IConnection;
|
||||||
import ru.m.signal.Signal;
|
import ru.m.signal.Signal;
|
||||||
import ru.m.tankz.proto.core.Game;
|
import ru.m.tankz.proto.core.Game;
|
||||||
@@ -20,6 +19,7 @@ import ru.m.tankz.storage.UserStorage;
|
|||||||
|
|
||||||
typedef ClientConnection = IConnection<Request, Response>;
|
typedef ClientConnection = IConnection<Request, Response>;
|
||||||
|
|
||||||
|
@:haxework
|
||||||
class NetworkManager {
|
class NetworkManager {
|
||||||
|
|
||||||
public var state(default, null):String;
|
public var state(default, null):String;
|
||||||
@@ -29,16 +29,8 @@ class NetworkManager {
|
|||||||
public var gameUpdateSignal:Signal<Array<GameChange>>;
|
public var gameUpdateSignal:Signal<Array<GameChange>>;
|
||||||
public var user(default, null):User;
|
public var user(default, null):User;
|
||||||
|
|
||||||
private var connection(get, never):ClientConnection;
|
@:provide private var connection:ClientConnection;
|
||||||
private var storage(get, never):UserStorage;
|
@:provide private var storage:UserStorage;
|
||||||
|
|
||||||
inline private function get_connection():ClientConnection {
|
|
||||||
return Provider.get(IConnection);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline private function get_storage():UserStorage {
|
|
||||||
return Provider.get(UserStorage);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function new() {
|
public function new() {
|
||||||
stateSignal = new Signal<String>();
|
stateSignal = new Signal<String>();
|
||||||
|
|||||||
Reference in New Issue
Block a user