/// <summary> /// The function generates models from the controller data /// </summary> /// <param name="g"></param> /// <param name="map"></param> /// <param name="style"></param> public void generate(GController g,Skinner map,Style style) { IEnumerator<GObject> iter = g.getEnumerator(); while (iter.MoveNext()) { models.Add(new SWFrameModel(iter.Current, map, style)); } }
public Texture2D getTexture(Style style,GObject g) { String alias; GButton ob = new GButton(); //Check for buttons if (g.GetType().Equals(ob.GetType())) { //Determine whether the button is down ob = (GButton)g; if (ob.IsClicked== true) { alias = style.getSkin("BUTTON_DOWN"); return (Assets.getInstance().get(alias).Texture); } alias = style.getSkin("BUTTON_UP"); return (Assets.getInstance().get(alias).Texture); } //Check for Frames GFrame test = new GFrame(); if(g.GetType().Equals(test.GetType())) { test = (GFrame)g; alias = test.Background; return(Assets.getInstance().get(alias).Texture); } GImageFrame image = new GImageFrame(); //Check for image frames if(g.GetType().Equals(image.GetType())) { image=(GImageFrame) g; return(Assets.getInstance().get(image.Image).Texture); } return (null); }
public SWFrameModel(GObject ov, Skinner map, Style style) { obj = ov; box = new Rectangle((int)obj.X, (int)obj.Y, obj.Width, obj.Height); models = new List<SWFrameModel>(); texture = map.getTexture(style, ov); //Add Gobjects inside if owns other elements if (ov.isOwner() == true) { List<GObject> p = new List<GObject>(); p = obj.getAllObjectsOwned(p); //Create models for all foreach (GObject g in p) { models.Add(new SWFrameModel(g, map, style)); } } }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); //Register the scripting PythonObject.getInstance().register(); //Load the world WorldsKeeper.getInstance().init("worlds/world_info.xml"); //Load the skins AssetsKeeper skinnerAssets = new AssetsKeeper(); skinnerAssets.init("style/assets.xml"); skinner = new Skinner(); Style style=new Style(); style.init("style/style.xml"); //Connect the style //Connect python PythonObject.getInstance().getScope().SetVariable("WORLDSKEEPER", WorldsKeeper.getInstance()); PythonObject.getInstance().getScope().SetVariable("LOG", Log.getInstance()); PythonObject.getInstance().getScope().SetVariable("WINDOWCONTROL", gController); PythonObject.getInstance().getScope().SetVariable("WINDOWSKINNER", skinner); PythonObject.getInstance().getScope().SetVariable("MINDER", swMinder); PythonObject.getInstance().getScope().SetVariable("WINDOWSTYLE", style); PythonObject.getInstance().getScope().SetVariable("PLAYERS", playerCollection); PythonObject.getInstance().getScope().SetVariable("ANIMATIONSSPACE", AnimationAssets.getInstance()); //Load the SimpleGameLib string path = Assembly.GetExecutingAssembly().Location; string dir = Directory.GetParent(path).FullName; string libPath = Path.Combine(dir, "SimpleGameLib.dll"); Assembly assembly = Assembly.LoadFile(libPath); PythonObject.getInstance().getRuntime().LoadAssembly(assembly); //Load the SimpleWindowLib path = Assembly.GetExecutingAssembly().Location; dir = Directory.GetParent(path).FullName; libPath = Path.Combine(dir, "SimpleWindow.dll"); assembly = Assembly.LoadFile(libPath); PythonObject.getInstance().getRuntime().LoadAssembly(assembly); //The animations //Add all animations here AnimationAssets.getInstance().addAsset(new AnimationWrapper("idle_animation", new List<string> {"dungeon","lava" })); //Player a = new Player("player two", "idle_animation", 50, 200); //playerCollection.add(a); //Load the start up script PythonObject.getInstance().executeString(ScriptKeeper.getInstance().getScript("start_up")); }