invertika_game.Game.MapComposite.initializeContent C# (CSharp) Method

initializeContent() public method

public initializeContent ( ) : void
return void
        void initializeContent()
        {
            mContent=new MapContent(mMap);

            List<MapObject> objects=mMap.getObjects();

            for(int i = 0;i < objects.Count;++i)
            {
                MapObject obj=objects[i];
                string type=obj.getType();

                if(type=="WARP")
                {
                    string destMapName=obj.getProperty("DEST_MAP");
                    int destX=Convert.ToInt32(obj.getProperty("DEST_X"));
                    int destY=Convert.ToInt32(obj.getProperty("DEST_Y"));

                    //if(destMapName!=""&&destX&&destY) //TODO Check
                    if(destMapName!="")
                    {
                        MapComposite destMap=MapManager.getMap(destMapName);
                        if(destMap!=null)
                        {
                            WarpAction action=new WarpAction(destMap, destX, destY);
                            insert(new TriggerArea(this, obj.getBounds(),
                                                   action, false));
                        }
                    }
                    else
                    {
                        Logger.Write(LogLevel.Warning, "Unrecognized warp format");
                    }
                }
                else if(type=="SPAWN")
                {
                    MonsterClass monster=null;
                    int maxBeings=Convert.ToInt32(obj.getProperty("MAX_BEINGS"));
                    int spawnRate=Convert.ToInt32(obj.getProperty("SPAWN_RATE"));
                    string monsterName=obj.getProperty("MONSTER_ID");
                    int monsterId=Convert.ToInt32(monsterName);

                    if(monsterId>0)
                    {
                        monster=Program.monsterManager.getMonster(monsterId);
                        if(monster==null)
                        {
                            Logger.Write(LogLevel.Warning, "Couldn't find monster ID {0} for spawn area", monsterId);
                        }
                    }
                    else
                    {
                        monster=Program.monsterManager.getMonsterByName(monsterName);
                        if(monster==null)
                        {
                            Logger.Write(LogLevel.Warning, "Couldn't find monster {0} for spawn area", monsterName);
                        }
                    }

                    if(monster!=null&&maxBeings>0&&spawnRate>0)
                    {
                        insert(new SpawnArea(this, monster, obj.getBounds(),
                                             maxBeings, spawnRate));
                    }
                }
                else if(type=="NPC")
                {
                    int npcId=Convert.ToInt32(obj.getProperty("NPC_ID"));
                    string scriptText=obj.getProperty("SCRIPT");

                    if(mScript!=null)
                    {
                        // Determine script engine by xml property
                        string scriptEngineName=obj.getProperty("ENGINE");
                        if(scriptEngineName=="")
                        {
                            // Set engine to default value and print warning
                            scriptEngineName=Configuration.getValue("script_defaultEngine", "lua");
                            Logger.Write(LogLevel.Warning, "No script engine specified for map script {0} falling back to default", mName);
                        }
                        mScript=Script.create(scriptEngineName);
                    }

                    if(npcId>0&&scriptText!="")
                    {
                        //TODO Implementieren
            //                        mScript.loadNPC(obj.getName(), npcId,
            //                                        obj.getX(), obj.getY(),
            //                                         scriptText);
                    }
                    else
                    {
                        Logger.Write(LogLevel.Warning, "Unrecognized format for npc");
                    }
                }
                else if(type=="SCRIPT")
                {
                    string scriptFilename=obj.getProperty("FILENAME");
                    string scriptText=obj.getProperty("TEXT", "");

                    if(mScript!=null)
                    {
                        // Determine script engine by xml property
                        string scriptEngineName=obj.getProperty("ENGINE", "");
                        if(scriptFilename!=""&&scriptEngineName=="")
                        {
                            // Engine property is empty - determine by filename
                            scriptEngineName=Script.determineEngineByFilename(scriptFilename);
                        }
                        else if(scriptEngineName=="")
                        {
                            // Set engine to default value and print warning
                            scriptEngineName=Configuration.getValue("script_defaultEngine", "lua");
                            Logger.Write(LogLevel.Warning, "No script engine specified for map script {0}, falling back to default", mName);
                        }
                        mScript=Script.create(scriptEngineName);
                    }

                    if(scriptFilename!="")
                    {
                        if(mScript != null)
                        {
                            mScript.loadFile(scriptFilename);
                        }
                        else
                        {
                            Logger.Write(LogLevel.Warning, "No script engine can't bet initialized", mName);
                        }
                    }
                    else if(scriptText!=null)
                    {
                        //TODO Implementieren
            //                        string name="'"+obj.getName()+"'' in "+mName;
            //                        mScript.load(scriptText, name);
                    }
                    else
                    {
                        Logger.Write(LogLevel.Warning, "Unrecognized format for script");
                    }
                }
            }
        }