public override void GetAtkFSByName(string atkFSName) { //IsGetAtkFSByName = true; QuXiaoAC(); isAction = true; acName = atkFSName; print(" ********************************************************** acName " + acName); string[] strArr = atkFSName.Split('_'); if (strArr.Length >= 2) { acName = strArr[0]; if (acName == "AIZiDans") { GetComponent <AI_ZiDans>().SetZiDanType(int.Parse(strArr[1])); } else if (acName == "atk") { print(" 普通攻击!!! " + acName); atkDistance = GetAtkVOByName(atkFSName.Split('|')[0], DataZS.GetInstance()).atkDistance; atkDistanceY = GetAtkVOByName(atkFSName.Split('|')[0], DataZS.GetInstance()).atkDistanceY; } } else { //isActioning = true; } }
//加强AI 会判断每次攻击是否在攻击范围内 //6.开始下一个攻击 void GetAtkFS() { //int r = Random.Range(0, 100); //print(r); if (!isAtk) { isAtk = true; zsName = GetZS(); //print("zsName "+zsName); if (zsName == "shanxian") { aisx = GetComponent <AIShanxian>(); atkDistance = aisx.sxDistance; return; } atkDistance = GetAtkVOByName(GetZS(), DataZS.GetInstance()).atkDistance; } if (zsName == "shanxian") { //GetShanXian(); return; } if (zsName != "shanxian") { //print("???????????????"); PtAtk(); } }
public void GetAtk(string atkName = null) { //print(" atkName " + atkName+" "+isAtking); if (roleDate.isBeHiting) { return; } if (isDodgeing) { return; } if (DBBody.animation.lastAnimationName == DOWNONGROUND) { return; } if (!isAtk) { isAtk = true; isAtking = true; isAtkYc = true; yanchi = 0; jisuqi = 0; if (isInAiring) { atkZS = DataZS.jumpAtkZS; } else { atkZS = DataZS.atkZS; } if (atkName == null) { vOAtk.GetVO(atkZS[(int)atkNums]); DBBody.animation.GotoAndPlayByFrame(vOAtk.atkName, 0, 1); } else { vOAtk.GetVO(GetDateByName.GetInstance().GetDicSSByName(atkName, DataZS.GetInstance())); DBBody.animation.GotoAndPlayByFrame(vOAtk.atkName, 0, 1); } MoveVX(vOAtk.xF); if (newSpeed.y < 0) { newSpeed.y = 1; playerRigidbody2D.velocity = newSpeed; MoveVY(vOAtk.yF); } //获取XY方向的推力 //print(DBBody.animation.animations); } }
static public DataZS GetInstance() { if (instance == null) { GameObject go = new GameObject("DataZS"); //DontDestroyOnLoad(go); instance = go.AddComponent <DataZS>(); } //instance = new DataZS(); return(instance); }
// Use this for initialization void Start() { //iTween.ScaleBy(obj, iTween.Hash("x", 1f, "time", 0.1f, "easeType", iTween.EaseType.easeInOutExpo, "oncomplete", "Fd")); //iTween.FadeTo(this.gameObject, iTween.Hash("alpha", 0f, "time", 2f, "easeType", iTween.EaseType.easeInOutExpo, "oncomplete", "Fd")); return; MyClass m = new MyClass(); Type type1 = m.GetType(); Type type2 = typeof(MyClass); string s = type1.BaseType.ToString(); //获得父类名 FieldInfo[] fields = type1.GetFields(); //获得所有非私有字段信息 // print("??? "+ fields.Length+" i "+fields[0]); foreach (FieldInfo item in fields) { //print("?>>>>>>> "+item.Name+" "+item.FieldType); //Console.WriteLine(item.Name); } PropertyInfo[] propertys = type1.GetProperties();//获得所有非私有属性信息 foreach (PropertyInfo item in propertys) { //print(item.Name+" length "+propertys.Length+" "+item.GetType()); } FieldInfo fieldInfo = type1.GetField("arr1"); dict = fieldInfo.GetValue(m) as string[]; //DataZS sss = DataZS.GetInstance(); DataZS sss = new DataZS(); print("------------------> " + dict.Length + " m " + sss); string[] arrt = GetArr("arr1", m); print("xx " + arrt[1]); //this["Tests1"](); //Console.ReadKey(); }
public override void GetAtk(string atkName = null) { if (roleDate.isBeHiting) { return; } if (isDodgeing || isAcing) { return; } //阻止了快落地攻击时候的bug //这里会导致AI回跳 进入落地动作而不能进入atk动作 所以回跳的跳起在动画里面做 不在程序里面给Y方向推力 if (DBBody.animation.lastAnimationName == DOWNONGROUND) { return; } if (!isAtk) { isAtk = true; isAtking = true; isTXShow = true; isAtkYc = true; yanchi = 0; jisuqi = 0; if (isInAiring) { atkZS = DataZS.jumpAtkZS; } else { atkZS = DataZS.atkZS; } if (atkName == null) { vOAtk.GetVO(atkZS[(int)atkNums]); DBBody.animation.GotoAndPlayByFrame(vOAtk.atkName, 0, 1); } else { //GetPause(0.5f,0.5f); string _atkName = atkName; if (atkName.Split('|').Length != 1) { _atkName = atkName.Split('|')[0]; float times = float.Parse(atkName.Split('|')[1].Split('-')[0]); float scales = 0.5f; if (atkName.Split('|')[1].Split('-').Length != 1) { scales = float.Parse(atkName.Split('|')[1].Split('-')[1]); } GetPause(times, scales); } vOAtk.GetVO(GetDateByName.GetInstance().GetDicSSByName(_atkName, DataZS.GetInstance())); DBBody.animation.GotoAndPlayByFrame(vOAtk.atkName, 0, 1); if (vOAtk.qishouYC != 0) { GetPause(vOAtk.qishouYC, 0.01f); } } MoveVX(vOAtk.xF, true); } }
protected override void GetAtkFS() { //print(1); if (GetComponent <RoleDate>().isDie || !thePlayer || thePlayer.GetComponent <RoleDate>().isDie) { GetComponent <AIDestinationSetter>().ReSetAll(); GetComponent <AIPath>().canMove = false; return; } //print(2); if (IsIfStopMoreTime()) { return; } //print(3); //print("IsBossStop "+ IsBossStop); if (IsBossStop) { return; } //print(4); if (IsInDuBai()) { return; } //print(5); if (IsInZDAcing) { return; } //print(6); if (!isAction) { isAction = true; acName = GetZS(); //gameBody.isAcing = false; //IsGetAtkFSByName = false; print(" atkNum: " + atkNum + " -----------------------------------------------------------------------------------------> name " + acName + " isACing " + isActioning); string[] strArr = acName.Split('_'); LongNotMoveJishi = 0; CurrentAIName = strArr[0]; if (CurrentAIName == "ZD") { //进入自动攻击流程 print("***自动攻击的 AI 技能 " + acName); if (!isActioning) { isActioning = true; IsInZDAcing = true; atkNum++; } moretimes = 0; string str = this.gameObject.GetInstanceID() + "@" + acName; ObjectEventDispatcher.dispatcher.dispatchEvent(new UEvent(EventTypeName.ZD_SKILL_SHOW, str), this); return; } if (strArr.Length > 1 && strArr[0] != "atk") { acName = strArr[0]; } if (acName == "walkBack") { return; } if (strArr[0] == "lz") { //不需要转向 DontNear = true; return; } else { DontNear = false; } if (strArr[0] == "AIZiDans") { acName = strArr[0]; GetComponent <AI_ZiDans>().SetZiDanType(int.Parse(strArr[1])); return; } if (strArr[0] == "AIZiDanDingxiang") { acName = strArr[0]; GetComponent <AI_ZidanDingxiang>().SetZiDanType(int.Parse(strArr[1])); return; } if (strArr[0] == "AIFlyPenhuo") { acName = strArr[0]; if (strArr.Length > 1) { GetComponent <AIFlyPenghuo>().SetTimeAndMoveSpeed(strArr[1]); } else { GetComponent <AIFlyPenghuo>().SetTimeAndMoveSpeed(""); } return; } if (acName == "hengXiangChongZhuang") { return; } //连弹攻击 if (acName == "liandan") { return; } if (acName == "hengXiangCZKuaiSu") { return; } if (acName == "zongYa") { return; } if (acName == "gddZongYa") { //固定点 重压 return; } if (acName == "yishan") { return; } if (strArr[0] == "jn") { jn_effect = acName; acName = "jn"; } if (strArr[0] == "qianhua") { acName = "qianhua"; gameBody.Qianhua(float.Parse(strArr[1])); return; } else if (strArr[0] == "backUp") { acName = "backUp"; gameBody.GetBackUp(float.Parse(strArr[1])); return; } if (strArr[0] == "rest") { acName = "rest"; GetComponent <AIRest>().GetRestByTimes(float.Parse(strArr[1])); return; } if (acName == "shanxian") { //aisx = GetComponent<AIShanxian>(); //atkDistance = aisx.sxDistance; acName = "shanxian"; return; } if (strArr[0] == "flyToPot1") { //取到哪个点 acName = "flyToPot1"; if (strArr.Length > 1) { GetComponent <AIFlyToPot1>().SetPotType(int.Parse(strArr[1])); } else { GetComponent <AIFlyToPot1>().SetPotType(); } return; } if (strArr[0] == "flyToPot2GD") { //取到哪个 点 固定位置 if (strArr.Length > 1) { GetComponent <AIFlyToPot2GD>().SetPotType(int.Parse(strArr[1])); } else { GetComponent <AIFlyToPot2GD>().SetPotType(); } acName = "flyToPot2GD"; return; } if (acName == "runCut") { //冲砍 acName = "runCut"; return; } if (acName == "chongji") { acName = "chongji"; return; } if (acName == "chongjiHX") { acName = "chongjiHX"; return; } if (acName == "chongjiHX2") { acName = "chongjiHX2"; return; } if (acName == "zidan") { acName = "zidan"; return; } if (acName == "yuanli") { acName = "yuanli"; return; } if (strArr[0] == "yinshen") { acName = strArr[0]; if (strArr.Length > 1) { GetComponent <AIYinshen>().SetYinShenPosBiaoJi(strArr[1]); } else { GetComponent <AIYinshen>().SetYinShenPosBiaoJi(); } return; } if (acName == "yueguangzhan" || acName == "zhongzhan" || acName == "gotoAtk" || acName == "dazhan" || acName == "3dianqiu" || acName == "dianqiang" || acName == "diandings") { return; } //if (acName.Split('|').Length > 1) //{ //} //else //{ // atkDistance = GetAtkVOByName(acName, DataZS.GetInstance()).atkDistance; // atkDistanceY = GetAtkVOByName(acName, DataZS.GetInstance()).atkDistanceY; //} print(" acName " + acName); atkDistance = GetAtkVOByName(acName.Split('|')[0], DataZS.GetInstance()).atkDistance; atkDistanceY = GetAtkVOByName(acName.Split('|')[0], DataZS.GetInstance()).atkDistanceY; print(" acName " + acName + " atkDistanceY: " + atkDistanceY); } //print("acName "+ acName+" shange dongzuo ACName "+GetComponent<AirGameBody>().GetDB().animation.lastAnimationName); if (aiQishou && aiQishou.isQishouAtk && !aiQishou.isFirstAtked) { if (atkDistance == 0f) { aiQishou.isFirstAtked = true; } else { if (Mathf.Abs(thePlayer.transform.position.x - transform.position.x) <= atkDistance) { aiQishou.isFirstAtked = true; } } return; } if (acName == "jn") { JNAtk(); return; } if (acName == "hengXiangChongZhuang") { GetHengXiangChongZhuang(); return; } if (acName == "hengXiangCZKuaiSu") { GetHengXiangCZKuaiSu(); return; } if (acName == "zongYa") { GetZongYa(); return; } if (acName == "gddZongYa") { //固定点 重压 GetGDDZongYa(); return; } if (acName == "liandan") { GetLianDan(); return; } if (acName == "walkBack") { GetWalkBack(); return; } if (acName == "qianhua") { GetQianhua(); return; } if (acName == "backUp") { GetBackUp(); return; } if (acName == "rest") { GetRest(); return; } if (acName == "shanxian") { GetShanXian(); return; } if (acName == "runCut") { GetRunCut(); return; } if (acName == "yishan") { GetYiShan(); return; } if (acName == "shanxian") { GetShanXian(); return; } if (acName == "chongji") { //print("------------------------------------------> chognji!!! "); GetChongji(); return; } if (acName == "chongjiHX") { //print("------------------------------------------> chognji!!! "); GetChongJiHX(); return; } if (acName == "chongjiHX2") { GetChongJiHX2(); return; } if (acName == "zidan") { GetZiDanFire(); return; } if (acName == "yuanli") { GetYuanli(); return; } if (acName == "flyToPot1") { GetFlyToPot1(); return; } if (acName == "flyToPot2GD") { GetFlyToPot2GD(); return; } if (acName == "yueguangzhan") { GetYueGuangZhan(); return; } if (acName == "dianqiang") { //电墙 GetDianqiang(); return; } if (acName == "diandings") { //电钉 GetDianding(); return; } if (acName == "3dianqiu") { Get3dianqiu(); return; } if (acName == "yinshen") { GetYinshen(); return; } if (acName == "gotoAtk") { GetGotoAtk(); return; } if (acName == "dazhan") { GetDaZhan(); return; } if (acName == "AIZiDans") { GetAIZiDans(); return; } if (acName == "AIZiDanDingxiang") { //固定方向子弹 GetAIZiDanDingxiang(); return; } if (acName == "AIFlyPenhuo") { GetAIFlyPenhuo(); return; } //print(" -------->acName "+ acName); PtAtk(); }
static public string GetValueByName(string _name) { //print(DataZS.GetInstance()["tt"]); return(DataZS.GetInstance()["tt"] as string); }