Ejemplo n.º 1
0
    static void OnLoadHeadInfo(GameObject resObj, object parent, object fun)
    {
        if (null != resObj)
        {
            if (null != GameManager.gameManager.ActiveScene.NameBoardRoot)
            {
                resObj.transform.parent = GameManager.gameManager.ActiveScene.NameBoardRoot.transform;
            }

            resObj.transform.localPosition = Vector3.zero;
            resObj.transform.localRotation = Quaternion.LookRotation(Vector3.forward);
            BillBoard billboard = resObj.GetComponent <BillBoard>();
            if (null == billboard)
            {
                billboard = resObj.AddComponent <BillBoard>();
                if (null != billboard)
                {
                    billboard.BindObj = parent as GameObject;
                }
            }
            else
            {
                billboard.BindObj = parent as GameObject;
                billboard.enabled = true;
            }

            //由于会复用,所以需要重新设置名字版的高度修正
            if (null != billboard && null != billboard.BindObj)
            {
                Obj_OtherPlayer objOtherPlayer = billboard.BindObj.GetComponent <Obj_OtherPlayer>();
                if (null != objOtherPlayer)
                {
                    billboard.fDeltaHeight = objOtherPlayer.DeltaHeight + objOtherPlayer.GetMountNameBoardHeight();
                }
                else
                {
                    Obj_Character objCharacter = billboard.BindObj.GetComponent <Obj_Character>();
                    if (null != objCharacter)
                    {
                        billboard.fDeltaHeight = objCharacter.DeltaHeight;
                    }
                }
            }

            LoadHeadInfoDelegate delFun = fun as LoadHeadInfoDelegate;
            if (null != delFun)
            {
                delFun(resObj);
            }
        }
        else
        {
            LogModule.ErrorLog("load headinfo fail");
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 加载头顶信息Prefab
    /// </summary>
    /// <param name="nParent">父节点</param>
    /// <param name="strPrefabName">Prefab名字</param>
    /// <returns></returns>
    public static void LoadHeadInfoPrefab(UIPathData uiData, GameObject nParent, string strPrefabName, LoadHeadInfoDelegate delFun)
    {
        if (null == GameManager.gameManager.ActiveScene ||
            null == GameManager.gameManager.ActiveScene.NameBoardPool)
        {
            LogModule.ErrorLog("scene is not init when load headinfo");
            return;
        }

        GameManager.gameManager.ActiveScene.NameBoardPool.CreateUIFromBundle(uiData, strPrefabName, OnLoadHeadInfo, nParent, delFun);
    }