Exemplo n.º 1
0
    private void InitBuild(Transform node, DatingMapBuildConfig data)
    {
        if (data.objectType == EnumDatingMapObjectType.Build)
        {
            var dbm = node.GetComponentDefault <DatingBuildMono>();
            dbm.InitData(data);

            if (!m_dicDatingBuildMono.ContainsKey(node.name))
            {
                m_dicDatingBuildMono.Add(node.name, dbm);
            }
        }
    }
Exemplo n.º 2
0
    private void SetIcon(Transform node, DatingMapBuildConfig data)
    {
        if (string.IsNullOrEmpty(data.bigImage))
        {
            Logger.LogError("Dating::  表DatingMapBuildConfig id={0} 的 bigImage 字段为空,请检查配置", data.ID);
            return;
        }

        var mr = node.GetComponent <MeshRenderer>();

        if (mr == null)
        {
            var       spriteRen = node.GetComponentDefault <SpriteRenderer>();
            Texture2D t2d       = Level.GetPreloadObject <Texture2D>(data.bigImage, false);
            if (!t2d)
            {
                UIDynamicImage.LoadImage(data.bigImage, (t) =>
                {
                    spriteRen.sprite = t.ToSprite();
                }, node);
            }
            else
            {
                spriteRen.sprite = t2d.ToSprite();
            }
            //Logger.LogError("Dating::  levelHome约会节点名 = {0} 没有材质球,请检查", node.name);
            //return;
        }
        else
        {
            var       mrMat = node.GetComponent <MeshRenderer>().material;
            Texture2D t2d   = Level.GetPreloadObject <Texture2D>(data.bigImage, false);
            if (!t2d)
            {
                UIDynamicImage.LoadImage(data.bigImage, (t) =>
                {
                    mrMat.mainTexture = t;
                }, node);
            }
            else
            {
                mrMat.mainTexture = t2d;
            }
        }
    }
Exemplo n.º 3
0
 private void CreateEffect(Transform node, DatingMapBuildConfig data)
 {
     if (data.effects == null || data.effects.Length <= 0)
     {
         return;
     }
     for (int i = 0; i < data.effects.Length; i++)
     {
         Transform  tfNode = m_levelHome.datingScence.Find(data.effects[i].effectPath.Replace(@"\", "/"));
         GameObject eff    = Level.GetPreloadObject <GameObject>(data.effects[i].effectNames);
         if (!eff)
         {
             Level.PrepareAsset <GameObject>(data.effects[i].effectNames, (e) =>
             {
                 if (e == null)
                 {
                     Logger.LogError("Dating::  表DatingMapBuildConfig id={0}的特效资源(第{1}个特效资源,资源名:{2})没有正确加载,请检查资源是否存在或者是否mark", data.ID, i + 1, data.effects[i].effectNames);
                     return;
                 }
                 var path        = data.effects[0].effectPath.Replace(@"\", "/");
                 Transform eNode = m_levelHome.datingScence.Find(path);
                 var o           = Object.Instantiate(e) as GameObject;
                 o.transform.SetParent(eNode);
                 o.transform.localPosition    = data.effects[0].position;
                 o.transform.localScale       = data.effects[0].scale;
                 o.transform.localEulerAngles = data.effects[0].rotation;
             });
         }
         else
         {
             eff.transform.SetParent(tfNode);
             eff.transform.localPosition    = data.effects[i].position;
             eff.transform.localScale       = data.effects[i].scale;
             eff.transform.localEulerAngles = data.effects[i].rotation;
         }
     }
 }
Exemplo n.º 4
0
 public void InitData(DatingMapBuildConfig data)
 {
     m_builData        = data;
     m_eBuildSceneType = Util.ParseEnum <EnumNPCDatingSceneType>(m_builData.objectName);
     m_sceneData       = Module_NPCDating.instance.GetDatingSceneData(m_eBuildSceneType);
 }
Exemplo n.º 5
0
 private void RefreshData(Transform node, DatingMapBuildConfig data)
 {
     InitBuild(node, data);
     SetIcon(node, data);
     CreateEffect(node, data);
 }