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