public void LoadLevel(string userlevelname)
    {
        //clear out current level stuff
        ClearLevel();

        FileLoader leveldata = new FileLoader(Application.persistentDataPath, "UserLevels", "userlevel_" + userlevelname);
        string     lds       = leveldata.Read();
        Dictionary <string, System.Object> leveldict = Json.Deserialize(lds) as Dictionary <string, System.Object>;

        for (int i = 0; i < 6; i++)
        {
            FileLoader wavedata = new FileLoader(Application.persistentDataPath, "UserLevels", "userwave_" + userlevelname + (i + 1));
            string     wds      = wavedata.Read();
            Dictionary <string, System.Object> wavedict = Json.Deserialize(wds) as Dictionary <string, System.Object>;
            ZonePanelController[] zpanels = frames[i].zonepanels;
            List <System.Object>  enemies = wavedict["enemies"] as List <System.Object>;
            foreach (System.Object eobj in enemies)
            {
                Dictionary <string, System.Object> edict = eobj as Dictionary <string, System.Object>;
                string efilename            = (string)edict["enemyID"];
                int    zoneID               = (int)(long)edict["trackID"];
                EnemyTemplateController etc = eic.GetTemplateByName(efilename);
                zpanels[zoneID - 1].AddNewEntry(etc);
            }
        }
        int bosscode = (int)(long)leveldict["boss"];

        btc.SetBossIndex(bosscode);
        Debug.Log("boss loaded");

        GameEvent ge = new GameEvent("wave_editor_changed");

        EventManager.Instance().RaiseEvent(ge);
    }
    public void ConfigureFromTemplate(EnemyTemplateController etc)
    {
        this.etc = etc;
        Image img = transform.gameObject.GetComponent<Image> ();
        Texture2D decal = Resources.Load<Texture2D> ("Sprites/EnemySprites/" + etc.GetImgFileName());
        if (decal == null)
            Debug.Log("decal is null");
        img.sprite = UnityEngine.Sprite.Create (
            decal,
            new Rect(0,0,decal.width,decal.height),
            new Vector2(0.5f,0.5f),
            100f);
        img.color = new Color(img.color.r,img.color.g,img.color.b,0.5f);//.a = 0.5f;

        //set size stuff
        RectTransform rt = (RectTransform)transform;
        //figure out how much to scale it by to fit
        float xratio = ((float)decal.width)/etc.maxwidth;
        float yratio = ((float)decal.height)/etc.maxheight;
        float highestratio;
        if(xratio >= yratio){
            highestratio = xratio;
        }else{
            highestratio = yratio;
        }
        float newWidth = ((float)decal.width) / highestratio;
        float newHeight = ((float)decal.height) / highestratio;

        Vector3 sizeStuff = new Vector3(newWidth,newHeight,transform.position.z);
        rt.sizeDelta = sizeStuff;
    }
 public void ConfigureFromTemplate(EnemyTemplateController etc)
 {
     this.etc = etc;
     label = etc.GetEditorColumnName() + " (" + etc.GetPointValue() +")";
     //set name
     Transform nTransform = transform.FindChild("Text");
     Text nameText = nTransform.gameObject.GetComponent<Text>();
     nameText.text = label;
 }
 public void AttachEnemy(EnemyTemplateController etc)
 {
     moving = true;
     GameObject go = Instantiate (Resources.Load ("Prefabs/DraggableEnemy")) as GameObject;
     go.transform.SetParent(canvas.transform,false);
     EnemyDraggableController edc = go.GetComponent<EnemyDraggableController>();
     edc.ConfigureFromTemplate(etc);
     floatingEnemy = edc;
     //make draggable controller based on etc stats
     //make floatingEnemy that controller and dispose of the old one if applicable
 }
    public void AttachEnemy(EnemyTemplateController etc)
    {
        moving = true;
        GameObject go = Instantiate(Resources.Load("Prefabs/DraggableEnemy")) as GameObject;

        go.transform.SetParent(canvas.transform, false);
        EnemyDraggableController edc = go.GetComponent <EnemyDraggableController>();

        edc.ConfigureFromTemplate(etc);
        floatingEnemy = edc;
        //make draggable controller based on etc stats
        //make floatingEnemy that controller and dispose of the old one if applicable
    }
Exemple #6
0
    public void AddNewEntry(EnemyTemplateController etc)
    {
        GameObject go = Instantiate(Resources.Load("Prefabs/EnemyListEntry")) as GameObject;
        EnemyListEntryController elec = go.GetComponent <EnemyListEntryController>();

        elec.transform.SetParent(scroll.transform, false);
        elec.ConfigureFromTemplate(etc);
        RectTransform rt = (RectTransform)elec.transform;

        rt.anchoredPosition = new Vector2(rt.anchoredPosition.x, rt.anchoredPosition.y - spacing * enemies.Count);
        if (enemies.Count == 0)
        {
            initialpos = rt.anchoredPosition.y;
        }
        enemies.Add(elec);
        elec.parentZonePanel = this;
        ResizeScroll();
        GameEvent ge = new GameEvent("wave_editor_changed");

        EventManager.Instance().RaiseEvent(ge);
    }
    public void ConfigureFromTemplate(EnemyTemplateController etc)
    {
        this.etc = etc;
        Image     img   = transform.gameObject.GetComponent <Image> ();
        Texture2D decal = Resources.Load <Texture2D> ("Sprites/EnemySprites/" + etc.GetImgFileName());

        if (decal == null)
        {
            Debug.Log("decal is null");
        }
        img.sprite = UnityEngine.Sprite.Create(
            decal,
            new Rect(0, 0, decal.width, decal.height),
            new Vector2(0.5f, 0.5f),
            100f);
        img.color = new Color(img.color.r, img.color.g, img.color.b, 0.5f);     //.a = 0.5f;

        //set size stuff
        RectTransform rt = (RectTransform)transform;
        //figure out how much to scale it by to fit
        float xratio = ((float)decal.width) / etc.maxwidth;
        float yratio = ((float)decal.height) / etc.maxheight;
        float highestratio;

        if (xratio >= yratio)
        {
            highestratio = xratio;
        }
        else
        {
            highestratio = yratio;
        }
        float newWidth  = ((float)decal.width) / highestratio;
        float newHeight = ((float)decal.height) / highestratio;

        Vector3 sizeStuff = new Vector3(newWidth, newHeight, transform.position.z);

        rt.sizeDelta = sizeStuff;
    }