// Start is called before the first frame update void Start() { var cameraObj = GameObject.Find(CAMERA_NAME); camTransform = cameraObj.transform; var scriptObject = cameraObj.AddComponent <ScriptObject>(); scriptObject.IsCamera = true; scriptObject.KeyFrames.Add(KeyFrame.Empty()); scriptObject.Origin = cameraObj.transform.position; scriptObject.ZeroRotation = cameraObj.transform.eulerAngles; CamOrigin = cameraObj.transform.position; CamZeroRot = cameraObj.transform.eulerAngles; gizmo.onSelectObject = trsfrm => { activeObject = trsfrm.gameObject.GetComponent <ScriptObject>(); }; activeObject = scriptObject; scriptObjects.Add(scriptObject); }
void DrawObjectList() { ImGui.SetNextWindowPos(new Vector2(10, 30), ImGuiCond.Once, new Vector2(0.0f, 0.0f)); ImGui.SetNextWindowSize(new Vector2(150, Screen.height - 125), ImGuiCond.Once); ImGui.Begin("Objects", ImGuiWindowFlags.NoSavedSettings); { if (ImGui.Checkbox("Camera View", ref camView)) { ToggleCameraView(); } ImGui.BeginChild("ObjectList", new Vector2(0, -ImGui.GetFrameHeightWithSpacing() * 2), true); { foreach (var obj in scriptObjects) { if (ImGui.Selectable(obj.name, activeObject == obj)) { activeObject = obj; } } } ImGui.EndChild(); if (ImGui.Button("+")) { var sfd = new SelectFileDialog() .SetFilter("Image file\0*.jpg;*.png\0") .SetTitle("Select image") .SetDefaultExt("png") .Show(); if (sfd.IsSucessful) { var gameObJ = new GameObject(); var scriptObj = gameObJ.AddComponent <ScriptObject>(); scriptObj.TextureName = sfd.File; var newKeyframe = KeyFrame.Empty(); newKeyframe.Position = transform.position + transform.rotation * new Vector3(0, 0, 5); newKeyframe.Rotation = transform.eulerAngles; scriptObj.KeyFrames.Add(newKeyframe); scriptObj.Position = newKeyframe.Position; scriptObj.Rotation = newKeyframe.Rotation; scriptObjects.Add(scriptObj); } } } ImGui.End(); }