void UpdateStyle()
        {
            var view    = Control ?? Container;
            var bgColor = (Element as VisualElement)?.BackgroundColor ?? Color.Transparent;

            PaintDrawable    paint    = new PaintDrawable(bgColor.ToAndroid());
            GradientDrawable gradient = new GradientDrawable();

            paint.SetCornerRadius(Forms.Context.ToPixels((double)Element.GetValue(ViewEffect.CornerRadiusProperty)));
            gradient.SetCornerRadius(Forms.Context.ToPixels((double)Element.GetValue(ViewEffect.CornerRadiusProperty)));
            gradient.SetColor(Color.Transparent.ToAndroid());
            gradient.SetOrientation(GradientDrawable.Orientation.LeftRight);
            gradient.SetShape(ShapeType.Rectangle);

            if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
            {
                view.Elevation    = Forms.Context.ToPixels((double)Element.GetValue(ViewEffect.ShadowOffsetYProperty));
                view.TranslationZ = Forms.Context.ToPixels((double)Element.GetValue(ViewEffect.ShadowOffsetYProperty));
            }

            gradient.SetStroke((int)Forms.Context.ToPixels(ViewEffect.GetBorderWidth(Element)), ((Color)Element.GetValue(ViewEffect.BorderColorProperty)).ToAndroid());
            LayerDrawable layer = new LayerDrawable(
                new Drawable[]
            {
                paint, gradient
            });

            view.SetBackground(layer);
        }
Пример #2
0
        public static void Play(IList <iEffect> effectList)
        {
            if (!GameManager.Save.Use5MaoEffect)
            {
                return;
            }
            LifeRun();
            foreach (var item in effectList)
            {
                ViewEffect eff = GetEffect();
                eff.Life = (int)item.Life;

                if (item.Owner == 100100)
                {
                    eff.owner = GameManager.AVGPlayer.SceneEff;
                    eff.SetPos(item.Pos);
                    eff.SetSize(item.Size);
                }
                else
                {
                    if (!GameManager.AVGPlayer.Charactor.ActorList.ContainsKey(item.Owner))
                    {
                        continue;
                    }
                    eff.owner = GameManager.AVGPlayer.Charactor.ActorList[item.Owner];
                    eff.SetPos(item.Pos);
                    eff.SetSize(item.Size * 100);
                }

                AddLiveEffect(eff);
                eff.gameObject.SetActive(true);
                eff.Play(item.Name, true);
            }
        }
Пример #3
0
        private void UpdateStyle()
        {
            var view = Control ?? Container;

            _DefaultMaskToBounds    = view.Layer.MasksToBounds;
            _DefaultBackgroundColor = view.BackgroundColor;

            if (_BorderLayer == null)
            {
                _BorderLayer = new CALayer();
                view.Layer.InsertSublayer(_BorderLayer, 0);
            }
            _BorderLayer.Frame           = new CGRect(CGPoint.Empty, view.Layer.Frame.Size);
            _BorderLayer.BorderWidth     = (nfloat)ViewEffect.GetBorderWidth(Element);
            _BorderLayer.BorderColor     = ViewEffect.GetBorderColor(Element).ToUIColor().CGColor;
            _BorderLayer.CornerRadius    = (nfloat)ViewEffect.GetCornerRadius(Element);
            _BorderLayer.MasksToBounds   = true;
            _BorderLayer.BackgroundColor = view.BackgroundColor.CGColor;

            view.BackgroundColor     = UIColor.Clear;
            view.Layer.ShadowColor   = ViewEffect.GetShadowColor(Element).ToUIColor().CGColor;
            view.Layer.ShadowRadius  = (nfloat)ViewEffect.GetShadowRadius(Element);
            view.Layer.ShadowOpacity = ViewEffect.GetShadowOpacity(Element);
            view.Layer.ShadowOffset  = new CGSize(
                (nfloat)ViewEffect.GetShadowOffsetX(Element),
                (nfloat)ViewEffect.GetShadowOffsetY(Element));

            view.Layer.MasksToBounds = false;

            //Remove default border
            view.Layer.BorderWidth = 0;
            view.Layer.BorderColor = UIColor.Clear.CGColor;

            view.ClipsToBounds = false;
        }
Пример #4
0
 private static void AddLiveEffect(ViewEffect eff)
 {
     if (efflist.Contains(eff))
     {
     }
     else
     {
         efflist.Add(eff);
     }
 }
Пример #5
0
        static int _s_set_Alpha_BeginValue(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                ViewEffect gen_to_be_invoked = (ViewEffect)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.Alpha_BeginValue = (float)LuaAPI.lua_tonumber(L, 2);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(0);
        }
Пример #6
0
        static int _s_set_CanvasGroup(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                ViewEffect gen_to_be_invoked = (ViewEffect)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.CanvasGroup = (UnityEngine.CanvasGroup)translator.GetObject(L, 2, typeof(UnityEngine.CanvasGroup));
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(0);
        }
Пример #7
0
        static int _g_get_ScaleYAnim_Duration(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                ViewEffect gen_to_be_invoked = (ViewEffect)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushnumber(L, gen_to_be_invoked.ScaleYAnim_Duration);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
Пример #8
0
        static int _g_get_CanvasGroup(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                ViewEffect gen_to_be_invoked = (ViewEffect)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.CanvasGroup);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
Пример #9
0
        private void AddRipple()
        {
            var color = ViewEffect.GetTouchFeedbackColor(Element);

            if (color == Color.Default)
            {
                return;
            }

            _color   = color.ToAndroid();
            _color.A = 80;

            _viewOverlay.Foreground = CreateRipple(Color.Accent.ToAndroid());
            _ripple.SetColor(GetPressedColorSelector(_color));
        }
Пример #10
0
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 1)
                {
                    ViewEffect gen_ret = new ViewEffect();
                    translator.Push(L, gen_ret);

                    return(1);
                }
            }
            catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(LuaAPI.luaL_error(L, "invalid arguments to ViewEffect constructor!"));
        }
Пример #11
0
        private void UpdateEffectColor()
        {
            _layer?.Dispose();
            _layer = null;

            var color = ViewEffect.GetTouchFeedbackColor(Element);

            if (color == Color.Default)
            {
                return;
            }
            _alpha = color.A < 1.0 ? 1 : 0.3;

            _layer = new UIView {
                BackgroundColor = color.ToUIColor()
            };
        }
Пример #12
0
        private void UpdateEffectColor()
        {
            var color = ViewEffect.GetTouchFeedbackColor(Element);

            if (color == Color.Default)
            {
                return;
            }

            _color   = color.ToAndroid();
            _color.A = 80;

            if (EnableRipple)
            {
                _ripple.SetColor(GetPressedColorSelector(_color));
            }
        }
Пример #13
0
        protected override void OnAttached()
        {
            try
            {
                if (ViewEffect.IsTapFeedbackColorSet(Element))
                {
                    UpdateTapFeedbackColor();
                }

                if (ViewEffect.IsStyleSet(Element))
                {
                    UpdateStyle();
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("Cannot set property on attached control." + ex);
            }
        }
Пример #14
0
        static int _m_Close(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                ViewEffect gen_to_be_invoked = (ViewEffect)translator.FastGetCSObj(L, 1);



                {
                    DG.Tweening.TweenCallback _callback = translator.GetDelegate <DG.Tweening.TweenCallback>(L, 2);

                    gen_to_be_invoked.Close(_callback);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }