diff --git a/build.xml b/build.xml index 93b73fde..dd7feee6 100644 --- a/build.xml +++ b/build.xml @@ -240,7 +240,7 @@ - + diff --git a/src/as/com/threerings/micasa/lobby/LobbyMarshaller.as b/src/as/com/threerings/micasa/lobby/LobbyMarshaller.as new file mode 100644 index 00000000..0f7af6cb --- /dev/null +++ b/src/as/com/threerings/micasa/lobby/LobbyMarshaller.as @@ -0,0 +1,63 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.lobby { + +import com.threerings.presents.client.Client; +import com.threerings.presents.data.InvocationMarshaller; + +/** + * Provides the implementation of the LobbyService interface + * that marshalls the arguments and delivers the request to the provider + * on the server. Also provides an implementation of the response listener + * interfaces that marshall the response arguments and deliver them back + * to the requesting client. + */ +public class LobbyMarshaller extends InvocationMarshaller + implements LobbyService +{ + /** The method id used to dispatch getCategories requests. */ + public static const GET_CATEGORIES :int = 1; + + // from interface LobbyService + public function getCategories (arg1 :LobbyService_CategoriesListener) :void + { + var listener1 :LobbyMarshaller_CategoriesMarshaller = new LobbyMarshaller_CategoriesMarshaller(); + listener1.listener = arg1; + sendRequest(GET_CATEGORIES, [ + listener1 + ]); + } + + /** The method id used to dispatch getLobbies requests. */ + public static const GET_LOBBIES :int = 2; + + // from interface LobbyService + public function getLobbies (arg1 :String, arg2 :LobbyService_LobbiesListener) :void + { + var listener2 :LobbyMarshaller_LobbiesMarshaller = new LobbyMarshaller_LobbiesMarshaller(); + listener2.listener = arg2; + sendRequest(GET_LOBBIES, [ + arg1, listener2 + ]); + } +} +} diff --git a/src/as/com/threerings/micasa/lobby/LobbyMarshaller_CategoriesMarshaller.as b/src/as/com/threerings/micasa/lobby/LobbyMarshaller_CategoriesMarshaller.as new file mode 100644 index 00000000..96f50c19 --- /dev/null +++ b/src/as/com/threerings/micasa/lobby/LobbyMarshaller_CategoriesMarshaller.as @@ -0,0 +1,51 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.lobby { + +import com.threerings.io.TypedArray; +import com.threerings.presents.data.InvocationMarshaller_ListenerMarshaller; + +/** + * Marshalls instances of the LobbyService_CategoriesMarshaller interface. + */ +public class LobbyMarshaller_CategoriesMarshaller + extends InvocationMarshaller_ListenerMarshaller +{ + /** The method id used to dispatch gotCategories responses. */ + public static const GOT_CATEGORIES :int = 1; + + // from InvocationMarshaller_ListenerMarshaller + override public function dispatchResponse (methodId :int, args :Array) :void + { + switch (methodId) { + case GOT_CATEGORIES: + (listener as LobbyService_CategoriesListener).gotCategories( + (args[0] as TypedArray /* of class java.lang.String */)); + return; + + default: + super.dispatchResponse(methodId, args); + return; + } + } +} +} diff --git a/src/as/com/threerings/micasa/lobby/LobbyMarshaller_LobbiesMarshaller.as b/src/as/com/threerings/micasa/lobby/LobbyMarshaller_LobbiesMarshaller.as new file mode 100644 index 00000000..3c5acdfa --- /dev/null +++ b/src/as/com/threerings/micasa/lobby/LobbyMarshaller_LobbiesMarshaller.as @@ -0,0 +1,51 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.lobby { + +import com.threerings.presents.data.InvocationMarshaller_ListenerMarshaller; +import java.util.List; + +/** + * Marshalls instances of the LobbyService_LobbiesMarshaller interface. + */ +public class LobbyMarshaller_LobbiesMarshaller + extends InvocationMarshaller_ListenerMarshaller +{ + /** The method id used to dispatch gotLobbies responses. */ + public static const GOT_LOBBIES :int = 1; + + // from InvocationMarshaller_ListenerMarshaller + override public function dispatchResponse (methodId :int, args :Array) :void + { + switch (methodId) { + case GOT_LOBBIES: + (listener as LobbyService_LobbiesListener).gotLobbies( + (args[0] as List)); + return; + + default: + super.dispatchResponse(methodId, args); + return; + } + } +} +} diff --git a/src/as/com/threerings/micasa/lobby/LobbyService.as b/src/as/com/threerings/micasa/lobby/LobbyService.as new file mode 100644 index 00000000..dfb46c40 --- /dev/null +++ b/src/as/com/threerings/micasa/lobby/LobbyService.as @@ -0,0 +1,38 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.lobby { + +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService; + +/** + * An ActionScript version of the Java LobbyService interface. + */ +public interface LobbyService extends InvocationService +{ + // from Java interface LobbyService + function getCategories (arg1 :LobbyService_CategoriesListener) :void; + + // from Java interface LobbyService + function getLobbies (arg1 :String, arg2 :LobbyService_LobbiesListener) :void; +} +} diff --git a/src/as/com/threerings/micasa/lobby/LobbyService_CategoriesListener.as b/src/as/com/threerings/micasa/lobby/LobbyService_CategoriesListener.as new file mode 100644 index 00000000..e4405156 --- /dev/null +++ b/src/as/com/threerings/micasa/lobby/LobbyService_CategoriesListener.as @@ -0,0 +1,36 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.lobby { + +import com.threerings.io.TypedArray; +import com.threerings.presents.client.InvocationService_InvocationListener; + +/** + * An ActionScript version of the Java LobbyService_CategoriesListener interface. + */ +public interface LobbyService_CategoriesListener + extends InvocationService_InvocationListener +{ + // from Java LobbyService_CategoriesListener + function gotCategories (arg1 :TypedArray /* of class java.lang.String */) :void +} +} diff --git a/src/as/com/threerings/micasa/lobby/LobbyService_LobbiesListener.as b/src/as/com/threerings/micasa/lobby/LobbyService_LobbiesListener.as new file mode 100644 index 00000000..30ef2a67 --- /dev/null +++ b/src/as/com/threerings/micasa/lobby/LobbyService_LobbiesListener.as @@ -0,0 +1,36 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.lobby { + +import com.threerings.presents.client.InvocationService_InvocationListener; +import java.util.List; + +/** + * An ActionScript version of the Java LobbyService_LobbiesListener interface. + */ +public interface LobbyService_LobbiesListener + extends InvocationService_InvocationListener +{ + // from Java LobbyService_LobbiesListener + function gotLobbies (arg1 :List) :void +} +} diff --git a/src/as/com/threerings/micasa/simulator/client/SimulatorService.as b/src/as/com/threerings/micasa/simulator/client/SimulatorService.as new file mode 100644 index 00000000..ef9b1e3a --- /dev/null +++ b/src/as/com/threerings/micasa/simulator/client/SimulatorService.as @@ -0,0 +1,36 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.simulator.client { + +import com.threerings.parlor.game.data.GameConfig; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService; + +/** + * An ActionScript version of the Java SimulatorService interface. + */ +public interface SimulatorService extends InvocationService +{ + // from Java interface SimulatorService + function createGame (arg1 :GameConfig, arg2 :String, arg3 :int) :void; +} +} diff --git a/src/as/com/threerings/micasa/simulator/data/SimulatorMarshaller.as b/src/as/com/threerings/micasa/simulator/data/SimulatorMarshaller.as new file mode 100644 index 00000000..f180c72a --- /dev/null +++ b/src/as/com/threerings/micasa/simulator/data/SimulatorMarshaller.as @@ -0,0 +1,51 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.micasa.simulator.data { + +import com.threerings.micasa.simulator.client.SimulatorService; +import com.threerings.parlor.game.data.GameConfig; +import com.threerings.presents.client.Client; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.util.Integer; + +/** + * Provides the implementation of the SimulatorService interface + * that marshalls the arguments and delivers the request to the provider + * on the server. Also provides an implementation of the response listener + * interfaces that marshall the response arguments and deliver them back + * to the requesting client. + */ +public class SimulatorMarshaller extends InvocationMarshaller + implements SimulatorService +{ + /** The method id used to dispatch createGame requests. */ + public static const CREATE_GAME :int = 1; + + // from interface SimulatorService + public function createGame (arg1 :GameConfig, arg2 :String, arg3 :int) :void + { + sendRequest(CREATE_GAME, [ + arg1, arg2, Integer.valueOf(arg3) + ]); + } +} +} diff --git a/src/as/com/threerings/parlor/tourney/client/TourneyService.as b/src/as/com/threerings/parlor/tourney/client/TourneyService.as new file mode 100644 index 00000000..db55d4fc --- /dev/null +++ b/src/as/com/threerings/parlor/tourney/client/TourneyService.as @@ -0,0 +1,42 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.parlor.tourney.client { + +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.client.InvocationService_ConfirmListener; + +/** + * An ActionScript version of the Java TourneyService interface. + */ +public interface TourneyService extends InvocationService +{ + // from Java interface TourneyService + function cancel (arg1 :InvocationService_ConfirmListener) :void; + + // from Java interface TourneyService + function join (arg1 :InvocationService_ConfirmListener) :void; + + // from Java interface TourneyService + function leave (arg1 :InvocationService_ConfirmListener) :void; +} +} diff --git a/src/as/com/threerings/parlor/tourney/client/TourniesService.as b/src/as/com/threerings/parlor/tourney/client/TourniesService.as new file mode 100644 index 00000000..92cd0a44 --- /dev/null +++ b/src/as/com/threerings/parlor/tourney/client/TourniesService.as @@ -0,0 +1,37 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.parlor.tourney.client { + +import com.threerings.parlor.tourney.data.TourneyConfig; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.client.InvocationService_ResultListener; + +/** + * An ActionScript version of the Java TourniesService interface. + */ +public interface TourniesService extends InvocationService +{ + // from Java interface TourniesService + function createTourney (arg1 :TourneyConfig, arg2 :InvocationService_ResultListener) :void; +} +} diff --git a/src/as/com/threerings/parlor/tourney/data/TourneyMarshaller.as b/src/as/com/threerings/parlor/tourney/data/TourneyMarshaller.as new file mode 100644 index 00000000..c2da334b --- /dev/null +++ b/src/as/com/threerings/parlor/tourney/data/TourneyMarshaller.as @@ -0,0 +1,79 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.parlor.tourney.data { + +import com.threerings.parlor.tourney.client.TourneyService; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService_ConfirmListener; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.presents.data.InvocationMarshaller_ConfirmMarshaller; + +/** + * Provides the implementation of the TourneyService interface + * that marshalls the arguments and delivers the request to the provider + * on the server. Also provides an implementation of the response listener + * interfaces that marshall the response arguments and deliver them back + * to the requesting client. + */ +public class TourneyMarshaller extends InvocationMarshaller + implements TourneyService +{ + /** The method id used to dispatch cancel requests. */ + public static const CANCEL :int = 1; + + // from interface TourneyService + public function cancel (arg1 :InvocationService_ConfirmListener) :void + { + var listener1 :InvocationMarshaller_ConfirmMarshaller = new InvocationMarshaller_ConfirmMarshaller(); + listener1.listener = arg1; + sendRequest(CANCEL, [ + listener1 + ]); + } + + /** The method id used to dispatch join requests. */ + public static const JOIN :int = 2; + + // from interface TourneyService + public function join (arg1 :InvocationService_ConfirmListener) :void + { + var listener1 :InvocationMarshaller_ConfirmMarshaller = new InvocationMarshaller_ConfirmMarshaller(); + listener1.listener = arg1; + sendRequest(JOIN, [ + listener1 + ]); + } + + /** The method id used to dispatch leave requests. */ + public static const LEAVE :int = 3; + + // from interface TourneyService + public function leave (arg1 :InvocationService_ConfirmListener) :void + { + var listener1 :InvocationMarshaller_ConfirmMarshaller = new InvocationMarshaller_ConfirmMarshaller(); + listener1.listener = arg1; + sendRequest(LEAVE, [ + listener1 + ]); + } +} +} diff --git a/src/as/com/threerings/parlor/tourney/data/TourniesMarshaller.as b/src/as/com/threerings/parlor/tourney/data/TourniesMarshaller.as new file mode 100644 index 00000000..9b7ab243 --- /dev/null +++ b/src/as/com/threerings/parlor/tourney/data/TourniesMarshaller.as @@ -0,0 +1,53 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.parlor.tourney.data { + +import com.threerings.parlor.tourney.client.TourniesService; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService_ResultListener; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.presents.data.InvocationMarshaller_ResultMarshaller; + +/** + * Provides the implementation of the TourniesService interface + * that marshalls the arguments and delivers the request to the provider + * on the server. Also provides an implementation of the response listener + * interfaces that marshall the response arguments and deliver them back + * to the requesting client. + */ +public class TourniesMarshaller extends InvocationMarshaller + implements TourniesService +{ + /** The method id used to dispatch createTourney requests. */ + public static const CREATE_TOURNEY :int = 1; + + // from interface TourniesService + public function createTourney (arg1 :TourneyConfig, arg2 :InvocationService_ResultListener) :void + { + var listener2 :InvocationMarshaller_ResultMarshaller = new InvocationMarshaller_ResultMarshaller(); + listener2.listener = arg2; + sendRequest(CREATE_TOURNEY, [ + arg1, listener2 + ]); + } +} +} diff --git a/src/as/com/threerings/puzzle/client/PuzzleGameService.as b/src/as/com/threerings/puzzle/client/PuzzleGameService.as new file mode 100644 index 00000000..49a5961c --- /dev/null +++ b/src/as/com/threerings/puzzle/client/PuzzleGameService.as @@ -0,0 +1,39 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.puzzle.client { + +import com.threerings.io.TypedArray; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService; + +/** + * An ActionScript version of the Java PuzzleGameService interface. + */ +public interface PuzzleGameService extends InvocationService +{ + // from Java interface PuzzleGameService + function updateProgress (arg1 :int, arg2 :TypedArray /* of int */) :void; + + // from Java interface PuzzleGameService + function updateProgressSync (arg1 :int, arg2 :TypedArray /* of int */, arg3 :TypedArray /* of class com.threerings.puzzle.data.Board */) :void; +} +} diff --git a/src/as/com/threerings/puzzle/data/PuzzleGameMarshaller.as b/src/as/com/threerings/puzzle/data/PuzzleGameMarshaller.as new file mode 100644 index 00000000..6561e7b0 --- /dev/null +++ b/src/as/com/threerings/puzzle/data/PuzzleGameMarshaller.as @@ -0,0 +1,62 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.puzzle.data { + +import com.threerings.io.TypedArray; +import com.threerings.presents.client.Client; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.puzzle.client.PuzzleGameService; +import com.threerings.util.Integer; + +/** + * Provides the implementation of the PuzzleGameService interface + * that marshalls the arguments and delivers the request to the provider + * on the server. Also provides an implementation of the response listener + * interfaces that marshall the response arguments and deliver them back + * to the requesting client. + */ +public class PuzzleGameMarshaller extends InvocationMarshaller + implements PuzzleGameService +{ + /** The method id used to dispatch updateProgress requests. */ + public static const UPDATE_PROGRESS :int = 1; + + // from interface PuzzleGameService + public function updateProgress (arg1 :int, arg2 :TypedArray /* of int */) :void + { + sendRequest(UPDATE_PROGRESS, [ + Integer.valueOf(arg1), arg2 + ]); + } + + /** The method id used to dispatch updateProgressSync requests. */ + public static const UPDATE_PROGRESS_SYNC :int = 2; + + // from interface PuzzleGameService + public function updateProgressSync (arg1 :int, arg2 :TypedArray /* of int */, arg3 :TypedArray /* of class com.threerings.puzzle.data.Board */) :void + { + sendRequest(UPDATE_PROGRESS_SYNC, [ + Integer.valueOf(arg1), arg2, arg3 + ]); + } +} +} diff --git a/src/as/com/threerings/stage/client/StageSceneService.as b/src/as/com/threerings/stage/client/StageSceneService.as new file mode 100644 index 00000000..b83fe3f6 --- /dev/null +++ b/src/as/com/threerings/stage/client/StageSceneService.as @@ -0,0 +1,41 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.stage.client { + +import com.threerings.io.TypedArray; +import com.threerings.miso.data.ObjectInfo; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService; +import com.threerings.presents.client.InvocationService_ConfirmListener; + +/** + * An ActionScript version of the Java StageSceneService interface. + */ +public interface StageSceneService extends InvocationService +{ + // from Java interface StageSceneService + function addObject (arg1 :ObjectInfo, arg2 :InvocationService_ConfirmListener) :void; + + // from Java interface StageSceneService + function removeObjects (arg1 :TypedArray /* of class com.threerings.miso.data.ObjectInfo */, arg2 :InvocationService_ConfirmListener) :void; +} +} diff --git a/src/as/com/threerings/stage/data/StageSceneMarshaller.as b/src/as/com/threerings/stage/data/StageSceneMarshaller.as new file mode 100644 index 00000000..50566732 --- /dev/null +++ b/src/as/com/threerings/stage/data/StageSceneMarshaller.as @@ -0,0 +1,68 @@ +// +// $Id$ +// +// Vilya library - tools for developing networked games +// Copyright (C) 2002-2010 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/vilya/ +// +// This library is free software; you can redistribute it and/or modify it +// under the terms of the GNU Lesser General Public License as published +// by the Free Software Foundation; either version 2.1 of the License, or +// (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +package com.threerings.stage.data { + +import com.threerings.io.TypedArray; +import com.threerings.miso.data.ObjectInfo; +import com.threerings.presents.client.Client; +import com.threerings.presents.client.InvocationService_ConfirmListener; +import com.threerings.presents.data.InvocationMarshaller; +import com.threerings.presents.data.InvocationMarshaller_ConfirmMarshaller; +import com.threerings.stage.client.StageSceneService; + +/** + * Provides the implementation of the StageSceneService interface + * that marshalls the arguments and delivers the request to the provider + * on the server. Also provides an implementation of the response listener + * interfaces that marshall the response arguments and deliver them back + * to the requesting client. + */ +public class StageSceneMarshaller extends InvocationMarshaller + implements StageSceneService +{ + /** The method id used to dispatch addObject requests. */ + public static const ADD_OBJECT :int = 1; + + // from interface StageSceneService + public function addObject (arg1 :ObjectInfo, arg2 :InvocationService_ConfirmListener) :void + { + var listener2 :InvocationMarshaller_ConfirmMarshaller = new InvocationMarshaller_ConfirmMarshaller(); + listener2.listener = arg2; + sendRequest(ADD_OBJECT, [ + arg1, listener2 + ]); + } + + /** The method id used to dispatch removeObjects requests. */ + public static const REMOVE_OBJECTS :int = 2; + + // from interface StageSceneService + public function removeObjects (arg1 :TypedArray /* of class com.threerings.miso.data.ObjectInfo */, arg2 :InvocationService_ConfirmListener) :void + { + var listener2 :InvocationMarshaller_ConfirmMarshaller = new InvocationMarshaller_ConfirmMarshaller(); + listener2.listener = arg2; + sendRequest(REMOVE_OBJECTS, [ + arg1, listener2 + ]); + } +} +}