public override void EnableBehaviour(bool isEnable) { base.EnableBehaviour(isEnable); m_bNetAnswer = false; ClearPoint(); if (!isEnable) { return; } DBInstance.InstanceInfo instanceInfo = DBInstance.Instance.GetInstanceInfo(SceneHelp.Instance.CurSceneID); if (instanceInfo != null) { m_minX = instanceInfo.mMinPos.x; m_minY = instanceInfo.mMinPos.y; m_uiScalex = instanceInfo.mMiniMapWidth / m_minimapRawImage.rectTransform.rect.width; m_uiScaley = instanceInfo.mMiniMapHeight / m_minimapRawImage.rectTransform.rect.height; LoadMiniMapTexture(instanceInfo.mMiniMapName); } RefreshPosition(); OnTeamInfoChange(null); m_localPlayerPoint.transform.SetAsLastSibling(); }
/// <summary> /// 创建宠物 /// </summary> /// <returns></returns> protected void CreatePet() { DBInstance.InstanceInfo instanceInfo = InstanceManager.Instance.InstanceInfo; if (instanceInfo != null) { if (DBInstanceTypeControl.Instance.ForbidPet(instanceInfo.mWarType, instanceInfo.mWarSubType)) { return; } } uint pet_id = CurrentPetInfo.pet_id; if (pet_id == 0) { return; } //uint level = CurrentPetInfo.level; //通过宠物ID查找角色ID DBPet pet_csv = DBManager.GetInstance().GetDB <DBPet>(); DBPet.PetInfo pet = pet_csv.GetOnePetInfo(pet_id); if (pet != null) { uint actorId = pet.Actor_id; CurrentPet = ActorManager.Instance.CreatePet(pet_id, actorId, this.transform.position, this.transform.rotation, this); } }
public void Set(uint id, uint num) { mId = id; DBInstance.InstanceInfo info = DBManager.Instance.GetDB <DBInstance>().GetInstanceInfo(id); if (id == GameConstHelper.GetUint("GAME_WILD_DUNGEON_PRIMARY_ID")) { labelName.text = info.mName + string.Format(DBConstText.GetText("PRIMARY_TITLE_SUFFIX"), GameConstHelper.GetUint("GAME_WILD_PRIMARY_BATTLE_POWER")); } else { labelName.text = info.mName; } UIWIldSwitchLine.SetAmount(spriteProgress, num); if (WildManager.Instance.mCurrentLineId == id) { goHead.SetActive(true); RoleHelp.GetIconName(Game.GetInstance().LocalPlayerTypeID, texHead); goButton.SetActive(false); } else { goHead.SetActive(false); goButton.SetActive(true); if (id == WildManager.Instance.mCurrentWaitingLineId) { lableButton.text = xc.DBConstText.GetText("IN_QUEUE"); } else { lableButton.text = xc.DBConstText.GetText("GOTO"); } } }
//是否能打开地图 public static bool IsCanOpenMinimap() { DBInstance.InstanceInfo instanceInfo = DBInstance.Instance.GetInstanceInfo(SceneHelp.Instance.CurSceneID); if (instanceInfo == null) { return(false); } return(instanceInfo.mIsCanOpenMiniMap); }
/// <summary> /// 获取副本名字 /// </summary> public static string GetInstanceName(uint instanceId) { DBInstance.InstanceInfo instanceInfo = DBInstance.Instance.GetInstanceInfo(instanceId); if (instanceInfo != null) { return(instanceInfo.mName); } return(string.Empty); }
/// <summary> /// 得到玩家进入副本需要的等级 /// </summary> /// <param name="instanceId"></param> /// <returns></returns> public static uint GetInstanceNeedRoleLevel(uint instanceId) { DBInstance.InstanceInfo instanceInfo = DBInstance.Instance.GetInstanceInfo(instanceId); uint needLv = 0; if (instanceInfo != null) { needLv = instanceInfo.mNeedLv; } return(needLv); }
public void ShowTeamIcon(string spriteName, bool isShow) { DBInstance.InstanceInfo instanceInfo = InstanceManager.Instance.InstanceInfo; if (mHudActorWin != null && mTeamIconImage != null && instanceInfo != null) { if (DBInstanceTypeControl.Instance.HideTeam(instanceInfo.mWarType, instanceInfo.mWarSubType)) { mTeamIconImage.gameObject.SetActive(false); return; } mTeamIconImage.sprite = mHudActorWin.LoadSprite(spriteName); mTeamIconImage.gameObject.SetActive(isShow); } }
public bool CanShowMateButton() { if (mCanNotShowWarList == null) { mCanNotShowWarList = xc.GameConstHelper.GetUintList("GAME_SHOW_MATE_BUTTON_WAR_TYPE"); } DBInstance.InstanceInfo instanceInfo = InstanceManager.Instance.InstanceInfo; if (instanceInfo != null && mCanNotShowWarList != null) { for (int i = 0; i < mCanNotShowWarList.Count; i++) { if (mCanNotShowWarList[i] == instanceInfo.mWarSubType) { return(false); } } } return(true); }
/// <summary> /// 检查是否满足进入副本所推荐的属性 /// </summary> public static bool CheckInstanceEnterAttrs(DBInstance.InstanceInfo instanceInfo) { if (instanceInfo != null) { Dictionary <uint, uint> recommendAttrs = instanceInfo.mRecommendAttrs; if (recommendAttrs != null) { foreach (KeyValuePair <uint, uint> recommendAttr in recommendAttrs) { long curValue = LocalPlayerManager.Instance.LocalActorAttribute.Attribute[recommendAttr.Key].Value; if (curValue < recommendAttr.Value) { return(false); } } } } return(true); }
/// <summary> /// 武神塔对应副本的名字 /// </summary> /// <param name="id"></param> /// <returns></returns> public static string GetKungfuGodInstanceName(uint id) { List <string> data_secret_area = DBManager.Instance.QuerySqliteField <string>(GlobalConfig.DBFile, "data_secret_area", "id", id.ToString(), "dgn_id"); if (data_secret_area.Count == 0) { return(""); } uint instanceId = 0; uint.TryParse(data_secret_area[0], out instanceId); DBInstance.InstanceInfo instanceInfo = DBInstance.Instance.GetInstanceInfo(instanceId); if (instanceInfo != null) { return(instanceInfo.mName); } return(""); }
public override void EnableBehaviour(bool isEnable) { base.EnableBehaviour(isEnable); m_bNetAnswer = false; m_CurSceneId = SceneHelp.Instance.CurSceneID; if (isEnable) // 显示 { uint pos_tag = 0; // 指定的挂机点位置Tag if (Window != null && Window.ShowParam != null) { if (Window.ShowParam.Length >= 1) { if ((bool)Window.ShowParam[0] == true) // 标识需要通过离线挂机表来寻找合适的场景和挂机点 { var hang_info = DBHang.Instance.GetSuitableHangInfo(); if (hang_info != null) { m_CurSceneId = hang_info.Dungeon; pos_tag = hang_info.GetRandomTag().Id; } } } } DBInstance.InstanceInfo instanceInfo = DBInstance.Instance.GetInstanceInfo(m_CurSceneId); if (instanceInfo != null) { minX = instanceInfo.mMinPos.x; minY = instanceInfo.mMinPos.y; uiScalex = instanceInfo.mMiniMapWidth / mMiniMapRawImage.rectTransform.rect.width; uiScaley = instanceInfo.mMiniMapHeight / mMiniMapRawImage.rectTransform.rect.height; LoadMiniMapTexture(instanceInfo.mMiniMapName); } LocalCenter(); ClearPoint(); CreateMonsterPoint(); CreateTranspotPoint(); CreateNpcPoint(); if (TargetPathManager.Instance.IsNavigating) { CreatePathPoint(); } UpdateRequsetTeam(null); UpdateWorldBossState(null); bool isInCurScene = SceneHelp.Instance.CurSceneID.Equals(m_CurSceneId); m_LocalPlayerPoint.SetActive(isInCurScene); m_LocalPlayerPoint.transform.SetAsLastSibling(); MonsterTipsTrigger.transform.SetAsLastSibling(); // 寻找指定的挂机点 var monster_infos = MiniMapHelp.GetInstanceAllNormalMonster(m_CurSceneId); for (int i = 0; i < monster_infos.Count; i++) { var info = monster_infos[i]; if (info == null) { continue; } if (info.Id == pos_tag) { OnClickMonsterPoint(info); break; } } } else// 隐藏 { ClearPathPoint(); ClearPoint(); MonsterTipsTrigger.gameObject.SetActive(false); } }
public void UpdateState(Task mainTask) { LocalPlayerLevel = LocalPlayerManager.Instance.Level; if (mainTask != null && mainTask.Define != null) { MaintaskId = mainTask.Define.Id; } foreach (var kv in mMapGoDic) { DBInstance.InstanceInfo instanceInfo = DBInstance.Instance.GetInstanceInfo((uint)kv.Key); if (instanceInfo != null) { // 设置区域名字 Text name_text = UIHelper.FindChild(kv.Value, "NameText").GetComponent <Text>(); string inst_name = instanceInfo.mName; StringBuilder align_name = new StringBuilder(inst_name.Length * 2); foreach (var c in inst_name) { align_name.Append(c); align_name.Append('\n'); } name_text.text = align_name.ToString(); bool isOpen = MiniMapHelp.isMapOpen((uint)kv.Key); // 背景图片 var bgImage = kv.Value.GetComponent <Image>(); // 设置开启等级信息 uint need_level = InstanceHelper.GetInstanceNeedRoleLevel((uint)kv.Key); Text level_text = UIHelper.FindChild(kv.Value, "LevelText").GetComponent <Text>(); string peakLvDesc = GetPeakLvDesc(need_level); if (!isOpen) { peakLvDesc = "<color=#ff0000>" + peakLvDesc + "</color>"; SetMapPointImgState(bgImage, true); } else { SetMapPointImgState(bgImage, false); } level_text.text = peakLvDesc; // 设置当前是否可开启的标记 GameObject lock_object = UIHelper.FindChild(kv.Value, "Lock"); lock_object.SetActive(!isOpen); // 根据pk区域设置不同的图标 var stateNode = UIHelper.FindChild(kv.Value, "State"); GameObject free_pk_area = UIHelper.FindChild(kv.Value, "FreePkArea"); GameObject no_safe_area = UIHelper.FindChild(kv.Value, "NoSafeArea"); stateNode.SetActive(isOpen); int pk_type = instanceInfo.mPKType; switch (pk_type) { case GameConst.SCENE_PK_COMMON: { no_safe_area.SetActive(true); free_pk_area.SetActive(false); //pkStr = "<color=#ffeb07>非安全区域</color>"; break; } case GameConst.SCENE_PK_DANGER: { free_pk_area.SetActive(true); no_safe_area.SetActive(false); //pkStr = "<color=#ff0000>PK区域</color>"; break; } default: { free_pk_area.SetActive(false); no_safe_area.SetActive(false); //pkStr = "安全区域"; break; } } } } }