Не совсем понимаю что такое это ваша ссылкаПо ссылке я бы попробовал.
Структуры ж по сути - это массив. Массивы ходят ссылками по-умолчанию. Можно создать структуру в скоупе вызова, и передать ссылку на неё в метод своей структуры, и там уже напрямую в неё и писать.
Не совсем понимаю что такое это ваша ссылка
enum struct MC_Item
{
Function CB_OnDisplay;
Function CB_OnPreview;
int en_test;
}
enum struct MC_PluginId
{
Handle plugin;
Cookie cookie;
Function CB_OnDisplay;
int cores_blacklist;
MC_Item Items;
ArrayList ArItems;
StringMap ItemsMap;
bool Item(char[] item_unique, MC_Item item)
{
return this.ItemsMap.GetArray(item_unique, item, sizeof(item));
}
}
MC_PluginId.Item возвращает бул об успешности получения структуры и записывает её в item.MC_Item item;
if (mcPlugin.Item("unique...", item))
{
// Элемент получили
}
enum struct BeamVec
{
float x;
float y;
float z;
void Init(float _x, float _y, float _z)
{
this.x = _x;
this.y = _y;
this.z = _z;
}
}
enum struct Beams
{
BeamVec from;
BeamVec to;
bool GetBeamFrom(BeamVec result)
{
result = this.from;
return true;
}
}
public void OnPluginStart()
{
BeamVec first;
BeamVec Temp;
first.Init(2.2, 3.4, 66.6);
Temp.Init(4.4, 4.4, 4.4);
Beams beam;
beam.from = first;
// Манипуляция тем что НУЖНО ПОЛУЧИТЬ
BeamVec second;
beam.GetBeamFrom(second);
second.y = 99.9;
PrintToServer("[1] First [%.2f][%.2f][%.2f] Second [%.2f][%.2f][%.2f]", beam.from.x, beam.from.y, beam.from.z, second.x, second.y, second.z);
beam.from = Temp;
PrintToServer("[2] First [%.2f][%.2f][%.2f] Second [%.2f][%.2f][%.2f]", beam.from.x, beam.from.y, beam.from.z, second.x, second.y, second.z);
}
plugin_id.Item("test item").CB_OnPreview