Скрипт, передающий инфу
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class MapIcon_1 : MonoBehaviour {
GameObject map;
public Vector3 plPosition;
// Use this for initialization
void Start () {
map=GameObject.FindGameObjectWithTag("Map");
}
// Update is called once per frame
void Update () {
map.GetComponent<MapIcon>().Position(transform.position);
}
}
using System.Collections;
public class MapIcon_1 : MonoBehaviour {
GameObject map;
public Vector3 plPosition;
// Use this for initialization
void Start () {
map=GameObject.FindGameObjectWithTag("Map");
}
// Update is called once per frame
void Update () {
map.GetComponent<MapIcon>().Position(transform.position);
}
}
Скрипт, принимающий инфу
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class MapIcon : MonoBehaviour {
public Texture text;
public Vector3 plPosition;
// Use this for initialization
void Start () {
}
public void Position(Vector3 pos)
{
plPosition=pos;
}
// Update is called once per frame
void Update () {
}
void OnGUI() {
GUI.DrawTexture(new Rect(plPosition.x/10, plPosition.z/10, 60, 60), text);
}
}
using System.Collections;
public class MapIcon : MonoBehaviour {
public Texture text;
public Vector3 plPosition;
// Use this for initialization
void Start () {
}
public void Position(Vector3 pos)
{
plPosition=pos;
}
// Update is called once per frame
void Update () {
}
void OnGUI() {
GUI.DrawTexture(new Rect(plPosition.x/10, plPosition.z/10, 60, 60), text);
}
}
Все хорошо работает. Но как сделать, чтобы этот объект принимал параметры не от одного, а например от двух объектов и соответственно рисовал 2 текстуры? Была идея как-то реализовать через List, но я не могу сформулировать и понять, как это сделать) P.S. надо как-то сделать Лист позиций и рисовать текстурку через цикл. Вот только как сделать этот Лист?(
P.P.S. написал этот пост, мне стало стыдно, что я такой неумный, допер сам) Если кому то надо то вот
Отправляем инфу
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class MapIcon_1 : MonoBehaviour {
GameObject map;
public int i;
public Vector3 plPosition;
// Use this for initialization
void Start () {
map=GameObject.FindGameObjectWithTag("Map");
i=map.GetComponent<MapIcon>().Add(transform.position);
}
// Update is called once per frame
void Update () {
map.GetComponent<MapIcon>().Position(transform.position,i);
}
}
using System.Collections;
public class MapIcon_1 : MonoBehaviour {
GameObject map;
public int i;
public Vector3 plPosition;
// Use this for initialization
void Start () {
map=GameObject.FindGameObjectWithTag("Map");
i=map.GetComponent<MapIcon>().Add(transform.position);
}
// Update is called once per frame
void Update () {
map.GetComponent<MapIcon>().Position(transform.position,i);
}
}
Принимаем инфу и рисуем текстурки
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class MapIcon : MonoBehaviour {
public Texture text;
public List<Vector3> plPositon;
// Use this for initialization
public int Add(Vector3 pos)
{
plPositon.Add(pos);
return plPositon.Count;
}
public void Position(Vector3 pos,int i)
{
plPositon[i-1]=pos;
}
// Update is called once per frame
void OnGUI() {
for(int i=0;i<plPositon.Count;i++)
{
GUI.DrawTexture(new Rect(plPositon[i].x/2000f*150f,-plPositon[i].z/2000f*150f+150, 6, 6), text);
}
}
}
using System.Collections;
using System.Collections.Generic;
public class MapIcon : MonoBehaviour {
public Texture text;
public List<Vector3> plPositon;
// Use this for initialization
public int Add(Vector3 pos)
{
plPositon.Add(pos);
return plPositon.Count;
}
public void Position(Vector3 pos,int i)
{
plPositon[i-1]=pos;
}
// Update is called once per frame
void OnGUI() {
for(int i=0;i<plPositon.Count;i++)
{
GUI.DrawTexture(new Rect(plPositon[i].x/2000f*150f,-plPositon[i].z/2000f*150f+150, 6, 6), text);
}
}
}
Единственный вопрос - будут ли такие скрипты сильно грузить систему?)