示例#1
0
 public void ClearDynamicAds()
 {
     if (EngineConfig.IsEnhancedVersion || EngineConfig.AdManagerDisabled)
     {
         return;
     }
     AdHelper3D.Stop_Time();
     AdHelper3D.Clear();
 }
示例#2
0
        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)
            {
            }
        }
示例#3
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);
        }
示例#4
0
        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);
        }