• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: 其他
  • 标签: UI  unity  

资源简介

开发的时候 总需要一些临时的弹窗 只用到一次 所以需要有一个能反复调用的通用弹窗 不过需要自己下载dotween插件 因为使用了它里面的动画

资源截图

代码片段和文件信息

/**
 * 弹窗基类
 * 注意:子类需要调用base.Init()进行初始化
 * 包含属性:
 *      1、动画类型
 *      2、动画Ease
 *      3、动画速度
 *      4、默认动画类型
 *      5、默认动画Ease
 *      6、默认动画速度
 *      6、是否显示遮罩
 *      7、遮罩颜色
 *  包含方法:
 *      1、ShowView
 *      2、HideView
 *  使用说明:
 *      可在显示和隐藏前设置动画效果,如:SetAnimType(AnimType.Alpha).SetEase(Ease.InBounce).SetSpeed(0.5f).ShowView();
 */

using System;
using UnityEngine;
using System.Collections;
using DG.Tweening;
using UnityEngine.UI;

public abstract class basePopup : MonoBehaviour {

    /// 
    /// 动画类型
    /// 

    public enum AnimType
    {
        None             //无动画
        Scale            //缩放动画
        Alpha            //淡入淡出动画
        ScaleAndAlpha     //缩放加淡入淡出动画
    }

    /// 
    /// 默认动画类型
    /// 

    public AnimType DefaultAnimType
    {
        set { defaultAnimType = value; }
        get { return defaultAnimType; }
    }

    /// 
    /// 默认动画速度
    /// 

    public float DefaultAnimSpeed
    {
        set { defaultAnimSpeed = value; }
        get { return defaultAnimSpeed; }
    }

    /// 
    /// 默认动画Ease
    /// 

    public Ease DefaultEase
    {
        set { defaultEase = value; }
        get { return defaultEase; }
    }

    /// 
    /// 遮罩颜色
    /// 

    public Color MaskColor
    {
        set { maskColor = value; }
        get { return maskColor; }
    }

    /// 
    /// 是否显示遮罩
    /// 

    public bool IsShowMask
    {
        set { isShowMask = value; }
        get { return isShowMask; }
    }

    /// 
    /// 是否显示在顶层
    /// 

    public bool IsShowTop
    {
        set { isShowTop = value; }
        get { return isShowTop; }
    }
    public bool CanClickMask { get; set; }
    public bool hideNeedSendMsg { get; set; }
    private AnimType defaultAnimType = AnimType.ScaleAndAlpha;
    private float defaultAnimSpeed = 0.3f;
    private Ease defaultEase = Ease.Unset;
    private Color maskColor = new Color(0 0 0 0.3f);
    private bool isShowMask = true;
    private bool isShowTop = true;
    private CanvasGroup group;
    private Gameobject mask;
    private bool isAnim = false;

    private AnimType onceAnimType = AnimType.ScaleAndAlpha;
    private Ease onceEase = Ease.Unset;
    private float onceAnimSpeed = 0.3f;

    /// 
    /// 设置默认动画类型
    /// 

    /// 动画类型
    public void SetDefaultAnimType(AnimType type)
    {
        defaultAnimType = type;
    }

    /// 
    /// 设置默认动画速度
    /// 

    /// 动画速度
    public void SetDefaultAnimSpeed(float speed)
    {
        defaultAnimSpeed = speed;
    }

    /// 
    /// 设置默认显示动画Ease
    /// 

    /// 动画Ease
    public void SetDefaultShowEase(Ease ease)
    {
        defaultEase = ease;
    }

    /// 
    /// 设置遮罩颜色
    /// 

    /// 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-13 13:47  UI\
     文件       11463  2019-12-13 13:42  UI\basePopup.cs
     文件        3749  2019-12-13 13:42  UI\PopupCommon.cs

评论

共有 条评论