@Tymon <przeciera oczy> czy Ty popełniłeś ECS w prehistorycznym GMie?
ENTITY
Przy użyciu dadaj_obiekt zarządzasz tablicą stringów, którą wykorzystujesz potem jak tablicę wskaźników.
if obiekty[a] = string(object_get_name(i.object_index))
COMPONENT
//Lista zmiennych obiektow (wszystkich) do zapisania:
dodaj_zmienna('x',0);
dodaj_zmienna('y',0);
dodaj_zmienna('sprite_index',0);
dodaj_zmienna('image_index',0);
dodaj_zmienna('direction',0);
SYSTEM
for(n=0;n<instance_count;n+=1;)
{
i = instance_id[n];
if instance_exists(i)
{
for(a=0;a<obiekty_n;a+=1;)
{
if obiekty[a] = string(object_get_name(i.object_index))
{
file_write_string('['+string(object_get_name(i.object_index))+';');
for(b=0;b<zmienne_n;b+=1;)
{
dd=false;
if zmienne[b,1] != '0'
{
if zmienne[b,1] != string(object_get_name(i.object_index))
{
dd=true;
}
}
if dd=false
{
execute_string('val = i.'+string(zmienne[b,0])+';');
if is_string(val)
{
val = '"'+string(val)+'"';
}
file_write_string(string(zmienne[b,0])+';'+string(val)+';');
}
}
file_write_string(']');
break;
}
}
}
}
to jest Entity Component System 😆😆 😆