public void globaltopicsettlement()
    {
        bool flag;

        for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
        {
            if (Cosmos.Instance().Topiclist[i].Depand.Length != 0)
            {
                flag = false;
                for (int j = 0; j < Cosmos.Instance().Topiclist[i].Depand.Length; j++)
                {
                    if (Cosmos.Instance().ActivatedConclusion.FindIndex(x => x.NO == Cosmos.Instance().Topiclist[i].Depand[j]) != -1)
                    {
                        flag = true;
                    }
                }
                if (flag && Cosmos.Instance().Topiclist[i].Discovered == false)
                {
                    Cosmos.Instance().Topiclist[i].Discovered = true;
                }
                Cosmos.Instance().Topiclist[i].Interactable = flag;
            }
        }
        updatealltopic();
    }
    public void displaytopic(string topicID)
    {
        Transform data;
        string    content;

        clearpool();
        gameObject.transform.Find("TitleTopicBar/Text").GetComponent <Text>().text = Cosmos.Instance().searchtopic(topicID);
        int target = -1;

        for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
        {
            if (Cosmos.Instance().Topiclist [i].NO == topicID)
            {
                target = i;
            }
        }
        if (target != -1 && Cosmos.Instance().Topiclist [target].Evidence.Count != 0)
        {
            for (int i = 0; i < Cosmos.Instance().Topiclist [target].Evidence.Count; i++)
            {
                data    = Instantiate(evidenceprefab, gameObject.transform.Find("EvidencePool/LayoutController"));
                content = Cosmos.Instance().searchline(Cosmos.Instance().Topiclist [target].Evidence [i].eviID);
                data.GetComponent <EvidenceTextScript> ().LineID = Cosmos.Instance().Topiclist [target].Evidence [i].eviID;
                data.GetComponent <Text> ().text = content;
                data.Find("SelectText").GetComponent <Text> ().text = content;
                data.GetComponent <Toggle> ().group = data.parent.GetComponent <ToggleGroup>();
            }
        }
    }
    public void deletebuttonevent()
    {
        Transform layout = gameObject.transform.Find("EvidencePool/LayoutController");
        int       target = -1;

        if (currentselect != null)
        {
            for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
            {
                if (Cosmos.Instance().Topiclist [i].NO == currenttopic)
                {
                    target = Cosmos.Instance().Topiclist [i].Evidence.FindIndex(x => x.eviID == currentselect);
                    if (Cosmos.Instance().Topiclist [i].Evidence [target].Activated == true)
                    {
                        print("Error:Current Evidence Acitvated");
                        return;
                    }
                    Cosmos.Instance().Topiclist[i].Evidence.RemoveAt(target);
                }
                //destory the prefab
                for (int j = 0; j < layout.childCount; j++)
                {
                    if (layout.GetChild(j).GetComponent <Toggle> ().isOn)
                    {
                        Destroy(layout.GetChild(j).gameObject);
                    }
                }
            }
        }
    }
    public void formcontent(string NO)
    {
        ArrayList list = new ArrayList();
        Transform data;

        currentdisplay = NO;
        for (int i = 0; i < Cosmos.Instance().worddata.Length; i++)
        {
            if (Cosmos.Instance().worddata[i].FileID == NO)
            {
                list.Add(Cosmos.Instance().worddata[i]);
            }
        }

        FileLinedatatype[] display = (FileLinedatatype[])list.ToArray(typeof(FileLinedatatype));
        //display element
        clearpool();
        for (int i = 0; i < display.Length; i++)
        {
            data = Instantiate(ContentPrefab, gameObject.transform);
            data.GetComponent <Text> ().text = display [i].Content;
            data.Find("SelectText").GetComponent <Text>().text = display [i].Content;
            data.GetComponent <Toggle> ().group            = gameObject.transform.GetComponent <ToggleGroup>();
            data.GetComponent <ContentTextScript>().LineID = display [i].FileID + "-" + display [i].LineID;
        }
    }
Esempio n. 5
0
 void pushdata()
 {
     for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
     {
         if (Cosmos.Instance().Topiclist [i].NO == topicID)
         {
             Cosmos.Instance().Topiclist[i] = topic;
             break;
         }
     }
 }
Esempio n. 6
0
 public void pulldata()
 {
     for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
     {
         if (Cosmos.Instance().Topiclist [i].NO == topicID)
         {
             topic = Cosmos.Instance().Topiclist [i];
             break;
         }
     }
 }
 public void UpdateActiveConclusion()
 {
     Cosmos.Instance().ActivatedConclusion.Clear();
     for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
     {
         for (int j = 0; j < Cosmos.Instance().Topiclist[i].Conclusion.Count; j++)
         {
             if (Cosmos.Instance().Topiclist[i].Conclusion[j].Interactable && Cosmos.Instance().Topiclist[i].Conclusion[j].Activated)
             {
                 Cosmos.Instance().ActivatedConclusion.Add(Cosmos.Instance().Topiclist[i].Conclusion[j]);
             }
         }
     }
     print(Cosmos.Instance().ActivatedConclusion.Count);
 }
Esempio n. 8
0
    public void displaytopic()
    {
        clearpool();
        Transform data;

        for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
        {
            if (Cosmos.Instance().Topiclist [i].Discovered == true)
            {
                data = Instantiate(topicprefab, gameObject.transform);
                data.Find("Text").GetComponent <Text> ().text = Cosmos.Instance().Topiclist [i].Name;
                data.GetComponent <TopicBarScript> ().topicID = Cosmos.Instance().Topiclist [i].NO;
            }
        }
    }
Esempio n. 9
0
 bool searchcondition(string id)
 {
     for (int i = 0; i < topic.Evidence.Count; i++)
     {
         if (topic.Evidence[i].eviID == id && topic.Evidence[i].Activated)
         {
             return(true);
         }
     }
     if (Cosmos.Instance().ActivatedConclusion.FindIndex(x => x.NO == id) != -1)
     {
         return(true);
     }
     return(false);
 }
    public void addevi(string topicID, string eviID)
    {
        Evidencetype evi = new Evidencetype();

        for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
        {
            if (Cosmos.Instance().Topiclist [i].NO == topicID)
            {
                if (Cosmos.Instance().Topiclist [i].Evidence.FindIndex(x => x.eviID == eviID) == -1)
                {
                    evi.eviID     = eviID;
                    evi.Activated = false;
                    Cosmos.Instance().Topiclist[i].Evidence.Add(evi);
                }
                displaytopic(topicID);
                return;
            }
        }
    }
Esempio n. 11
0
    public void SearchWord(string word)
    {
        //GameObject data;
        ArrayList list = new ArrayList();
        Transform data;

        //illegal input fliter
        if (word.Length == 0)
        {
            return;
        }
        //clear searchpool if needed
        clearpool();
        //setup display array
        for (int i = 0; i < Cosmos.Instance().document.Length; i++)
        {
            if (Cosmos.Instance().document [i].Name.IndexOf(word) != -1 && Cosmos.Instance().document[i].Stored == "0")
            {
                list.Add(Cosmos.Instance().document [i]);
            }
        }
        Filedatatype[] display = (Filedatatype[])list.ToArray(typeof(Filedatatype));
        //if no result
        if (display.Length == 0)
        {
            print("no result!");
            return;
        }
        //display element
        for (int i = 0; i < display.Length; i++)
        {
            data = Instantiate(databar, gameObject.transform);
            //change the text
            data.Find("Name").GetComponent <Text>().text        = display [i].Name;
            data.Find("Description").GetComponent <Text>().text = display [i].Description;
            data.GetComponent <DataBar> ().NO    = display [i].NO;
            data.GetComponent <DataBar> ().title = display [i].Name;
        }
    }
Esempio n. 12
0
    public void updateevi()
    {
        Transform temp;

        evilist.Clear();
        for (int i = 0; i < evipanel.childCount; i++)
        {
            Destroy(evipanel.GetChild(i).gameObject);
        }

        if (topic.Evidence.Count == 0)
        {
            //if no evidence
        }
        else
        {
            for (int i = 0; i < topic.Evidence.Count; i++)
            {
                temp = Instantiate(EvidenceText, evipanel);
                temp.GetComponent <Text> ().text = Cosmos.Instance().searchline(topic.Evidence [i].eviID);
                temp.Find("Text").GetComponent <Text> ().text = temp.GetComponent <Text> ().text;
                if (topic.Evidence [i].Activated)
                {
                    temp.GetComponent <Toggle> ().isOn = true;
                }
                temp.name = i.ToString();
                temp.SetSiblingIndex(i);
                evilist.Add(temp);
            }
            foreach (Transform item in evilist)
            {
                item.GetComponent <Toggle> ().onValueChanged.AddListener(ifselect => { eviclickhandler(item, ifselect); });
            }
        }
        gameObject.transform.Find("EvidenceNum").GetComponent <Text>().text = topic.Evidence.Count.ToString();
    }
Esempio n. 13
0
    public void UpdateContradiction()
    {
        Transform contradictiontemp;
        Transform conditiontemp;

        //clear old state
        ContradictionList.Clear();
        Condition.Clear();
        for (int i = 0; i < gameObject.transform.Find("Viewport/Content").childCount; i++)
        {
            Destroy(gameObject.transform.Find("Viewport/Content").GetChild(i).gameObject);
        }
        //scan all topic and all conclusion,form contradictionlist
        for (int i = 0; i < Cosmos.Instance().Topiclist.Length; i++)
        {
            for (int j = 0; j < Cosmos.Instance().Topiclist[i].Conclusion.Count; j++)
            {
                //if conclusion is activated and contradicted
                if (Cosmos.Instance().Topiclist[i].Conclusion[j].Activated && Cosmos.Instance().Topiclist[i].Conclusion[j].Contradicted && Cosmos.Instance().Topiclist[i].Conclusion[j].Interactable)
                {
                    print(i + " " + j);
                    //if contradiction itself is a condition in existed contradiction
                    //if(ContradictionList.FindIndex(x=>x.Condition.FindIndex(y=>y== Cosmos.Instance().Topiclist[i].Conclusion[j].NO) == -1) == -1)
                    if (Condition.FindIndex(x => x == Cosmos.Instance().Topiclist[i].Conclusion[j].NO) == -1)
                    {
                        //add contradiction
                        ContradictionList.Add(Cosmos.Instance().Topiclist[i].Conclusion[j]);
                        //add activated objection condition into conditionlist
                        for (int k = 0; k < Cosmos.Instance().Topiclist[i].Conclusion[j].Objection.Length; k++)
                        {
                            if (Cosmos.Instance().Topiclist[i].Conclusion[j].Objectionmet[k])
                            {
                                for (int l = 0; l < Cosmos.Instance().Topiclist[i].Conclusion[j].Objection[k].Length; l++)
                                {
                                    Condition.Add(Cosmos.Instance().Topiclist[i].Conclusion[j].Objection[k][l]);
                                }
                            }
                        }
                    }
                }
            }
        }
        for (int i = 0; i < ContradictionList.Count; i++)
        {
            contradictiontemp = Instantiate(ContradictPrefab, gameObject.transform.Find("Viewport/Content"));
            contradictiontemp.Find("Title").GetComponent <Text>().text = ContradictionList[i].Name;
            for (int j = 0; j < ContradictionList[i].Objection.Length; j++)
            {
                if (ContradictionList[i].Objectionmet[j])
                {
                    string conditiontexttemp = "";
                    for (int k = 0; k < ContradictionList[i].Objection[j].Length; k++)
                    {
                        conditiontexttemp = conditiontexttemp + ContradictionList[i].Objection[j][k] + "\n";
                    }
                    conditiontemp = Instantiate(ConditionText, contradictiontemp.Find("ConditionList"));
                    conditiontemp.GetComponent <Text>().text = conditiontexttemp;
                }
            }
            ContradictionTransform.Add(contradictiontemp);
        }
    }