Open source Star Ruler 2 source code!

This commit is contained in:
Lucas de Vries
2018-07-17 14:15:37 +02:00
commit cc307720ff
4342 changed files with 2365070 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
#pragma once
#include "obj/object.h"
#include "util/refcount.h"
#include "threads.h"
#include <unordered_set>
class Universe : public AtomicRefCounted {
public:
mutable threads::Mutex queueLock;
std::unordered_set<Object*> addQueue;
std::unordered_set<Object*> removeQueue;
mutable threads::ReadWriteMutex childLock;
std::vector<Object*> children;
void doQueued();
void addChild(Object* obj);
void removeChild(Object* obj);
void destroyAll();
Object* getRandomTarget(unsigned randVal = 0);
void setRandomTarget(heldPointer<Object>& targ, unsigned randVal = 0);
void removeTargetsTo(Object* obj);
Object* getClosestOnLine(const line3dd& line) const;
};