Спавн перса по id

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

Спавн перса по id

Сообщение ded 18 июн 2019, 03:22

Всем привет :-bd как сделать Instantiate по id из public class а не из общего списка Cars[]

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CarConteiner : MonoBehaviour
{



[System.Serializable] public class Cars
{
public string id;
public string name;
public GameObject CarMesh;
}

public Cars[] Persons;
public Transform markerMiddle;
public int i;


void Get (){

GameObject inst = (GameObject)Instantiate(Persons[i].CarMesh, markerMiddle.position, Quaternion.identity);
inst.tag = "Player";

}
}
ded
UNец
 
Сообщения: 3
Зарегистрирован: 18 июн 2019, 03:05

Re: Спавн перса по id

Сообщение ~AvA~ 18 июн 2019, 08:44

Ну, я тебе сразу скажу, что вложенный класс в монобех - очень плохая идея.

Нельзя инстанциировать строку, нужен GameObject. У тебя id - это строка. То есть, нужно по твоей логике кода, найти объект по id, и его уже инстанциировать. Из пирведенного куска кода, не понятно к чему там твой ид.
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: Спавн перса по id

Сообщение ded 18 июн 2019, 09:33

~AvA~ писал(а):Ну, я тебе сразу скажу, что вложенный класс в монобех - очень плохая идея.

Нельзя инстанциировать строку, нужен GameObject. У тебя id - это строка. То есть, нужно по твоей логике кода, найти объект по id, и его уже инстанциировать. Из пирведенного куска кода, не понятно к чему там твой ид.


Есть sql база с id перса, когда запускается сцена происходит спавн перса по id полученого из sql
ну а вообще не могу понять, как грамотно сделать спавн перса который есть у игрока в базе, как-то так :-s :-s :-s
Молодой зелёный :)
ded
UNец
 
Сообщения: 3
Зарегистрирован: 18 июн 2019, 03:05

Re: Спавн перса по id

Сообщение ~AvA~ 18 июн 2019, 10:50

А, ммм, тогда у тебя просто должен быть префаб игрока, его споунишь.. а скрипт, который на нём висит (ты его заблаговременно добавил на префаб) - инициируешь этим самым id из базы, чтобы игроков различать.
Профит! )
Аватара пользователя
~AvA~
UNIверсал
 
Сообщения: 396
Зарегистрирован: 17 фев 2015, 13:09

Re: Спавн перса по id

Сообщение ded 18 июн 2019, 13:03

Решено
ded писал(а):
~AvA~ писал(а):Спасибо)


Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CarConteiner : MonoBehaviour
{
public Transform spawn;
public  int id;
private GameObject inst;

        [System.Serializable] public class Cars
        {
                public int carid;
                public string carname;
                public GameObject CarMesh;
        }
        public List<Cars> Persons = new List<Cars>();


public void  Start (){
        GameObject go2 = GameObject.FindWithTag("Player");
        Destroy (go2);
    Get();
}

void  Get (){

        for(int i=0; i<Persons.Count; i++)
        {
        if(Persons[i].carid == id) {
                 
         GameObject inst = (GameObject)Instantiate(Persons[i].CarMesh, spawn.position, Quaternion.identity);
                 inst.tag = "Player";
        }
    }
}
}
ded
UNец
 
Сообщения: 3
Зарегистрирован: 18 июн 2019, 03:05


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20