Beispiel #1
0
    // Use this for initialization
    public ServerQuests()
    {
        functionName = "Quests";
        // Database tables name
        tableName = "quests";
        functionTitle = "Quests Configuration";
        loadButtonLabel = "Load Quests";
        notLoadedText = "No Quest loaded.";
        // Init
        dataRegister = new Dictionary<int, QuestsData> ();

        editingDisplay = new QuestsData ();
        originalDisplay = new QuestsData ();
    }
    public override void RebuildFromData(ObjectData objectData)
    {
        QuestsData   questsData   = (QuestsData)objectData;
        QuestManager questManager = (QuestManager)entityManager;

        CallAfterSceneLoaded(delegate()
        {
            foreach (Quest quest in questManager.GetQuests())
            {
                foreach (Quest.SerializableQuest serializedQuest in questsData.quests)
                {
                    if (serializedQuest.localIdInFile == Helper.GetObjectLocalIdInFile(quest))
                    {
                        PrepareDataForEntity(quest, delegate()
                        {
                            quest.RebuildFromSerializableQuest(serializedQuest);
                        });
                    }
                }
            }
        });
    }
    void OnEnable()
    {
        userData = GameObject.Find("UserData").GetComponent <UserData>();
        Quests   = userData.GetComponent <UserData>().ggData.quests;
        content  = transform.Find("Scroll View/Viewport/Content");

        //удаляем старые дочерние объекты для отрисовки актуального списка
        foreach (Transform child in content)
        {
            Destroy(child.gameObject);
        }

        //добавляем активные
        for (int i = 0; i < Quests.QuestList.Count; i++)
        {
            if (Quests.QuestList[i].status == Quest.Status.ACTIVE)
            {
                GenerateButton(i);
            }
        }

        //добавляем разделитель, если есть хоть один активный квест
        if (content.childCount >= 1)
        {
            GameObject sep = Instantiate(LineImage, transform.position, Quaternion.identity) as GameObject;
            sep.transform.SetParent(content, false);
        }

        //добавляем выполненные
        for (int i = 0; i < Quests.QuestList.Count; i++)
        {
            if (Quests.QuestList[i].status == Quest.Status.DONE)
            {
                GenerateButton(i);
            }
        }
    }
 public GGData()
 {
     quests = new QuestsData();
 }
Beispiel #5
0
    void LoadQuestObjectives(QuestsData questData)
    {
        // Read all entries from the table
        string query = "SELECT * FROM " + "quest_objectives" + " where questID = " + questData.id;

        // If there is a row, clear it.
        if (rows != null)
            rows.Clear ();

        // Load data
        rows = DatabasePack.LoadData (DatabasePack.contentDatabasePrefix, query);
        //Debug.Log("#Rows:"+rows.Count);
        // Read all the data
        if ((rows!=null) && (rows.Count > 0)) {
            foreach (Dictionary<string,string> data in rows) {
                QuestsObjectivesData entry = new QuestsObjectivesData ();

                entry.id = int.Parse (data ["id"]);
                entry.objectiveType = data ["objectiveType"];
                entry.target = int.Parse (data ["target"]);
                entry.targetCount = int.Parse (data ["targetCount"]);
                entry.targetText = data ["targetText"];
                questData.questObjectives.Add(entry);
            }
        }
    }
Beispiel #6
0
    // Edit or Create
    public override void DrawEditor(Rect box, bool newItem)
    {
        // Setup the layout
        Rect pos = box;
        pos.x += ImagePack.innerMargin;
        pos.y += ImagePack.innerMargin;
        pos.width -= ImagePack.innerMargin;
        pos.height = ImagePack.fieldHeight;

        if (!linkedTablesLoaded) {
            LoadFactionOptions();
            LoadQuestOptions();
            LoadAspectOptions();
            LoadSkillOptions();
            LoadItemList ();
            LoadMobList();
            objectiveTypeOptions = ServerOptionChoices.LoadAtavismChoiceOptions("Quest Objective Type", false);
            raceOptions = ServerOptionChoices.LoadAtavismChoiceOptions("Race", true);
            linkedTablesLoaded = true;
        }

        // Draw the content database info

        if (newItem) {
            ImagePack.DrawLabel (pos.x, pos.y, "Create a new Quest");
            pos.y += 1f*ImagePack.fieldHeight;
        }
        pos.y += 0.5f*ImagePack.fieldHeight;

        editingDisplay.name = ImagePack.DrawField (pos, "Name:", editingDisplay.name, 0.75f);
        pos.y += ImagePack.fieldHeight;
        GUI.Label (pos, "Description:", ImagePack.FieldStyle ());
        pos.height *= 2;
        descriptionScroll = GUI.BeginScrollView(pos, descriptionScroll, new Rect(0, 0, pos.width * 0.75f, 100));
        editingDisplay.description = GUI.TextArea (new Rect (115, 0, pos.width * 0.75f, 100), editingDisplay.description, ImagePack.TextAreaStyle ());
        //editingDisplay.description = ImagePack.DrawField (new Rect(0, 0, pos.width * 0.75f, 200), "Description:", editingDisplay.description, 0.75f, 50);
        GUI.EndScrollView();
        pos.y += 2.2f*ImagePack.fieldHeight;
        pos.height /= 2;
        GUI.Label (pos, "Objective Text:", ImagePack.FieldStyle ());
        pos.height *= 2;
        objectiveScroll = GUI.BeginScrollView(pos, objectiveScroll, new Rect(0, 0, pos.width * 0.75f, 100));
        editingDisplay.objectiveText = GUI.TextArea (new Rect (115, 0, pos.width * 0.75f, 100), editingDisplay.objectiveText, ImagePack.TextAreaStyle ());
        GUI.EndScrollView();
        pos.height /= 2;
        pos.y += 2.2f*ImagePack.fieldHeight;
        GUI.Label (pos, "Progress Text:", ImagePack.FieldStyle ());
        pos.height *= 2;
        progressScroll = GUI.BeginScrollView(pos, progressScroll, new Rect(0, 0, pos.width * 0.75f, 100));
        editingDisplay.progressText = GUI.TextArea (new Rect (115, 0, pos.width * 0.75f, 100), editingDisplay.progressText, ImagePack.TextAreaStyle ());
        GUI.EndScrollView();
        pos.height /= 2;
        pos.y += 2.2f*ImagePack.fieldHeight;
        GUI.Label (pos, "Completion Text:", ImagePack.FieldStyle ());
        pos.height *= 2;
        completionScroll = GUI.BeginScrollView(pos, completionScroll, new Rect(0, 0, pos.width * 0.75f, 100));
        editingDisplay.completionText = GUI.TextArea (new Rect (115, 0, pos.width * 0.75f, 100), editingDisplay.completionText, ImagePack.TextAreaStyle ());
        GUI.EndScrollView();
        pos.height /= 2;
        pos.y += 2.2f*ImagePack.fieldHeight;
        pos.width /= 2;
        //editingDisplay.category = ImagePack.DrawField (pos, "Category:", editingDisplay.category);
        //pos.x += pos.width;
        editingDisplay.faction = ImagePack.DrawField (pos, "Faction:", editingDisplay.faction);
        pos.x += pos.width;
        editingDisplay.level = ImagePack.DrawField (pos, "Level:", editingDisplay.level);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        editingDisplay.chain = ImagePack.DrawField (pos, "Chain:", editingDisplay.chain);
        pos.x += pos.width;
        //editingDisplay.zone = ImagePack.DrawField (pos, "Zone:", editingDisplay.zone);
        //pos.x += pos.width;
        //editingDisplay.numGrades = ImagePack.DrawField (pos, "Num. Grades:", editingDisplay.numGrades);
        //pos.x += pos.width;
        editingDisplay.repeatable = ImagePack.DrawToggleBox (pos, "Is Repeatable?", editingDisplay.repeatable);
        pos.x -= pos.width;
        //pos.x -= 2*pos.width;
        pos.width *= 2;
        pos.y += 1.5f*ImagePack.fieldHeight;
        ImagePack.DrawLabel (pos.x, pos.y, "Items Given");
        pos.y += 1.5f*ImagePack.fieldHeight;
        pos.width /= 2;
        int selectedItem = GetPositionOfItem(editingDisplay.deliveryItem1);
        selectedItem = ImagePack.DrawSelector (pos, "Item 1:", selectedItem, itemsList);
        editingDisplay.deliveryItem1 = itemIds[selectedItem];
        pos.x += pos.width;
        selectedItem = GetPositionOfItem(editingDisplay.deliveryItem2);
        selectedItem = ImagePack.DrawSelector (pos, "Item 2:", selectedItem, itemsList);
        editingDisplay.deliveryItem2 = itemIds[selectedItem];
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.deliveryItem3);
        selectedItem = ImagePack.DrawSelector (pos, "Item 3:", selectedItem, itemsList);
        editingDisplay.deliveryItem3 = itemIds[selectedItem];
        pos.width *= 2;
        pos.y += 1.5f*ImagePack.fieldHeight;
        ImagePack.DrawLabel (pos.x, pos.y, "Quest Prerequisites");
        pos.y += 1.5f*ImagePack.fieldHeight;
        //pos.width *= 3;
        pos.width /= 2;
        int selectedQuest = GetPositionOfSkill (editingDisplay.questPrereq);
        selectedQuest = ImagePack.DrawSelector (pos, "Quest Completed:", selectedQuest, questOptions);
        editingDisplay.questPrereq = skillIds [selectedQuest];
        pos.x += pos.width;
        selectedQuest = GetPositionOfSkill (editingDisplay.questStartedReq);
        selectedQuest = ImagePack.DrawSelector (pos, "Quest Started:", selectedQuest, questOptions);
        editingDisplay.questStartedReq = skillIds [selectedQuest];
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        editingDisplay.levelReq = ImagePack.DrawField (pos, "Level:", editingDisplay.levelReq);
        pos.y += ImagePack.fieldHeight;
        editingDisplay.raceReq = ImagePack.DrawSelector (pos, "Race:", editingDisplay.raceReq, raceOptions);
        pos.x += pos.width;
        editingDisplay.aspectReq = ImagePack.DrawSelector (pos, "Class:", editingDisplay.aspectReq, aspectOptions);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        int selectedSkill = GetPositionOfSkill (editingDisplay.skillReq);
        selectedSkill = ImagePack.DrawSelector (pos, "Skill:", selectedSkill, skillOptions);
        editingDisplay.skillReq = skillIds [selectedSkill];
        pos.x += pos.width;
        editingDisplay.skillLevelReq = ImagePack.DrawField (pos, "Skill Level:", editingDisplay.skillLevelReq);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        int factionID = GetPositionOfFaction(editingDisplay.repReq);
        factionID = ImagePack.DrawSelector (pos, "Faction:", factionID, factionOptions);
        editingDisplay.repReq = factionIds[factionID];
        pos.x += pos.width;
        int selectedStance = GetPositionOfStance(editingDisplay.repLevelReq);
        selectedStance = ImagePack.DrawSelector (pos, "Stance:", selectedStance, FactionData.stanceOptions);
        editingDisplay.repLevelReq = FactionData.stanceValues[selectedStance];
        pos.x -= pos.width;
        pos.width *= 2;

        pos.y += 1.5f*ImagePack.fieldHeight;
        ImagePack.DrawLabel (pos. x, pos.y, "Objectives");
        pos.y += ImagePack.fieldHeight;
        /*if (editingDisplay.questObjectives.Count == 0) {
            editingDisplay.questObjectives.Add(new QuestsObjectivesData());
        }*/
        for (int i = 0; i < editingDisplay.questObjectives.Count; i++) {
            pos.width /= 2;
            editingDisplay.questObjectives[i].objectiveType = ImagePack.DrawSelector (pos, "Type " + (i+1) + ":",
                editingDisplay.questObjectives[i].objectiveType, objectiveTypeOptions);
            pos.x += pos.width;
            if (editingDisplay.questObjectives[i].objectiveType == "item") {
                selectedItem = GetPositionOfItem(editingDisplay.questObjectives[i].target);
                selectedItem = ImagePack.DrawSelector (pos, "Target " + (i+1) + ":", selectedItem, itemsList);
                editingDisplay.questObjectives[i].target = itemIds[selectedItem];
            } else if (editingDisplay.questObjectives[i].objectiveType == "mob") {
                int selectedMob = GetPositionOfMob(editingDisplay.questObjectives[i].target);
                selectedMob = ImagePack.DrawSelector (pos, "Target " + (i+1) + ":", selectedMob, mobList);
                editingDisplay.questObjectives[i].target = mobIds[selectedMob];
            }
            pos.x -= pos.width;
            pos.y += ImagePack.fieldHeight;
            editingDisplay.questObjectives[i].targetCount = ImagePack.DrawField (pos, "Count:", editingDisplay.questObjectives[i].targetCount);
            pos.y += ImagePack.fieldHeight;
            pos.width *= 2;
            editingDisplay.questObjectives[i].targetText = ImagePack.DrawField (pos, "Text:", editingDisplay.questObjectives[i].targetText, 1.4f);
            pos.width /= 2;
            pos.y += ImagePack.fieldHeight;
            pos.x += pos.width;
            if (ImagePack.DrawButton (pos.x, pos.y, "Delete Objective")) {
                if (editingDisplay.questObjectives[i].id > 0)
                    editingDisplay.objectivesToBeDeleted.Add(editingDisplay.questObjectives[i].id);
                editingDisplay.questObjectives.RemoveAt(i);
            }
            pos.x -= pos.width;
            pos.width *= 2;
            pos.y += ImagePack.fieldHeight;
        }
        if (ImagePack.DrawButton (pos.x, pos.y, "Add Objective")) {
            editingDisplay.questObjectives.Add(new QuestsObjectivesData());
        }

        pos.y += 1.5f*ImagePack.fieldHeight;
        ImagePack.DrawLabel (pos. x, pos.y, "Rewards");
        pos.y += ImagePack.fieldHeight;

        pos.width /= 2;
        editingDisplay.experience = ImagePack.DrawField (pos, "Experience:", editingDisplay.experience);
        //pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.item1);
        selectedItem = ImagePack.DrawSelector (pos, "Item 1:", selectedItem, itemsList);
        editingDisplay.item1 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.item1count = ImagePack.DrawField (pos, "Count:", editingDisplay.item1count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.item2);
        selectedItem = ImagePack.DrawSelector (pos, "Item 2:", selectedItem, itemsList);
        editingDisplay.item2 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.item2count = ImagePack.DrawField (pos, "Count:", editingDisplay.item2count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.item3);
        selectedItem = ImagePack.DrawSelector (pos, "Item 3:", selectedItem, itemsList);
        editingDisplay.item3 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.item3count = ImagePack.DrawField (pos, "Count:", editingDisplay.item3count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.item4);
        selectedItem = ImagePack.DrawSelector (pos, "Item 4:", selectedItem, itemsList);
        editingDisplay.item4 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.item4count = ImagePack.DrawField (pos, "Count:", editingDisplay.item4count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.chooseItem1);
        selectedItem = ImagePack.DrawSelector (pos, "Item Choice 1:", selectedItem, itemsList);
        editingDisplay.chooseItem1 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.chooseItem1count = ImagePack.DrawField (pos, "Count:", editingDisplay.chooseItem1count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.chooseItem2);
        selectedItem = ImagePack.DrawSelector (pos, "Item Choice 2:", selectedItem, itemsList);
        editingDisplay.chooseItem2 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.chooseItem2count = ImagePack.DrawField (pos, "Count:", editingDisplay.chooseItem2count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.chooseItem3);
        selectedItem = ImagePack.DrawSelector (pos, "Item Choice 3:", selectedItem, itemsList);
        editingDisplay.chooseItem3 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.chooseItem3count = ImagePack.DrawField (pos, "Count:", editingDisplay.chooseItem3count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        selectedItem = GetPositionOfItem(editingDisplay.chooseItem4);
        selectedItem = ImagePack.DrawSelector (pos, "Item Choice 4:", selectedItem, itemsList);
        editingDisplay.chooseItem4 = itemIds[selectedItem];
        pos.x += pos.width;
        editingDisplay.chooseItem4count = ImagePack.DrawField (pos, "Count:", editingDisplay.chooseItem4count);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        //editingDisplay.currency = ImagePack.DrawField (pos, "Currency:", editingDisplay.currency);
        //pos.x += pos.width;
        //editingDisplay.currencyCount = ImagePack.DrawField (pos, "Count:", editingDisplay.currencyCount);
        //pos.x -= pos.width;
        //		pos.y += ImagePack.fieldHeight;
        //		editingDisplay.currency2 = ImagePack.DrawField (pos, "currency 2:", editingDisplay.currency2);
        //		pos.x += pos.width;
        //		editingDisplay.currency2count = ImagePack.DrawField (pos, "Count:", editingDisplay.currency2count);
        //		pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        factionID = GetPositionOfFaction(editingDisplay.rep1);
        factionID = ImagePack.DrawSelector (pos, "Faction 1:", factionID, factionOptions);
        editingDisplay.rep1 = factionIds[factionID];
        pos.x += pos.width;
        editingDisplay.rep1gain = ImagePack.DrawField (pos, "Rep:", editingDisplay.rep1gain);
        pos.x -= pos.width;
        pos.y += ImagePack.fieldHeight;
        factionID = GetPositionOfFaction(editingDisplay.rep2);
        factionID = ImagePack.DrawSelector (pos, "Faction 2:", factionID, factionOptions);
        editingDisplay.rep2 = factionIds[factionID];
        pos.x += pos.width;
        editingDisplay.rep2gain = ImagePack.DrawField (pos, "Rep:", editingDisplay.rep2gain);
        pos.x -= pos.width;
        pos.width *= 2;

        // Save data
        pos.x -= ImagePack.innerMargin;
        pos.y += 1.4f * ImagePack.fieldHeight;
        pos.width /= 3;
        if (ImagePack.DrawButton (pos.x, pos.y, "Save Data")) {
            if (newItem)
                InsertEntry ();
            else
                UpdateEntry ();

            state = State.Loaded;
        }

        // Delete data
        if (!newItem) {
            pos.x += pos.width;
            if (ImagePack.DrawButton (pos.x, pos.y, "Delete Data")) {
                DeleteEntry ();
                newSelectedDisplay = 0;
                state = State.Loaded;
            }
        }

        // Cancel editing
        pos.x += pos.width;
        if (ImagePack.DrawButton (pos.x, pos.y, "Cancel")) {
            editingDisplay = originalDisplay.Clone();
            if (newItem)
                state = State.New;
            else
                state = State.Loaded;
        }

        if (resultTimeout != -1 && resultTimeout > Time.realtimeSinceStartup) {
            pos.y += ImagePack.fieldHeight;
            ImagePack.DrawText(pos, result);
        }

        EnableScrollBar(pos.y - box.y + 2*ImagePack.fieldHeight);
    }
Beispiel #7
0
 public override void CreateNewData()
 {
     editingDisplay = new QuestsData ();
     originalDisplay = new QuestsData ();
     selectedDisplay = -1;
 }
Beispiel #8
0
    // Load Database Data
    public override void Load()
    {
        if (!dataLoaded) {
            // Clean old data
            dataRegister.Clear ();
            displayKeys.Clear ();

            // Read all entries from the table
            string query = "SELECT * FROM " + tableName;

            // If there is a row, clear it.
            if (rows != null)
                rows.Clear ();

            // Load data
            rows = DatabasePack.LoadData (DatabasePack.contentDatabasePrefix, query);
            //Debug.Log("#Rows:"+rows.Count);
            // Read all the data
            if ((rows!=null) && (rows.Count > 0)) {
                foreach (Dictionary<string,string> data in rows) {
                    //foreach(string key in data.Keys)
                    //	Debug.Log("Name[" + key + "]:" + data[key]);
                    //return;
                    QuestsData display = new QuestsData ();

                    display.id = int.Parse (data ["id"]);
                    display.name = data ["name"];

                    display.category = int.Parse (data ["category"]);
                    display.faction = int.Parse (data ["faction"]);
                    display.chain = data ["chain"];
                    display.level = int.Parse (data ["level"]);
                    display.zone = data ["zone"];
                    display.numGrades = int.Parse (data ["numGrades"]);
                    display.repeatable = bool.Parse (data ["repeatable"]);
                    display.description = data ["description"];
                    display.objectiveText = data ["objectiveText"];
                    display.progressText = data ["progressText"];
                    display.deliveryItem1 = int.Parse (data ["deliveryItem1"]);
                    display.deliveryItem2 = int.Parse (data ["deliveryItem2"]);
                    display.deliveryItem3 = int.Parse (data ["deliveryItem3"]);
                    display.questPrereq = int.Parse (data ["questPrereq"]);
                    display.questStartedReq = int.Parse (data ["questStartedReq"]);
                    display.levelReq = int.Parse (data ["levelReq"]);
                    display.raceReq = data ["raceReq"];
                    display.aspectReq = data ["aspectReq"];
                    display.skillReq = int.Parse (data ["skillReq"]);
                    display.skillLevelReq = int.Parse (data ["skillLevelReq"]);
                    display.repReq = int.Parse (data ["repReq"]);
                    display.repLevelReq = int.Parse (data ["repLevelReq"]);
                    display.completionText = data ["completionText"];
                    display.experience = int.Parse (data ["experience"]);
                    display.item1 = int.Parse (data ["item1"]);
                    display.item1count = int.Parse (data ["item1count"]);
                    display.item2 = int.Parse (data ["item2"]);
                    display.item2count = int.Parse (data ["item2count"]);
                    display.item3 = int.Parse (data ["item3"]);
                    display.item3count = int.Parse (data ["item3count"]);
                    display.item4 = int.Parse (data ["item4"]);
                    display.item4count = int.Parse (data ["item4count"]);
                    display.chooseItem1 = int.Parse (data ["chooseItem1"]);
                    display.chooseItem1count = int.Parse (data ["chooseItem1count"]);
                    display.chooseItem2 = int.Parse (data ["chooseItem2"]);
                    display.chooseItem2count = int.Parse (data ["chooseItem2count"]);
                    display.chooseItem3 = int.Parse (data ["chooseItem3"]);
                    display.chooseItem3count = int.Parse (data ["chooseItem3count"]);
                    display.chooseItem4 = int.Parse (data ["chooseItem4"]);
                    display.chooseItem4count = int.Parse (data ["chooseItem4count"]);
                    display.currency = int.Parse (data ["currency1"]);
                    display.currencyCount = int.Parse (data ["currency1count"]);
                    display.currency2 = int.Parse (data ["currency2"]);
                    display.currency2count = int.Parse (data ["currency2count"]);
                    display.rep1 = int.Parse (data ["rep1"]);
                    display.rep1gain = int.Parse (data ["rep1gain"]);
                    display.rep2 = int.Parse (data ["rep2"]);
                    display.rep2gain = int.Parse (data ["rep2gain"]);

                    display.isLoaded = true;
                    //Debug.Log("Name:" + display.name  + "=[" +  display.id  + "]");
                    dataRegister.Add (display.id, display);
                    displayKeys.Add (display.id);
                }
                LoadSelectList ();
            }
            dataLoaded = true;
        }
        foreach(QuestsData questData in dataRegister.Values) {
            LoadQuestObjectives(questData);
        }
    }
Beispiel #9
0
    // Draw the loaded list
    public override void DrawLoaded(Rect box)
    {
        breadCrumb = "";

        // Setup the layout
        Rect pos = box;
        pos.x += ImagePack.innerMargin;
        pos.y += ImagePack.innerMargin;
        pos.width -= ImagePack.innerMargin;
        pos.height = ImagePack.fieldHeight;

        if (dataRegister.Count <= 0) {
            pos.y += ImagePack.fieldHeight;
            ImagePack.DrawLabel (pos.x, pos.y, "You must create a Quest before edit it.");
            return;
        }

        // Draw the content database info
        ImagePack.DrawLabel (pos.x, pos.y, "Quests Configuration");

        if (newItemCreated) {
            newItemCreated = false;
            LoadSelectList ();
            newSelectedDisplay = displayKeys.Count - 1;
        }

        // Draw data Editor
        if (newSelectedDisplay != selectedDisplay) {
            selectedDisplay = newSelectedDisplay;
            int displayKey = displayKeys [selectedDisplay];
            editingDisplay = dataRegister [displayKey];
            originalDisplay = editingDisplay.Clone();
        }

        //if (!displayList.showList) {
            pos.y += ImagePack.fieldHeight;
            pos.x -= ImagePack.innerMargin;
            pos.y -= ImagePack.innerMargin;
            pos.width += ImagePack.innerMargin;
            DrawEditor (pos, false);
            pos.y -= ImagePack.fieldHeight;
            //pos.x += ImagePack.innerMargin;
            pos.y += ImagePack.innerMargin;
            pos.width -= ImagePack.innerMargin;
        //}

        if (state != State.Loaded) {
            // Draw combobox
            pos.width /= 2;
            pos.x += pos.width;
            newSelectedDisplay = ImagePack.DrawCombobox (pos, "", selectedDisplay, displayList);
            pos.x -= pos.width;
            pos.width *= 2;
        }
    }