protected virtual void OnEnable() { #if HERTZLIB_UPDATE_MANAGER UpdateManager.AddUpdate(this); UpdateManager.AddFixedUpdate(this); UpdateManager.AddLateUpdate(this); #endif }
public int RegisterTitle(Transform tf, float fOffsetY, bool bIsMain) { Camera caMain = HUDMesh.GetHUDMainCamera(); if (bIsMain) { m_tfMain = tf; } Vector3 vPos = tf.position; HUDTitleInfo title = new HUDTitleInfo(); title.m_tf = tf; title.m_bIsMain = bIsMain; title.m_vPos = vPos; title.m_fOffsetY = fOffsetY; if (caMain != null) { vPos.y += fOffsetY + HudSetting.Instance.m_fTitleOffsetY; title.m_vScreenPos = caMain.WorldToScreenPoint(vPos); title.CaleCameraScale(caMain.transform.position); } int nID = ++m_nHudID; title.m_nTitleID = nID; m_HudTitles[nID] = title; if (bIsMain) { title.m_pBatcher = m_StaticBatcher; } else { title.m_pBatcher = m_DynamicBatcher; } title.m_fLastMoveTime = Time.time; title.m_pBatcher.PushTitle(title); if (!m_bAddUpdate) { m_bAddUpdate = true; UpdateManager.AddLateUpdate(null, 0, UpdateLogic); } if (!m_bInitFontCallback) { m_bInitFontCallback = true; UIFont uiFont = HUDTitleInfo.GetHUDTitleFont(); Font.textureRebuilt += OnAllFontChanged; } return(nID); }
private void Start() { this.mTrans = base.transform; this.mRelative = this.mTrans.localPosition; if (this.ignoreTimeScale) { UpdateManager.AddCoroutine(this, this.updateOrder, new UpdateManager.OnUpdate(this.CoroutineUpdate)); } else { UpdateManager.AddLateUpdate(this, this.updateOrder, new UpdateManager.OnUpdate(this.CoroutineUpdate)); } }
private void Start() { mTrans = base.transform; mRelative = mTrans.localPosition; if (ignoreTimeScale) { UpdateManager.AddCoroutine(this, updateOrder, CoroutineUpdate); } else { UpdateManager.AddLateUpdate(this, updateOrder, CoroutineUpdate); } }
private void Start() { mTrans = transform; mRelative = mTrans.localRotation; mAbsolute = mTrans.rotation; if (ignoreTimeScale) { UpdateManager.AddCoroutine(this, updateOrder, CoroutineUpdate); } else { UpdateManager.AddLateUpdate(this, updateOrder, CoroutineUpdate); } }
//ToDo 之后需要这里添加判别回复类型,现在默认为文字 public static int newRequest(BGIRequestResult requestResult, RequestType inType, string url, int tag = 0, float inHttpTimeOut = 20f, bool nolimit = false, bool noCache = false) { reqid++; //Debug.Log(url); if (mInstance == null) { mInstance = new GameObject("_BGHTTP_AGENT"); GameObject.DontDestroyOnLoad(mInstance); UpdateManager.AddLateUpdate(null, 0, OnUpdate); } //构造requestResult if (requestResult == null) { } //队列尚有空余加之 //if(requests.size<ListLimit)mInstance = go.AddComponent<BGHttpRequest>(); if (noCache) { removeCache(url); } else if (inType == RequestType.IMAGE) { byte[] res = getCache(url); if (res != null) { //MonoBehaviour.print("cached::::"+url); Texture2D imgTexture = new Texture2D(256, 256, TextureFormat.ARGB32, false); // imgTexture.anisoLevel = 9; imgTexture.wrapMode = TextureWrapMode.Clamp; // imgTexture.filterMode = FilterMode.Trilinear; // imgTexture.anisoLevel = 3; imgTexture.LoadImage(res); requestResult.requestSuccessedTexture(imgTexture, tag); return(reqid); } // DownloadImgTest.DownloadTexture(requestResult,url,tag); // GameObject.Find("LoginSceneManager").GetComponent<LoginSceneManager>().DownloadTexture(requestResult,url,tag); // return reqid; } if (inType == RequestType.TEXT) { nolimit = true; } //add new if (requests.size < ListLimit || nolimit) { BGHttpRequest request = new BGHttpRequest(requestResult, inHttpTimeOut, inType); request.requestURLN(url, tag); request.taskid = reqid; requests.Add(request); } else { RequestTask task = new RequestTask(); task.inHttpTimeOut = inHttpTimeOut; task.inType = inType; task.requestResult = requestResult; task.tag = tag; task.url = url; task.taskid = reqid; tasks.Add(task); } return(reqid); }
// 功能:添加一个显示的数字 public void AddHudNumber(Transform tf, HUDNumberRenderType nType, int nNumber, bool bShowHead, bool bShowAdd, bool bShowSub) { if (m_bOpenUI || m_bStartDark || m_bStartMovie) { return; } Vector3 vPos = tf.position; int nIndex = (int)nType; //if (nIndex < 0 || nIndex > (int)HUDNumberRenderType.HUD_SHOW_NUMBER) // return; Camera caMain = HUDMesh.GetHUDMainCamera(); if (caMain == null) { return; } if (!m_bInit) { m_bInit = true; InitHUD(); } if (!m_bAddUpdateLogic) { m_bMeshDirty = true; UpdateManager.AddLateUpdate(null, 0, UpdateLogic); } HudAnimAttibute attrib = m_aTtribute[nIndex]; HUDNumberEntry pNode = QueryHudNumber(nType); pNode.m_nType = nType; pNode.m_pNext = m_ValidList; m_ValidList = pNode; if (nNumber < 0) { bShowSub = true; nNumber = -nNumber; } pNode.reset(); // 初始化 pNode.m_nSpriteGap = attrib.SpriteGap; pNode.m_fStartTime = Time.time; pNode.m_tf = tf; pNode.m_vPos = vPos; if (caMain != null) { // 如果按屏幕对齐 if (attrib.ScreenAlign) { Vector3 v1 = caMain.WorldToScreenPoint(vPos); v1.x = attrib.OffsetX; v1.y = attrib.OffsetY; float fScaleX = (float)Screen.width / 1280.0f; float fScaleY = (float)Screen.height / 1280.0f; if (attrib.ScreenAlignType == HUDAlignType.align_left) { v1.x = attrib.OffsetX; v1.y = attrib.OffsetY; } else if (attrib.ScreenAlignType == HUDAlignType.align_right) { v1.x = 1280.0f - attrib.OffsetX; v1.y = attrib.OffsetY; } else { v1.x = Screen.width / 2.0f + attrib.OffsetX; v1.y = attrib.OffsetY; } v1.x *= fScaleX; v1.y *= fScaleY; pNode.m_vScreenPos = v1; vPos = caMain.ScreenToWorldPoint(v1); pNode.m_vPos = vPos; Vector3 vCameraPos = caMain.transform.position; pNode.CaleCameraScale(vCameraPos); } else { pNode.m_vScreenPos = caMain.WorldToScreenPoint(vPos); Vector3 vCameraPos = caMain.transform.position; pNode.CaleCameraScale(vCameraPos); } } float y = 0.0f; HUDSprtieSetting pSetting = m_Settings[nIndex]; if (bShowHead && pSetting.m_nHeadID != 0) { pNode.PushSprite(y, pSetting.m_nHeadID); } bool bHaveNumber = true; if (nType == HUDNumberRenderType.HUD_SHOW_ABSORB || nType == HUDNumberRenderType.HUB_SHOW_DODGE) { bHaveNumber = false; } if (bHaveNumber) { if (bShowAdd && pSetting.m_nAddID != 0) { pNode.PushSprite(y, pSetting.m_nAddID); } else if (bShowSub && pSetting.m_nSubID != 0) { pNode.PushSprite(y, pSetting.m_nSubID); } m_tempNumb.Clear(); int nI = 0; do { nI = nNumber % 10; nNumber /= 10; m_tempNumb.Add(nI); } while (nNumber > 0); // 反转数组 m_tempNumb.Reverse(); for (int i = 0, nSize = m_tempNumb.size; i < nSize; ++i) { nI = m_tempNumb[i]; pNode.PushSprite(y, pSetting.m_NumberID[nI]); } } // 居中处理吧 switch (attrib.AlignType) { case HUDAlignType.align_right: pNode.MakeRight(); break; case HUDAlignType.align_center: pNode.MakeCenter(); break; default: pNode.MakeLeft(); break; } // 申请纹理 OnPush(pNode); if (!m_bCaleScreenScale) { CaleScreenScale(); } PlayAnimation(pNode, true); }
public static void AddLateUpdate(MonoBehaviour mb, int updateOrder, UpdateManager.OnUpdate func) { UpdateManager.AddLateUpdate(mb, updateOrder, func); }