public static int CreateGuideInMainScene(ILuaState lua) { int stk = 1; GuideAimType type = (GuideAimType)L.ToInteger(stk++); float offsetX = (float)L.ToNumber(stk++); float offsetY = (float)L.ToNumber(stk++); GuidePointerRotateType rotateType = (GuidePointerRotateType)L.ToInteger(stk++); string str = (string)L.ToString(stk++); StringTool.UTF8String(ref str); float alpha = (float)L.ToNumber(stk++); bool mask = (bool)L.ToBoolean(stk++); int step = (int)L.ToInteger(stk++); if (Mathf.Approximately(alpha, 0f)) { GuideManager.Instance.CreateMaskInScene(type, offsetX, offsetY, rotateType, str, step, mask); } else { GuideManager.Instance.CreateMaskInScene(type, offsetX, offsetY, rotateType, str, step, mask, alpha); } return(0); }
public void CreateMaskInScene(GuideAimType type, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str, int step, bool mask = false, float alpha = 0.7f) { IsGuiding_ = true; UIManager.Instance.DoDeActive(); switch (type) { case GuideAimType.GAT_MainCrystal: GameObject aim = GameObject.FindGameObjectWithTag("PVE"); creator_.CreateInScene(aim, offsetX, offsetY, rotateType, str, step, alpha, mask); break; case GuideAimType.GAT_MainJiubaHouse: GameObject aim2 = GameObject.FindGameObjectWithTag("jiuba"); creator_.CreateInScene(aim2, offsetX, offsetY, rotateType, str, step, alpha, mask); break; case GuideAimType.GAT_MainCastle: GameObject aim3 = GameObject.FindGameObjectWithTag("Team"); creator_.CreateInScene(aim3, offsetX, offsetY, rotateType, str, step, alpha, mask); break; case GuideAimType.GAT_MainJJC: GameObject aim4 = GameObject.FindGameObjectWithTag("arena"); creator_.CreateInScene(aim4, offsetX, offsetY, rotateType, str, step, alpha, mask); break; default: break; } crtGuideType_ = GuideType.GT_Scene; }
public static int CreateGuideWithItemID(ILuaState lua) { int stk = 1; int itemId = L.ToInteger(stk++); BagUI baguiScript = GameObject.FindObjectOfType <BagUI>(); if (baguiScript == null) { return(0); } GameObject icon = baguiScript.GetItemObj(itemId); float offsetX = (float)L.ToNumber(stk++); float offsetY = (float)L.ToNumber(stk++); GuidePointerRotateType rotateType = (GuidePointerRotateType)L.ToInteger(stk++); string str = (string)L.ToString(stk++); StringTool.UTF8String(ref str); float alpha = (float)L.ToNumber(stk++); bool mask = (bool)L.ToBoolean(stk++); int step = (int)L.ToInteger(stk++); if (Mathf.Approximately(alpha, 0f)) { GuideManager.Instance.CreateMask(icon, offsetX, offsetY, rotateType, str, step, mask); } else { GuideManager.Instance.CreateMask(icon, offsetX, offsetY, rotateType, str, step, mask, alpha); } return(0); }
public static int CreateGuideWithSkillID(ILuaState lua) { int stk = 1; int skillId = L.ToInteger(stk++); GameObject skill = LearningUI.Instance.GetSkillObjByID(skillId); float offsetX = (float)L.ToNumber(stk++); float offsetY = (float)L.ToNumber(stk++); GuidePointerRotateType rotateType = (GuidePointerRotateType)L.ToInteger(stk++); string str = (string)L.ToString(stk++); StringTool.UTF8String(ref str); float alpha = (float)L.ToNumber(stk++); bool mask = (bool)L.ToBoolean(stk++); int step = (int)L.ToInteger(stk++); if (Mathf.Approximately(alpha, 0f)) { GuideManager.Instance.CreateMask(skill, offsetX, offsetY, rotateType, str, step, mask); } else { GuideManager.Instance.CreateMask(skill, offsetX, offsetY, rotateType, str, step, mask, alpha); } return(0); }
public void CreateMaskInBattle(int battlePos, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str, int step, bool mask = false, float alpha = 0.7f) { IsGuiding_ = true; BattleActor actor = Battle.Instance.GetActorByIdx(battlePos); creator_.CreateInScene(actor.ControlEntity.ActorObj, offsetX, offsetY, rotateType, str, step, alpha, mask); crtGuideType_ = GuideType.GT_Scene; }
public void Begin(GameObject aimObj, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str) { isLocalPos_ = false; offsetX_ = offsetX; offsetY_ = offsetY; aimObj_ = aimObj; transform.position = new Vector2(aimObj.transform.position.x + offsetX, aimObj.transform.position.y + offsetY); originPos_ = arrowsImg.transform.position; Set(rotateType, str); }
public void CreateMask(GuideAimType gaType, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str, int step, bool mask = false, float alpha = 0.7f) { if (!guideAimDic_.ContainsKey(gaType)) { return; } IsGuiding_ = true; crtGuideType_ = GuideType.GT_UI; creator_.Create(guideAimDic_[gaType], offsetX, offsetY, rotateType, str, step, alpha, mask); }
public void BeginInScene(GameObject aimObj, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str) { isLocalPos_ = true; wave_ = 60f; offsetX_ = offsetX; offsetY_ = offsetY; aimObj_ = aimObj; Vector3 uiPos = GlobalInstanceFunction.WorldToUI(aimObj_.transform.position); transform.localPosition = new Vector2(uiPos.x + offsetX, uiPos.y + offsetY); originPos_ = arrowsImg.transform.localPosition; Set(rotateType, str); }
//TODO TEST public void CreateMaskInScene(int npcId, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str, int step, bool mask = false, float alpha = 0.7f) { IsGuiding_ = true; UIManager.Instance.DoDeActive(); GameObject[] npc = GameObject.FindGameObjectsWithTag("NPC"); for (int i = 0; i < npc.Length; ++i) { if (npc[i].name.Equals(npcId.ToString())) { creator_.CreateInScene(npc[i], offsetX, offsetY, rotateType, str, step, alpha, mask); } } crtGuideType_ = GuideType.GT_Scene; }
public void Create(GameObject guideObj, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str, int step, float alpha = 0.7f, bool mask = false) { if (guideObj == null) { return; } if (crtGuideObj_ != null && crtGuideObj_.Equals(guideObj)) { return; } ClearGuide(); if (ChatUI.Instance.BigChatOpen()) { ChatUI.Instance.SwitchChatObjActive(); } guideRoot_ = new GameObject("GuideMask"); if (mask) { ShowBlack(alpha, step); } guideRoot_.transform.parent = ApplicationEntry.Instance.uiRoot.transform; guideRoot_.transform.localScale = Vector3.one; NGUITools.SetLayer(guideRoot_, LayerMask.NameToLayer("UI")); NGUITools.SetChildLayer(guideRoot_.transform, LayerMask.NameToLayer("UI")); crtGuideObj_ = guideObj; UIPanel guide = guideObj.GetComponent <UIPanel>(); if (guide == null) { guide = guideObj.AddComponent <UIPanel>(); needRemovePanel_ = true; } panelDepth_ = guide.depth; panelSortOrder_ = guide.sortingOrder; guide.depth = GuideDepth + 1; guide.sortingOrder = GuideDepth + 1; guideObj.SetActive(false); guideObj.SetActive(true); GameObject pointer = (GameObject)GameObject.Instantiate(pointerPrefab_); pointer.GetComponent <GuidePointer>().Begin(crtGuideObj_, offsetX, offsetY, rotateType, str); pointer.transform.parent = guideRoot_.transform; pointer.transform.localScale = Vector3.one; }
void Set(GuidePointerRotateType rotateType, string str) { UIPanel panel = arrowsImg.gameObject.AddComponent <UIPanel>(); panel.sortingOrder = GuideCreator.GuideDepth + 2; panel.depth = GuideCreator.GuideDepth + 2; panel = descLab.gameObject.AddComponent <UIPanel>(); panel.sortingOrder = GuideCreator.GuideDepth + 3; panel.depth = GuideCreator.GuideDepth + 3; GuideManager.Instance.creator.OnClearGuide -= DestroySelf; GuideManager.Instance.creator.OnClearGuide += DestroySelf; float angle = 0f; switch (rotateType) { case GuidePointerRotateType.GPRT_None: forward_ = (transform.up).normalized; descLab.transform.localPosition = descLab.transform.localPosition = new Vector3(descLab.transform.localPosition.x, 120f, 0f);; break; case GuidePointerRotateType.GPRT_R45: angle = 45f; forward_ = (transform.up + transform.right * -1f).normalized; break; case GuidePointerRotateType.GPRT_R90: angle = 90f; forward_ = (transform.right * -1f).normalized; break; case GuidePointerRotateType.GPRT_R135: angle = 135f; forward_ = (transform.up * -1f + transform.right * -1f).normalized; break; case GuidePointerRotateType.GPRT_R180: angle = 180f; descLab.transform.localPosition = new Vector3(descLab.transform.localPosition.x, -120f, 0f); forward_ = (transform.up * -1f).normalized; break; case GuidePointerRotateType.GPRT_R225: angle = 225f; forward_ = (transform.up * -1f + transform.right).normalized; break; case GuidePointerRotateType.GPRT_R270: angle = 270f; forward_ = (transform.right).normalized; break; case GuidePointerRotateType.GPRT_R315: angle = 315f; forward_ = (transform.up + transform.right).normalized; break; default: break; } if (!string.IsNullOrEmpty(str)) { descLab.gameObject.SetActive(true); descLab.text = string.Format("[b]{0}[-]", str); } else { descLab.gameObject.SetActive(false); } //transform.Rotate(Vector3.forward, angle); arrowsImg.transform.localRotation = Quaternion.Euler(0f, 0f, angle); begin_ = true; }
public void CreateMask(GameObject go, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str, int step, bool mask = false, float alpha = 0.7f) { IsGuiding_ = true; crtGuideType_ = GuideType.GT_UI; creator_.Create(go, offsetX, offsetY, rotateType, str, step, alpha, mask); }
public void CreateInScene(GameObject guideObj, float offsetX, float offsetY, GuidePointerRotateType rotateType, string str, int step, float alpha = 0.7f, bool mask = false) { if (guideObj == null) { return; } if (crtGuideObj_ != null && crtGuideObj_.Equals(guideObj)) { return; } ClearGuide(); if (ChatUI.Instance.BigChatOpen()) { ChatUI.Instance.SwitchChatObjActive(); } guideRoot_ = new GameObject("GuideMask"); if (mask) { ShowBlack(alpha, step); /*UIPanel panel = guideRoot_.AddComponent<UIPanel>(); * panel.depth = GuideDepth; * panel.sortingOrder = GuideDepth; * BoxCollider bc = guideRoot_.AddComponent<BoxCollider>(); * Vector3 size = new Vector3(ApplicationEntry.Instance.UIWidth, ApplicationEntry.Instance.UIHeight, 0); * bc.size = size; * GameObject maskSub = new GameObject("sub"); * UITexture texture = maskSub.AddComponent<UITexture>(); * texture.mainTexture = GlobalInstanceFunction.Instance.maskTex_; * texture.color = new Color(0f, 0f, 0f, alpha); * texture.MakePixelPerfect(); * texture.gameObject.AddComponent<BoxCollider>(); * UIManager.SetButtonEventHandler(texture.gameObject, EnumButtonEvent.OnClick,OnClickBalck , 0, 0); * * * // * maskSub.transform.parent = guideRoot_.transform; */ } guideRoot_.transform.parent = ApplicationEntry.Instance.uiRoot.transform; guideRoot_.transform.localScale = Vector3.one; NGUITools.SetLayer(guideRoot_, LayerMask.NameToLayer("UI")); NGUITools.SetChildLayer(guideRoot_.transform, LayerMask.NameToLayer("UI")); guideCamera_ = ((GameObject)GameObject.Instantiate(Camera.main.gameObject) as GameObject).GetComponent <Camera>(); guideCamera_.cullingMask = 1 << LayerMask.NameToLayer("Guide"); guideCamera_.depth = 1000; guideCamera_.clearFlags = CameraClearFlags.Nothing; guideCamera_.tag = "GuideCam"; GameObject.Destroy(guideCamera_.GetComponent <AudioListener>()); guideCamera_.transform.parent = guideRoot_.transform; guideCamera_.transform.position = Camera.main.gameObject.transform.position; guideCamera_.transform.rotation = Camera.main.gameObject.transform.rotation; crtGuideObj_ = guideObj; sourceLayer_ = crtGuideObj_.layer; NGUITools.SetLayer(crtGuideObj_, LayerMask.NameToLayer("Guide")); NGUITools.SetChildLayer(crtGuideObj_.transform, LayerMask.NameToLayer("Guide")); crtGuideObj_.SetActive(false); crtGuideObj_.SetActive(true); GameObject pointer = (GameObject)GameObject.Instantiate(pointerPrefab_); pointer.transform.parent = guideRoot_.transform; pointer.transform.localScale = Vector3.one; pointer.GetComponent <GuidePointer>().BeginInScene(crtGuideObj_, offsetX, offsetY, rotateType, str); //处理npc的名字高亮 if (crtGuideObj_.CompareTag("NPC")) { TaskNpc tn = crtGuideObj_.GetComponent <TaskNpc>(); if (tn != null) { uiClone_ = (GameObject)GameObject.Instantiate(tn.Name.gameObject); GameObject uiCloneParent = new GameObject("GuideNpcName"); uiClone_.transform.parent = uiCloneParent.transform; uiCloneParent.transform.parent = ApplicationEntry.Instance.uiRoot.transform; uiCloneParent.transform.localScale = Vector3.one; NGUITools.SetLayer(uiCloneParent, LayerMask.NameToLayer("UI")); NGUITools.SetChildLayer(uiCloneParent.transform, LayerMask.NameToLayer("UI")); UIPanel guidePanel = uiCloneParent.AddComponent <UIPanel>(); panelDepth_ = guidePanel.depth; panelSortOrder_ = guidePanel.sortingOrder; guidePanel.depth = GuideDepth + 1; guidePanel.sortingOrder = GuideDepth + 1; uiCloneParent.SetActive(false); uiCloneParent.SetActive(true); } } }