проверить, содержит ли строка соответствующее свойство строки - PullRequest
0 голосов
/ 30 апреля 2018

Например, у меня есть эти данные:

P, P, P, B, B, T, T, T, P, P

тогда я получаю это от этого так:

for (int i = 0; i < gametable_history_list.Count; i++)
{
    newString[0] += gametable_history_list[i].r;
    newString[0] += ",";
}
string[] newChars = newString[0].Split(',');

Здесь я хочу определить, есть ли у данных один и тот же символ, например, вот так

if(newChars isnot changing character){

Дисплей: P, P, P

else if(newChars is changing now){

Дисплей: B,B

else if(newChars is changing now){

Дисплей: T,T,T

else if(newChars is changing now){

Дисплей: P,P

Должно быть что-то вроде этого Вывод:

enter image description here

Что я получаю

enter image description here

Моя настоящая проблема заключается в том, что мне нужно transform.localPosition каждые одинаковые данные (P, P, P), тогда, если данные изменяются как (B, B), они должны быть перемещены в другой столбец, который мне нужно переместить оси X и Y.

1 Ответ

0 голосов
/ 30 апреля 2018

Вот (частичный) пример (я понятия не имею, как создать отображаемый текст или как он позиционируется, поэтому я могу настроить только очень простой пример с комментарием, указывающим, как их разместить)

:: Обновление ::

Я нашел ваш предыдущий вопрос и добавил предоставленный вами код вместе с ответом Нанда Гопала в этом ответе

//calling this with "PPPBBTTTPP" yields ["PPP","BB","TT","PP"]
//keep in mind that this is a separate method
//so it should go *outside* the create, initialise, and update methods

string[] GroupString(string inputString){
     string result = " ";
     foreach (var c in inputString)
     {
         result = result + (result.Last() == c ? "" : " ") + c;
     }
     return result.Trim().Split(' ');
}

//the logic for creating your table :

string newString = "";

for (int i = 0; i < gametable_history_list.Count; i++)
{
    newString += gametable_history_list[i].r;
}

string[] groupedString = GroupString(newString);

//you can now iterate over groupedString

for(int x=0; x < groupedString.length; x++)
{
    for(int y=0; y < groupedString[x].length; y++)
    {

        //display groupedString[x] at position determined using X and Y
        //(i don't know how you do this since you did not provide example code for this part)

        //update : assuming your previous question is related : 
        GameObject o = Instantiate(prefab_big_road[0]) as GameObject;
        o.transform.SetParent(pos_big_road[0]);
        o.transform.localScale = Vector3.one;
        //the positioning happens here : 
        o.transform.localPosition=new Vector3 (o.transform.localPosition.x+x,o.transform.localPosition.y+y,o.transform.localPosition.z);

        if (allchars.Contains(playerwinnopairboth))
        {
            o.GetComponent<UISprite>().spriteName = "layout_player_bigline-01";
            NGUITools.SetActive(o, true);
        }
        if (allchars.Contains(bankerwinnopairboth))
        {
            o.GetComponent<UISprite>().spriteName = "layout_banker_bigline-01";
            NGUITools.SetActive(o, true);
        }

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...