public PlayerDistanceCondition(PLAYERPKMODEL pkmodel, Vector3 playerPos, float dis) { m_playerPos = playerPos; m_dis = dis; m_pkmodel = pkmodel; m_mainPlayer = ControllerSystem.m_ClientGlobal.MainPlayer; m_controllerhelper = ControllerSystem.m_ClientGlobal.GetControllerSystem().GetControllerHelper(); }
string GetFlagByPkModel(PLAYERPKMODEL model) { int pk = (int)model; List <string> list = GameTableManager.Instance.GetGlobalConfigList <string>("PkModelUIConfig", pk.ToString()); if (list != null && list.Count == 3) { return(list[1]); } return(null); }
void onClickUnenble(GameObject go) { int currModel = ClientGlobal.Instance().MainPlayer.GetProp((int)PlayerProp.PkMode); int selectModel = int.Parse(go.name); PLAYERPKMODEL model = (PLAYERPKMODEL)selectModel; string msg = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.Talk_System_buzhichigaimoshi, model.GetEnumDescription()); // string msg = string.Format("该地图不支持切换到{0}模式", ); TipsManager.Instance.ShowTips(msg); ChatDataManager.SendToChatSystem(msg); }
private void FindTargetList() { m_lstEntity.Clear(); playerPos = ControllerSystem.m_ClientGlobal.MainPlayer.GetPos(); uint range = GameTableManager.Instance.GetGlobalConfig <uint>("Switch_Target_Range"); Camera c = camera; int pkmodel = ControllerSystem.m_ClientGlobal.MainPlayer.GetProp((int)PlayerProp.PkMode); PLAYERPKMODEL model = (PLAYERPKMODEL)pkmodel; IMapSystem ms = ControllerSystem.m_ClientGlobal.GetMapSystem(); if (ms == null) { return; } MapAreaType areaType = ms.GetAreaTypeByPos(ControllerSystem.m_ClientGlobal.MainPlayer.GetPos()); if (areaType == MapAreaType.Safe) { FindEntity <INPC>(new MonsterDistanceCondition(playerPos, range)); } else { if (model == PLAYERPKMODEL.PKMODE_M_NORMAL)//和平 0默认和平 { FindEntity <INPC>(new MonsterDistanceCondition(playerPos, range)); } else { FindEntity <IPlayer>(new PlayerDistanceCondition(model, playerPos, range)); } } //if (model == PLAYERPKMODEL.PKMODE_M_NORMAL)//和平 0默认和平 //{ // FindEntity<INPC>(new MonsterDistanceCondition(playerPos, c)); //} //else if (model == PLAYERPKMODEL.PKMODE_M_FREEDOM)//自由pk //{ // FindEntity<IPlayer>(new PlayerDistanceCondition(playerPos, c)); // FindEntity<INPC>(new MonsterDistanceCondition(playerPos, c)); //} //else if (model == PLAYERPKMODEL.PKMODE_M_CAMP)//阵营战 不能攻击友方 demo 阶段只判断是不是一个阵营即可 //{ // FindEntity<IPlayer>(new CountryDistanceCondition(playerPos, c, pkmodel)); // FindEntity<INPC>(new MonsterDistanceCondition(playerPos, c)); //} m_lstEntity.Sort(Sort); }
/// <summary> /// 挂机寻怪接口 /// </summary> /// <param name="center"></param> /// <param name="rang"></param> /// <param name="filterTarget"></param> /// <returns></returns> public IEntity FindEntityByArea_PkModel(MapAreaType areaType, PLAYERPKMODEL pkmodel, UnityEngine.Vector3 center, uint rang, uint attackPriority, long filterTarget = 0) { IEntity e = null; if (areaType == MapAreaType.Safe || pkmodel == PLAYERPKMODEL.PKMODE_M_NORMAL) { e = FindNearstEntity <INPC>(new MonsterCondition(center, rang, filterTarget)); } else { //先砍人 if (attackPriority == 1) { e = FindNearstEntity <IPlayer>(new PlayerCondition(center, rang, filterTarget)); if (e == null) { //没人砍怪 e = FindNearstEntity <INPC>(new MonsterCondition(center, rang, filterTarget)); } Engine.Utility.Log.Error("--->>> 优先人!!!"); } else if (attackPriority == 2) { //先砍怪 e = FindNearstEntity <INPC>(new MonsterCondition(center, rang, filterTarget)); if (e == null) { //没怪砍人 e = FindNearstEntity <IPlayer>(new PlayerCondition(center, rang, filterTarget)); } Engine.Utility.Log.Error("--->>> 优先怪!!!"); } else if (attackPriority == 3) { //不限 e = FindNearstEntity <ICreature>(new CreatureCondition(center, rang, filterTarget)); Engine.Utility.Log.Error("--->>> 不限 !!!"); } } return(e); }
string GetDesByPkModel(PLAYERPKMODEL model) { int pk = (int)model; List <string> list = GameTableManager.Instance.GetGlobalConfigList <string>("PkModelUIConfig", pk.ToString()); if (list != null && list.Count == 3) { List <uint> color = StringUtil.GetSplitStringList <uint>(list[2], '_'); if (color.Count == 4) { Color c = new Color(color[0], color[1], color[2], color[3]); return(ColorManager.GetColorString(c, list[0])); } return(list[0]); } return(null); }
string GetPkModeDes(int model) { if (pk_dic == null) { pk_dic = new Dictionary <int, string>(); } string desc = ""; if (pk_dic.ContainsKey(model)) { desc = pk_dic[model]; } else { PLAYERPKMODEL pkmodel = (PLAYERPKMODEL)model; desc = pkmodel.GetEnumDescription(); pk_dic.Add(model, desc); } return(desc); }
private IEntity GetNearestMonster() { Client.IPlayer mainplayer = ControllerSystem.m_ClientGlobal.MainPlayer; if (mainplayer == null) { return(null); } IEntitySystem es = ControllerSystem.m_ClientGlobal.GetEntitySystem(); if (es == null) { return(null); } IMapSystem ms = ControllerSystem.m_ClientGlobal.GetMapSystem(); if (ms == null) { return(null); } IEntity monster = null; if (m_nTargetID != 0) { monster = es.FindNPCByBaseId(m_nTargetID, true); } else { PLAYERPKMODEL pkmodel = (PLAYERPKMODEL)mainplayer.GetProp((int)PlayerProp.PkMode); MapAreaType atype = ms.GetAreaTypeByPos(mainplayer.GetPos()); IControllerHelper ch = GetControllerHelper(); if (ch != null) { uint attackPriority = ch.GetAttackPriority(); monster = es.FindEntityByArea_PkModel(atype, pkmodel, m_centerPos, m_nSearchRang, attackPriority); } } return(monster); }
void OnBtnTopClick(GameObject go) { // m_goSelect.transform.parent = m_trans_pkmodel.transform; m_transBtnBg.gameObject.SetActive(true); m_transBtnBg.transform.DestroyChildren(); Client.IMapSystem ms = Client.ClientGlobal.Instance().GetMapSystem(); if (ms == null) { return; } table.MapDataBase mapdata = GameTableManager.Instance.GetTableItem <table.MapDataBase>(ms.GetMapID()); if (mapdata == null) { return; } GameObject curBtn = null; if (ClientGlobal.Instance().MainPlayer != null) { int nmodel = ClientGlobal.Instance().MainPlayer.GetProp((int)PlayerProp.PkMode); int index = 0; for (int i = (int)PLAYERPKMODEL.PKMODE_M_NONE + 1; i <= (int)PLAYERPKMODEL.PKMODE_M_JUSTICE; i++, index++) { PLAYERPKMODEL model = (PLAYERPKMODEL)i; GameObject btn = NGUITools.AddChild(m_transBtnBg.gameObject, m_btnPrefab); btn.transform.localPosition = new UnityEngine.Vector3(174, -28 - index * 52, 0); btn.gameObject.SetActive(true); btn.GetComponentInChildren <UILabel>().text = GetDesByPkModel(model); btn.name = i.ToString(); Transform flagTrans = btn.transform.Find("flag"); if (flagTrans != null) { UISprite sp = flagTrans.GetComponent <UISprite>(); if (sp != null) { sp.spriteName = GetFlagByPkModel(model); } } SetSelect(btn, false); SetMask(btn, true); if ((int)model == nmodel) { curBtn = btn; } if (mapdata.supportModel == "0") { UIEventListener.Get(btn).onClick = OnClickBtn; SetMask(btn, false); } else { string[] param = mapdata.supportModel.Split('_'); for (int m = 0; m < param.Length; m++) { int value = int.Parse(param[m]); if (i == value) { UIEventListener.Get(btn).onClick = OnClickBtn; SetMask(btn, false); } else { UIEventListener.Get(btn).onClick = onClickUnenble; } } } } if (curBtn != null) { SetSelect(curBtn, true); SetMask(curBtn, false); } } }
string GetPkModeDes(PLAYERPKMODEL pkmodel) { return(pkmodel.GetEnumDescription()); }