public void MultiLock() { foreach (var enemy in enemybotProp) { EnemyProp enemyVal = enemy.Value; if (enemyVal.gameObject != null) { Vector3 screenPos = Util.CoordFromCam(enemyVal.gameObject.transform.position); Vector2 ScrPosCon = Util.ScreenConvert(screenPos); float rank = Mathf.Abs(ScrPosCon.x) + Mathf.Abs(ScrPosCon.y); if (screenPos.z >= 0 && (ScrPosCon.x >= -dScrn && ScrPosCon.x <= dScrn && ScrPosCon.y >= -dScrn && ScrPosCon.y < dScrn)) { if (Input.GetKey("r")) { if (!enemyVal.lockState) { enemyVal.lockOnTime = lockSetting; lockedEnemyList.Add(enemyVal); } enemyVal.lockState = true; } } } } }
public void RankUpdate(int type, EnemyProp enemy, Vector3 pos, Vector3 velocity) { if (type == 0) { enemy.lockRank = Vector3.Distance(pos, enemy.posNow); } }
public void RadarUnique(AutoPilot ap, Vector3 botPos, EnemyProp point) { Vector2 RelPos2D = (point.GetRadar2dLocation(botPos) * radarScale) + radarOffset; float dir2d = point.GetRadar2dAngle(); Util.PolyMaker2D(ap, Color.yellow, 8 + radarScale * 5, 3, dir2d, RelPos2D); Util.PolyMaker2D(ap, Color.black, 6 + radarScale * 5, 3, dir2d, RelPos2D); // Util.PolyMaker2D(ap,Color.white,30,3,-90*Time.time/1.15f,RelPos2D/10); }
public void LockSet(EnemyProp targetProp) { foreach (var enemy in topEnemyList) { if (enemy.gameObject != null && targetProp.gameObject != null) { if (enemy.gameObject.name.Contains(targetProp.gameObject.name)) { int index = topEnemyList.FindIndex(a => a.gameObject.name == targetProp.gameObject.name) + 1; ap.SetAimPosition(index, targetProp.estPos); } } } }
public void ResetLock() { foreach (var enemy in enemybotProp) { EnemyProp enemyVal = enemy.Value; if (enemyVal.gameObject != null) { enemyVal.lockState = false; } } lockedEnemyList = new List <EnemyProp>(); ap.SetAimPosition(1, new Vector3(0, 0, 0)); ap.SetAimPosition(2, new Vector3(0, 0, 0)); ap.SetAimPosition(3, new Vector3(0, 0, 0)); ap.SetAimPosition(4, new Vector3(0, 0, 0)); ap.SetAimPosition(5, new Vector3(0, 0, 0)); ap.SetAimPosition(6, new Vector3(0, 0, 0)); }
public void LockOnHUD(Vector3 origin, EnemyProp targetProp) { Vector3 target = targetProp.posNow; Vector3 screenPos = Util.CoordFromCam(target); Vector2 ScrPosCon = Util.ScreenConvert(screenPos); Vector3 estPos = targetProp.estPos; Vector3 screenPos2 = Util.CoordFromCam(estPos); Vector2 ScrPosCon2 = Util.ScreenConvert(screenPos2); // ap.Print(8, "Lock : " + targetProp.lockOnTime ); if (screenPos.x <= 0 || screenPos.y <= 0 || screenPos.x >= Screen.width || screenPos.y >= Screen.height) { ap.DrawLine3D(Color.red, Vector3.MoveTowards(origin, target, 5f), Vector3.MoveTowards(origin, target, 15f)); } if (screenPos.z >= 0) { for (int i = 0; i < topEnemyList.Count; i++) { if (topEnemyList[i].gameObject == targetProp.gameObject) { int index = topEnemyList.FindIndex(a => a.gameObject == targetProp.gameObject) + 1; Util.PolyMaker2D(ap, Util.GroupColor(index), 9 + targetProp.lockOnTime * 10, 4, 45 + 180 * targetProp.lockOnTime, ScrPosCon); Util.PolyMaker2D(ap, Color.black, 5 + targetProp.lockOnTime * 10, 4, 45 + 180 * targetProp.lockOnTime, ScrPosCon); if (screenPos2.z >= 0) { Util.PolyMaker2D(ap, Util.GroupColor(index), 9 + targetProp.lockOnTime * 10, 3, 0 + 180 * targetProp.lockOnTime, ScrPosCon2); } ap.DrawLine3D(Util.GroupColor(index), target, estPos); } } Util.PolyMaker2D(ap, Color.black, 5 + targetProp.lockOnTime * 10, 4, 45 + 180 * targetProp.lockOnTime, ScrPosCon); } else { ap.DrawLine3D(Color.red, Vector3.MoveTowards(origin, target, 5f), Vector3.MoveTowards(origin, target, 15f)); } }
public EnemyProp LockOn(Dictionary <string, EnemyProp> enemyList, EnemyProp enemyLocked) { EnemyProp lockedOn = enemyLocked; foreach (var enemy in enemyList) { EnemyProp enemyVal = enemy.Value; if (enemyVal.gameObject != null) { Vector3 screenPos = Util.CoordFromCam(enemyVal.gameObject.transform.position); Vector2 ScrPosCon = Util.ScreenConvert(screenPos); // ap.DrawLine2D(Color.white,new Vector2(screenPos.x,screenPos.x),new Vector2(ScrPosCon.x,ScrPosCon.y)); float rank = Mathf.Abs(ScrPosCon.x) + Mathf.Abs(ScrPosCon.y); // ap.Print(0, "name : " + ScrPosCon ); if (screenPos.z >= 0 && (ScrPosCon.x >= -dScrn && ScrPosCon.x <= dScrn && ScrPosCon.y >= -dScrn && ScrPosCon.y < dScrn)) { if (Input.GetKey("r")) { if (lockedOn == null) { lockedOn = enemyVal; lockedOn.lockOnTime = lockSetting; } else { Vector3 rankPos = Util.CoordFromCam(lockedOn.gameObject.transform.position); Vector2 rankPosCon2 = Util.ScreenConvert(rankPos); float rank2 = Mathf.Abs(rankPosCon2.x) + Mathf.Abs(rankPosCon2.y); if (lockedOn != enemy.Value && rank < rank2) { lockedOn = enemyVal; lockedOn.lockOnTime = lockSetting; } } } } } } return(lockedOn); }
public void LockOnSystem(AutoPilot ap) { RadarLocked = true; Util.PolyMaker2D(Color.white, dScrn + 3, 4, 45, new Vector2(0, 0)); foreach (var enemy in enemyBot) { if (enemy.Value.gameObject != null) { Vector3 screenPos = Util.CoordFromCam(enemy.Value.gameObject.transform.position); Vector2 ScrPosCon = Util.ScreenConvert(screenPos); if (screenPos.z >= 0 && !enemy.Value.lockState) { Util.PolyMaker2D(Color.blue, 4, 4, 90 * Time.time / 1.15f, ScrPosCon); } if (enemy.Value.lockState) { Scan.LockOnHUD(botPos, enemy.Value); if (Menu.GetValueBool("lockOnStat")) { Scan.LockSet(enemy.Value); } } } } if (Menu.GetValueBool("lockOnStat")) { Scan.LockSet(0); } foreach (var enemy in plasmaPoint) { if (enemy.Value.gameObject != null) { Vector3 screenPos = Util.CoordFromCam(enemy.Value.gameObject.transform.position); Vector2 ScrPosCon = Util.ScreenConvert(screenPos); if (screenPos.z >= 0) { Util.PolyMaker2D(Color.red, 4, 4, 90 * Time.time / 1.15f, ScrPosCon); } } } if (lockedEnemy != null) { if (lockedEnemy.gameObject == null) { lockedEnemy = nullEnemy; } } lockedEnemy = Scan.LockOn(enemyBot, lockedEnemy); Lock.input(); if (lockedEnemy != null) { Rad.RadarUnique(ap, botPos, lockedEnemy); Lock.LockOn(botPos, botVel, lockedEnemy.gameObject); Scan.LockOnHUD(botPos, lockedEnemy); } if (Key.PressedDown("Reset LockOn", 1)) { Scan.ResetLock(); } Lock.LockOnUpdate(Menu.GetValueBool("lockOnStat")); }