36 {
38 if (!radius)
39 return;
40 array<Object> objects = new array<Object>();
41 array<CargoBase> cargo = new array<CargoBase>();
42
47
49 {
51 }
52
54 array<int> distances = new array<int>();
55
56 foreach (
int x,
Object obj:objects)
57 {
58 int dist = vector.Distance(playerPos, obj.GetPosition()) * 1000;
59
60 while (objectsMap.Contains(dist))
61 dist++;
62 objectsMap.Insert(dist, obj);
63 distances.Insert(dist);
64 }
65
66 distances.Sort();
67
68 foreach (int dst:distances)
69 {
70 Object o = objectsMap.Get(dst);
71 if (!o)
72 continue;
73 int i = 0;
75 {
78 float distanceMeters = dst / 1000;
80 i++;
81
83 {
85 }
86 }
87 }
88
90 }
proto native void GetObjectsAtPosition3D(vector pos, float radius, out array< Object > objects, out array< CargoBase > proxyCargos)
Returns list of all objects in sphere "radius" around position "pos".
proto native vector GetCurrentCameraPosition()
ref array< Object > m_VicinityItems
TextListboxWidget m_VicinityListbox
EditBoxWidget m_DistanceWidget
proto string ToString(bool simple=true)
proto native CGame GetGame()