More work on character components. Revamped tile sets to allow them

to be constructed and used directly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@581 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Walter Korman
2001-11-01 01:40:43 +00:00
parent 435bea052e
commit 39966726aa
33 changed files with 1118 additions and 1006 deletions
@@ -1,5 +1,5 @@
//
// $Id: TestApp.java,v 1.1 2001/10/30 16:16:01 shaper Exp $
// $Id: TestApp.java,v 1.2 2001/11/01 01:40:42 shaper Exp $
package com.threerings.cast.builder.test;
@@ -11,9 +11,9 @@ import com.samskivert.swing.util.SwingUtil;
import com.threerings.cast.Log;
import com.threerings.cast.CharacterManager;
import com.threerings.media.tile.TileManager;
import com.threerings.miso.util.MisoContext;
import com.threerings.media.ImageManager;
import com.threerings.miso.util.MisoUtil;
public class TestApp
@@ -26,13 +26,10 @@ public class TestApp
// create the handles on our various services
_config = MisoUtil.createConfig();
_tilemgr = MisoUtil.createTileManager(_config, _frame);
_imgmgr = MisoUtil.createImageManager(_frame);
CharacterManager charmgr =
MisoUtil.createCharacterManager(_config, _tilemgr);
// create the context object
_ctx = new TestContextImpl();
MisoUtil.createCharacterManager(_config, _imgmgr);
// initialize the frame
((TestFrame)_frame).init(charmgr);
@@ -50,28 +47,12 @@ public class TestApp
app.run();
}
protected class TestContextImpl implements MisoContext
{
public Config getConfig ()
{
return _config;
}
public TileManager getTileManager ()
{
return _tilemgr;
}
}
/** The test frame. */
protected JFrame _frame;
/** The test context. */
protected MisoContext _ctx;
/** The config object. */
protected Config _config;
/** The tile manager object. */
protected TileManager _tilemgr;
/** The image manager object. */
protected ImageManager _imgmgr;
}
@@ -1,5 +1,5 @@
//
// $Id: ViewerApp.java,v 1.10 2001/10/30 16:16:01 shaper Exp $
// $Id: ViewerApp.java,v 1.11 2001/11/01 01:40:43 shaper Exp $
package com.threerings.miso.viewer;
@@ -8,6 +8,8 @@ import java.io.IOException;
import com.samskivert.swing.util.SwingUtil;
import com.samskivert.util.Config;
import com.threerings.media.ImageManager;
import com.threerings.media.tile.TileManager;
import com.threerings.miso.Log;
@@ -35,7 +37,8 @@ public class ViewerApp
_config = MisoUtil.createConfig(
ViewerModel.CONFIG_KEY, "rsrc/config/miso/viewer");
_model = createModel(_config, args);
_tilemgr = MisoUtil.createTileManager(_config, _frame);
ImageManager imgmgr = MisoUtil.createImageManager(_frame);
_tilemgr = MisoUtil.createTileManager(_config, imgmgr);
_screpo = MisoUtil.createSceneRepository(_config, _tilemgr);
// create the context object
@@ -1,13 +1,15 @@
//
// $Id: ViewerFrame.java,v 1.25 2001/10/25 16:33:20 shaper Exp $
// $Id: ViewerFrame.java,v 1.26 2001/11/01 01:40:43 shaper Exp $
package com.threerings.miso.viewer;
import javax.swing.JFrame;
import com.threerings.media.ImageManager;
import com.threerings.media.sprite.SpriteManager;
import com.threerings.miso.Log;
import com.threerings.miso.util.MisoUtil;
import com.threerings.miso.viewer.util.ViewerContext;
/**
@@ -28,10 +30,11 @@ public class ViewerFrame extends JFrame
*/
public void init (ViewerContext ctx)
{
// create the sprite manager
// create the various managers
ImageManager imgmgr = MisoUtil.createImageManager(this);
SpriteManager spritemgr = new SpriteManager();
// add the main panel to the frame
getContentPane().add(new ViewerSceneViewPanel(ctx, spritemgr));
getContentPane().add(new ViewerSceneViewPanel(ctx, imgmgr, spritemgr));
}
}
@@ -1,5 +1,5 @@
//
// $Id: ViewerSceneViewPanel.java,v 1.25 2001/10/30 16:16:01 shaper Exp $
// $Id: ViewerSceneViewPanel.java,v 1.26 2001/11/01 01:40:43 shaper Exp $
package com.threerings.miso.viewer;
@@ -15,6 +15,7 @@ import com.samskivert.util.Config;
import com.threerings.cast.*;
import com.threerings.media.ImageManager;
import com.threerings.media.sprite.*;
import com.threerings.media.tile.TileManager;
import com.threerings.media.util.RandomUtil;
@@ -34,7 +35,8 @@ public class ViewerSceneViewPanel extends SceneViewPanel
/**
* Construct the panel and initialize it with a context.
*/
public ViewerSceneViewPanel (ViewerContext ctx, SpriteManager spritemgr)
public ViewerSceneViewPanel (ViewerContext ctx, ImageManager imgmgr,
SpriteManager spritemgr)
{
super(ctx.getConfig(), spritemgr);
@@ -47,8 +49,8 @@ public class ViewerSceneViewPanel extends SceneViewPanel
prepareStartingScene();
// construct the character manager from which we obtain sprites
CharacterManager charmgr = MisoUtil.createCharacterManager(
ctx.getConfig(), ctx.getTileManager());
CharacterManager charmgr =
MisoUtil.createCharacterManager(ctx.getConfig(), imgmgr);
// create the character descriptors
_descUser = createCharacterDescriptor(charmgr);
@@ -193,11 +195,6 @@ public class ViewerSceneViewPanel extends SceneViewPanel
protected CharacterDescriptor
createCharacterDescriptor (CharacterManager charmgr)
{
// get the base component type (always the first type for now).
// TODO: change this to retrieve component type by name
Iterator iter = charmgr.enumerateComponentTypes();
ComponentType ctype = (ComponentType)iter.next();
// get all available classes
ArrayList classes = new ArrayList();
CollectionUtil.addAll(classes, charmgr.enumerateComponentClasses());
@@ -210,7 +207,7 @@ public class ViewerSceneViewPanel extends SceneViewPanel
// get the components available for this class
ArrayList choices = new ArrayList();
iter = charmgr.enumerateComponentsByClass(ctype.ctid, cclass.clid);
Iterator iter = charmgr.enumerateComponentsByClass(cclass.clid);
CollectionUtil.addAll(choices, iter);
// choose a random component
@@ -218,7 +215,7 @@ public class ViewerSceneViewPanel extends SceneViewPanel
components[cclass.clid] = ((Integer)choices.get(idx)).intValue();
}
return new CharacterDescriptor(ctype, components);
return new CharacterDescriptor(components);
}
// documentation inherited