public void ClearDynamicAds() { if (EngineConfig.IsEnhancedVersion || EngineConfig.AdManagerDisabled) { return; } AdHelper3D.Stop_Time(); AdHelper3D.Clear(); }
private AdManager() { if (EngineConfig.IsEnhancedVersion || EngineConfig.AdManagerDisabled) { return; } timer.Reset(); adAction = new CommercialAdAction(); adHelper3D = new AdHelper3D(0.02f, 80, 2000, 2); int result = AdAction.Init(C_AD_KEY, C_ADS_DIR, C_CONNECT_TIMEOUT); if (result == 0) { } }
/// <summary> /// Czy reklama dynamiczna jest widoczna z punktu widzenia API ? (czy spelnia wymagania) /// </summary> /// <param name="quadrangle3D"></param> /// <returns></returns> public bool IsDynamicAdVisible(AdQuadrangle3D quadrangle3D) { if (EngineConfig.AdManagerDisabled) { return(camera.IsVisible(quadrangle3D.GetAdNode().GetAttachedObject(0).BoundingBox)); } if (EngineConfig.IsEnhancedVersion /* || EngineConfig.AdManagerDisabled*/) { return(false); } int corners; float angle, area, timer; bool visible = AdHelper3D.Get_Ad_State(quadrangle3D.GetBillboardId(), out corners, out angle, out area, out timer); // Console.WriteLine(area + " " + timer + " " + angle + " " + corners); return(visible); }
public AdQuadrangle3D AddDynamicAd(SceneManager sceneMgr, int id, Vector3 origin, Vector2 size, bool isPersistent) { if (EngineConfig.IsEnhancedVersion) { return(null); } Ad outAd = ads.Find(delegate(Ad ad) { return(ad.id.Equals(id)); }); LoadAdTexture(outAd); Quadrangle q = new Quadrangle(new PointD(0, 0), size.x, size.y); AdQuadrangle3D q3d = new AdQuadrangle3D(sceneMgr, outAd, isPersistent); q3d.SetCorners3D(q, origin, outAd.path); float[][] corners = q3d.GetCorners3DArray(); int billboardId; if (!EngineConfig.AdManagerDisabled) { billboardId = AdHelper3D.Add_Ad(id, corners[0][0], corners[0][1], corners[0][2], corners[1][0], corners[1][1], corners[1][2], corners[2][0], corners[2][1], corners[2][2] ); AdHelper3D.Start_Time(); } else { billboardId = DateTime.Now.Millisecond; } q3d.SetBillboardId(billboardId); return(q3d); }