internal void Set(int id) { SandboxObjectData sandboxObjectData = ModuleHead.GetSandboxObjectDataById(GameHead.instance.universeData, id); _components.objectNameLabel.text = sandboxObjectData.name; base.valueReference.set(id); }
private Module SpawnModule(ModuleData moduleData) { if (GameHead.instance.isPreviewOrRuntime) { if (moduleData is SandboxObjectReferenceData || moduleData is SandboxObjectSpawnData) { SandboxObjectData sandboxObjectData = new SandboxObjectData(ModuleHead.GetSandboxObjectDataById(GameHead.instance.universeData, moduleData.id)); sandboxObjectData.position = moduleData.position; sandboxObjectData.rotation = moduleData.rotation; sandboxObjectData.scale = moduleData.scale; moduleData = sandboxObjectData; } } Module prefab = ModuleHead.instance.GetModulePrefab(moduleData.GetType()); GameObject gameObject = Instantiate(prefab.gameObject, base.transform); gameObject.name = moduleData.name; Module instance = gameObject.GetComponent <Module>(); instance.parent = this; _idModuleMap.Add(moduleData.id, instance); instance.PopulateData(moduleData); return(instance); }
internal override void PopulateData(ModuleData moduleData) { _data = (SandboxObjectReferenceData)moduleData; SandboxObjectData sandboxObjectData = ModuleHead.GetSandboxObjectDataById(GameHead.instance.universeData, _data.id); SpawnNestedModules(sandboxObjectData); ApplyData(); }
internal override void Bind(SandboxValue sandboxValue) { base.valueReference = sandboxValue; int id = ((int)sandboxValue.get()); if (id != -1) { SandboxObjectData sandboxObjectData = ModuleHead.GetSandboxObjectDataById(GameHead.instance.universeData, id); _components.objectNameLabel.text = sandboxObjectData.name; } else { _components.objectNameLabel.text = "EMPTY"; } wUITipable.Populate(sandboxValue.id, sandboxValue.description); }
private bool HasChildRecursive(SandboxObjectData sandboxObjectData, int id) { for (int i = 0; i < sandboxObjectData.modules.Count; i++) { if (!(sandboxObjectData.modules[i] is SandboxObjectReferenceData)) { continue; } SandboxObjectReferenceData childSandboxObjectData = (SandboxObjectReferenceData)sandboxObjectData.modules[i]; int childId = childSandboxObjectData.id; if (childId == id) { return(true); } bool overflow = HasChildRecursive(ModuleHead.GetSandboxObjectDataById(GameHead.instance.universeData, childId), id); if (overflow) { return(true); } } return(false); }