void SendLayout(CSharpFramework.Layout.Layout layout) { if (layout == null || _isSDKScene) { return; } VisionGoogleAnalytics.RecordView("/vForge/" + layout.Name); }
/// <summary> /// Constructor /// </summary> public GoogleAnalyticsTracker() { // Send Google analytics VisionGoogleAnalytics.Initialize(); VisionGoogleAnalytics.SendInitialization(); EditorManager.SceneChanged += new SceneChangedEventHandler(EditorManager_SceneChanged); IProject.NewProjectLoaded += new EventHandler(IProject_NewProjectLoaded); EditorManager.ApplicationLayout.ActiveLayoutChanged += new CSharpFramework.Layout.LayoutManager.ActiveLayoutChangedEventHandler(ApplicationLayout_ActiveLayoutChanged); _viewTrackingTimer = new Timer(); _viewTrackingTimer.Interval = 10 * 60 * 1000; _viewTrackingTimer.Tick += new EventHandler(viewTrackingTimer_Tick); _viewTrackingTimer.Enabled = true; _viewTrackingTimer.Start(); }
void CheckSceneStatistics() { if (EditorManager.Scene == null || _isSDKScene) { return; } bool physicsUsed = false; bool aiUsed = false; bool behaviorUsed = false; int scriptedObjectCount = 0; Stack <ShapeBase> TempStack = new Stack <ShapeBase>(); foreach (Layer layer in EditorManager.Scene.Layers) { TempStack.Push(layer.Root); } while (TempStack.Count > 0) { ShapeBase current = TempStack.Pop(); foreach (ShapeBase shape in current.ChildCollection) { TempStack.Push(shape); } if (!physicsUsed && current.Components != null) { if (current.Components.GetComponentByEngineName("vHavokRigidBody") != null) { physicsUsed = true; } if (current.Components.GetComponentByEngineName("vHavokCharacterController") != null) { physicsUsed = true; } if (current.Components.GetComponentByEngineName("vHavokTriggerVolume") != null) { physicsUsed = true; } if (current.Components.GetComponentByEngineName("vHavokRagdoll") != null) { physicsUsed = true; } } if (!aiUsed) { if (current.GetType().Name == "HavokNavMeshShape") { aiUsed = true; } } if (!behaviorUsed && current.Components != null) { if (current.Components.GetComponentByEngineName("vHavokBehaviorComponent") != null) { behaviorUsed = true; } } if (current.Components != null && current.Components.GetComponentByEngineName("VScriptComponent") != null) { scriptedObjectCount++; } } VisionGoogleAnalytics.RecordEvent("Usage", "Havok Products", "Physics", physicsUsed ? 1 : 0); VisionGoogleAnalytics.RecordEvent("Usage", "Havok Products", "Behavior", behaviorUsed ? 1 : 0); VisionGoogleAnalytics.RecordEvent("Usage", "Havok Products", "AI", aiUsed ? 1 : 0); VisionGoogleAnalytics.RecordEvent("Usage", "Builtin", "Scripted Objects", scriptedObjectCount); }