void Start() { // EnemyCtrlをキャッシュする enemyCtrl = transform.root.GetComponent <EnemyCtrl> (); }
public void Init(EnemyCtrl manager) { this.manager = manager; handle = null; }
public Sensor(int viewRadius, int viewAngle, EnemyCtrl ctrl) { this.viewRadius = viewRadius; this.viewAngle = viewAngle; this.ctrl = ctrl; }
void Awake() { Instance = this; //setAirshipPos = true; }
void Start() { // EnemyCtrlをキャッシュする enemyCtrl = transform.root.GetComponent<EnemyCtrl>(); }
public void SetEndAttack(float f) { StartCoroutine(EnemyCtrl.WaitTimeAction(f, () => EndAttack())); }
public GoblinAttackState(Animator anim, EnemyCtrl ctrl) { this.anim = anim; this.enemyCtrl = ctrl; originSpeed = this.enemyCtrl.RoleData.speed; }
private void Awake() { Instance = this; }
private void Start() { enemy = GetComponentInParent <EnemyCtrl>(); }
public void ProcessUserMsg() { if (msgMap.Keys.Count <= 0) { return; } var it = msgMap.Keys.GetEnumerator(); while (it.MoveNext()) { Queue <JsonData> queue = msgMap[it.Current]; for (int j = 0; j < queue.Count; j++) { JsonData msg = queue.Dequeue(); eNetworkMsg msgType = (eNetworkMsg)int.Parse(msg["msgType"].ToString()); switch (msgType) { case eNetworkMsg.NetworkLogin: { #if UNITY_EDITOR Debug.Log("Receive Login"); #endif EnemyCtrl enemy = Instantiate(enemyPrefab, new Vector3(-200f, 0f, 0f), Quaternion.identity).GetComponent <EnemyCtrl>(); enemyList.Add(enemy); enemy.MacAddress = it.Current; if (network.mlistUserMacAddress.Count == 1) { break; } OnSendMsg(eNetworkMsg.NetworkInitInfoReq); } break; case eNetworkMsg.NetworkLogout: { #if UNITY_EDITOR Debug.Log("Receive Logout"); #endif for (int i = 0; i < enemyList.Count; i++) { if (it.Current == enemyList[i].MacAddress) { EnemyCtrl enemy = enemyList[i]; enemyList.RemoveAt(i); Destroy(enemy.gameObject); break; } } msgMap[it.Current].Clear(); msgMap[it.Current] = null; msgMap.Remove(it.Current); it = msgMap.Keys.GetEnumerator(); } break; case eNetworkMsg.NetworkPlaying: { EnemyCtrl enemy = null; #if UNITY_EDITOR Debug.Log("Receive Playing"); #endif for (int i = 0; i < enemyList.Count; i++) { if (it.Current == enemyList[i].MacAddress) { enemy = enemyList[i]; //enemy.transform.position = new Vector3(float.Parse(msg["x"].ToString()), 0f, float.Parse(msg["z"].ToString())); float x = float.Parse(msg["x"].ToString()); float z = float.Parse(msg["z"].ToString()); float yAngle = float.Parse(msg["yAngle"].ToString()); enemy.EnqueuePosAndRot(x, z, yAngle); break; } } } break; case eNetworkMsg.NetworkInitInfoReq: { #if UNITY_EDITOR Debug.Log("Receive InitInfoReq"); #endif OnSendMsg(eNetworkMsg.NetworkInitInfoRes); } break; case eNetworkMsg.NetworkInitInfoRes: { if (isReceiveInitData == true) { break; } isReceiveInitData = true; #if UNITY_EDITOR Debug.Log("Receive InitInfoRes"); #endif } break; default: break; } } } }
private void GetPlayer() { EnemyCtrl = gameObject.GetComponent <EnemyCtrl>(); playerTransform = EnemyCtrl.playerObject.transform; }
// Update is called once per frame void Update() { //Debug.Log("록온 시스템을 누가 가져오는지 확인용 로그" + LockOnSystemUs.tag); //록온시스템을 사용하는게 플레이어 일 경우 if (LockOnSystemUs.tag == "Player") { //Debug.Log("플레이어 tr 값을 가져왔는지 확인 : " + LockOnSystemUs); //록온시스템 확인용 드로우레이저 포인트. 씬에서만 나오고 게임에선 안나옴. //Debug.DrawRay(lockOn.position, lockOn.forward * 100.0f, Color.green); //레이캐스트 함수. RaycastHit lockOnHit; //Physics.Raycast(lockOn.position, lockOn.forward, out lockOnHit, 100.0f); //레이캐스트 적용되는동안 if (Physics.Raycast(lockOn.position, lockOn.forward, out lockOnHit, 100.0f)) { //모델의 중심점에서 좌표값반환 xyz만큼 차지하는 좌표값 //Debug.Log(lockOnHit.collider.renderer.bounds.size); //록온에 검출된것이 적군일경우 if (lockOnHit.collider.tag == ("Enemy")) { //타겟에 등록된 적군의 정보를 타겟 변수에 저장. lockOnTarget = lockOnHit.collider.transform; //missileLockOnTarget.LockOnTargetGet = lockOnTarget; //록온상태 확인 변수 변경 lockOnCheck = true; //MissileCtrl.LockOnCheck = true; //guiSet = GameObject.FindGameObjectWithTag("GuiSetting"); //적군 체력바를 화면에 표시하기 위해 Gui 스크립트 값 변경. guiSet.GetComponent <GuiSet>().enemyHpBarCheck = true; //Debug.Log(guiSet.GetComponent<GuiSet>().enemyHpBarCheck + " 적군 체력바 체크값 확인"); //적군 체력바에 실시간으로 전송하기 위한 타겟정보 저장. enemyHpBar = lockOnTarget.GetComponent <EnemyCtrl>(); //록온된 적군 현재 체력 저장용 float fHp; //록온된 적군 최대 체력 저장용 float fMaxHp; //적군 체력 저장 fHp = enemyHpBar.Hp; //적군 최대체력 저장 fMaxHp = enemyHpBar.maxHp; //적군 체력 퍼센트로 변환하여 저장 enemyHpPercent = (fHp / fMaxHp); //gui에 적군 체력바 체력에 따라 실시간으로 조절. guiSet.GetComponent <GuiSet>().enemyHpBar.fillAmount = enemyHpPercent; ////Debug.Log(enemyHpPercent + " 적군체력 몇이니??????????????"); ////Debug.Log(enemyHpBar.Hp + " 적군 현재 체력 얼마?"); ////Debug.Log(enemyHpBar.maxHp + " 적군 체력최대치 얼마?"); } //록온상태가 끝날경우. else { //록온체크값 변경. lockOnCheck = false; //타겟 정보 리셋 lockOnTarget = lockOnReset; //적군 록온중이 아니므로 적군 체력바 off guiSet = GameObject.FindGameObjectWithTag("GuiSetting"); guiSet.GetComponent <GuiSet>().enemyHpBarCheck = false; //Debug.Log(guiSet.GetComponent<GuiSet>().enemyHpBarCheck + "적군 체력바 체크 두번째"); //missileLockOnTarget.LockOnTargetGet = lockOnTarget; } } //혹은 록온이 아예 실행아닐경우. 위와 동일. else { lockOnTarget = lockOnReset; guiSet = GameObject.FindGameObjectWithTag("GuiSetting"); guiSet.GetComponent <GuiSet>().enemyHpBarCheck = false; //Debug.Log(guiSet.GetComponent<GuiSet>().enemyHpBarCheck + "적군 체력바 체크333"); //missileLockOnTarget.LockOnTargetGet = lockOnTarget; lockOnCheck = false; } } //적군이 록온기능 사용일때. 위와 동일한 코드지만 사용하는 기능이 적어 코드 갯수차이남. if (LockOnSystemUs.tag == "Enemy") { //Debug.Log("온 시스템을 누가 가져오는지 확인용 로그. 적군용 : " + LockOnSystemUs.tag); //Debug.DrawRay(lockOn.position, lockOn.forward * 100.0f, Color.green); RaycastHit lockOnHit; //Physics.Raycast(lockOn.position, lockOn.forward, out lockOnHit, 100.0f); if (Physics.Raycast(lockOn.position, lockOn.forward, out lockOnHit, 100.0f)) { //Debug.Log(lockOnHit.collider.tag + " " + lockOnHit.collider.gameObject); //모델의 중심점에서 좌표값반환 xyz만큼 차지하는 좌표값 //Debug.Log(lockOnHit.collider.renderer.bounds.size); if (lockOnHit.collider.tag == ("Player")) { lockOnTarget = lockOnHit.collider.transform; ////Debug.Log(lockOn.collider.tag + "플레이어 태그값 가져오나?"); //missileLockOnTarget.LockOnTargetGet = lockOnTarget; lockOnCheck = true; //MissileCtrl.LockOnCheck = true; } else { lockOnCheck = false; lockOnTarget = lockOnReset; //missileLockOnTarget.LockOnTargetGet = lockOnTarget; } } else { lockOnTarget = lockOnReset; //missileLockOnTarget.LockOnTargetGet = lockOnTarget; lockOnCheck = false; } } }
// Use this for initialization void Start() { enemyCtrl = transform.root.GetComponent<EnemyCtrl>(); }
/// <summary> /// trueならAI関数の呼び出しをやめる /// </summary> /// <param name="flag"></param> protected void SetAIStop(bool flag) { StopAIAction = flag; EnemyCtrl.StopMove(); }
public GoblinDieState(Animator anim, EnemyCtrl ctrl) { this.anim = anim; this.enemyCtrl = ctrl; }
/// <summary> /// 敵を発見したときの処理 /// </summary> void DetectAction() { EnemyCtrl.DetectAction(); SetAIState(AISTATE.WAIT, 3.0f); }
void Start() { // EnemyCtrl을 미리 준비한다. enemyCtrl = transform.root.GetComponent <EnemyCtrl>(); }
void Start() { // EnemyCtrl을 미리 준비한다. enemyCtrl = transform.root.GetComponent<EnemyCtrl>(); }
void Awake() { enermyNav = GetComponent <NavMeshAgent> (); ani = GetComponent <Animation> (); enemyCtrl = GetComponent <EnemyCtrl> (); }