Skip to content

Commit

Permalink
setting a lobby state
Browse files Browse the repository at this point in the history
  • Loading branch information
progrium committed Oct 22, 2010
1 parent 2aee5d6 commit 11dfe24
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 21 deletions.
7 changes: 5 additions & 2 deletions src/WhateverThatWorksToo.as
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package
{
import org.flixel.*;
import game.GameState;

import net.*;

import org.flixel.*;
[SWF(width="512", height="512", backgroundColor="#FF00FF")]

public class WhateverThatWorksToo extends FlxGame {

public function WhateverThatWorksToo() {
super(256,256, GameState, 2);
super(256,256, LobbyState.wrap(GameState), 2);
}
}
}
17 changes: 2 additions & 15 deletions src/game/GameState.as
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package game {

import flash.display.*;
import flash.utils.*;
import org.flixel.*;
import net.*;


public class GameState extends FlxState {

Expand All @@ -21,8 +21,6 @@ package game {
[Embed (source = "../../data/sprites/hit_block.png")] private var hittableTile:Class;
[Embed (source = "../../data/maps/mariobros.tmx", mimeType = "application/octet-stream")] private var marioMap:Class;

public static var status:FlxText;
public var lobby:Lobby;

public function GameState() {

Expand Down Expand Up @@ -94,17 +92,6 @@ package game {
playerGroup.add( new Player(4*16,9*16,1) );
playerGroup.add( new Player(11*16,9*16,3) );

var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
var players:Number;
if (params.hasOwnProperty('players')) {
players = int(params['players']);
} else {
players = 2;
}

status = new FlxText(5, 5, 400, "Connecting...");
add(status);
lobby = new Lobby(BaseClient, BaseHost, players);

super.create();
}
Expand Down
4 changes: 2 additions & 2 deletions src/net/BaseClient.as
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ package net

public function onConnect():void {
FlxG.log("Joining: "+connection.farID);
GameState.status.text = "Waiting for players...";
LobbyState.status.text = "Waiting for players...";
}

public function say(data:String):void {
GameState.status.text = data;
LobbyState.status.text = data;
FlxG.log(data);
}

Expand Down
3 changes: 1 addition & 2 deletions src/net/BaseHost.as
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@ package net
public function onConnect(clients:Array, peer:NetStream):void {
FlxG.log("Player connected: "+peer.farID);
if (clients.length == lobby.size) {
FlxG.log("Ready");
send("say", "Let's play!");
send("start");
FlxG.state = new LobbyState.gameState();
}
}

Expand Down
40 changes: 40 additions & 0 deletions src/net/LobbyState.as
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package net
{
import flash.display.*;
import flash.utils.*;

import org.flixel.*;

public class LobbyState extends FlxState {

public static var status:FlxText;
public static var gameState:Class;

public var lobby:Lobby;

public function LobbyState() {
}

override public function create():void {
status = new FlxText(5, 5, 400, "Connecting...");
add(status);

var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
var players:Number;
if (params.hasOwnProperty('players')) {
players = int(params['players']);
} else {
players = 2;
}

lobby = new Lobby(BaseClient, BaseHost, players);

super.create();
}

public static function wrap(State:Class):Class {
gameState = State;
return LobbyState;
}
}
}

0 comments on commit 11dfe24

Please sign in to comment.