Esempio n. 1
0
    public void CreateEquipmentCallBack(PreviewEquipment _eq)
    {
        //防止有之前延迟的模型加载,再次清理
        ClearModel();
        curPreviewEqObj = _eq;
        GameObject parent = GetModelTransform(_eq.PreviewPosition, _eq.PreviewRotation);

        if (null != parent)
        {
            _eq.transform.parent           = parent.transform;
            _eq.transform.localPosition    = new Vector3(0, -_eq.Height / 2f, 0);
            _eq.transform.localEulerAngles = new Vector3(0, 180f, 0);
        }
        _eq.FaceToNoLerp(180f);
        UIDragObjectRotate3D _UIDragObjectRotate3D = curShowLabel.gameObject.GetComponent <UIDragObjectRotate3D>();

        if (_UIDragObjectRotate3D == null)
        {
            _UIDragObjectRotate3D = curShowLabel.gameObject.AddComponent <UIDragObjectRotate3D>();
        }
        _UIDragObjectRotate3D.target = _eq;
        BoxCollider bc = curShowLabel.gameObject.GetComponent <BoxCollider>();

        if (bc == null)
        {
            curShowLabel.gameObject.AddComponent <BoxCollider>();
        }
        BindRenderAndUI(curShowLabel);
    }
Esempio n. 2
0
    /// <summary>
    /// 非经过我同意禁用本接口  by吴江
    /// </summary>
    /// <param name="_info"></param>
    /// <param name="_callBack"></param>
    /// <returns></returns>
    public bool TryPreviewSingleEquipment(EquipmentInfo _eq, System.Action <PreviewEquipment> _callBack)
    {
        if (_eq == null)
        {
            return(false);
        }
        PreviewEquipment pe = PreviewEquipment.CreateDummy(_eq);

        pe.mutualExclusion = false;
        pe.StartAsyncCreate(_callBack);
        return(true);
    }
Esempio n. 3
0
    IEnumerator CreateAsync(System.Action <PreviewEquipment> _callback)
    {
        if (isDummy_ == false)
        {
            GameSys.LogError("You can only start create Equipment in dummy: " + actorInfo.InstanceID);
            yield break;
        }

        //
        PreviewEquipment  item           = null;
        MountRendererCtrl myRendererCtrl = null;
        bool failed = false;

        pendingDownload = Create(actorInfo, delegate(PreviewEquipment _eq, EResult _result)
        {
            if (_result != EResult.Success)
            {
                failed = true;
                return;
            }
            item            = _eq;
            pendingDownload = null;
            myRendererCtrl  = item.gameObject.GetComponentInChildrenFast <MountRendererCtrl>();
            if (myRendererCtrl != null)
            {
                myRendererCtrl.Show(true, true);
            }
        });
        if (mutualExclusion)
        {
            GameCenter.previewManager.PushDownLoadTask(pendingDownload);
        }
        while (item == null || item.inited == false)
        {
            if (failed)
            {
                yield break;
            }
            yield return(null);
        }
        if (mutualExclusion)
        {
            GameCenter.previewManager.EndDownLoadTask(pendingDownload);
        }
        pendingDownload = null;

        item.isDownloading_ = false;
        if (_callback != null)
        {
            _callback(item);
        }
    }
Esempio n. 4
0
    /// <summary>
    /// 创建净数据对象 by吴江
    /// </summary>
    /// <param name="_info"></param>
    /// <returns></returns>
    public static PreviewEquipment CreateDummy(EquipmentInfo _info)
    {
        if (_info == null)
        {
            return(null);
        }
        GameObject newGO = new GameObject("Dummy Equipment[" + _info.InstanceID + "]");

        newGO.tag = "Player";
        PreviewEquipment item = newGO.AddComponent <PreviewEquipment>();

        item.isDummy_  = true;
        item.actorInfo = _info;

        return(item);
    }
Esempio n. 5
0
 /// <summary>
 /// 预览单件装备
 /// </summary>
 /// <param name="_eq"></param>
 /// <param name="_showLabel"></param>
 /// <returns></returns>
 public bool TryPreviewSingleEquipment(EquipmentInfo _eq, UITexture _showLabel)
 {
     if (_eq == null)
     {
         return(false);
     }
     curShowLabel = _showLabel;
     if (curPreviewEqInfo != null && curPreviewEqInfo.EID == _eq.EID && curPreviewEqObj != null)
     {
         curPreviewEqInfo = _eq;
         BindRenderAndUI(curShowLabel);
         return(true);
     }
     else
     {
         ClearModel();
         curPreviewEqInfo = _eq;
         CancelAllDownLoad();
         PreviewEquipment pe = PreviewEquipment.CreateDummy(_eq);
         pe.StartAsyncCreate(CreateEquipmentCallBack);
         return(true);
     }
 }