private void Start() { enemyAI = GetComponent <EnemyAIController>(); seeker = GetComponent <Seeker>(); rb = GetComponent <Rigidbody2D>(); anim = GetComponent <Animator>(); if (enemyAI.stats.canFly) { rb.gravityScale = 0f; } else { rb.gravityScale = 1f; } if (enemyAI.stats.canMove) { rb.constraints = RigidbodyConstraints2D.FreezeRotation; } else { rb.constraints = RigidbodyConstraints2D.FreezeAll; } InvokeRepeating("UpdateMovement", 0f, .5f); }
private void OnCollisionEnter2D(Collision2D collision) { Debug.Log(collision.gameObject.name); if (!collision.gameObject.CompareTag("Player")) { Destroy(gameObject); } if (shooter == Shooter.player) { EnemyAIController enemy = collision.gameObject.GetComponent <EnemyAIController>(); if (enemy != null) { Vector2 knockbackDirection = (enemy.transform.position - transform.position).normalized * shootKnockback; enemy.TakeDamage(shootDamage, knockbackDirection); Destroy(gameObject); } } else { PlayerCombat enemy = collision.gameObject.GetComponent <PlayerCombat>(); if (enemy != null) { Vector2 knockbackDirection = (enemy.transform.position - transform.position).normalized * shootKnockback; enemy.TakeDamage(shootDamage, knockbackDirection); Destroy(gameObject); } } }
private void OnTriggerExit(Collider other) { if (other.gameObject.tag == "Enemy" && other.GetType() == typeof(CapsuleCollider)) { eController = (EnemyAIController)other.gameObject.GetComponent(typeof(EnemyAIController)); eController.editFloorValue(-1); } else if (other.gameObject.tag == "Player" && other.gameObject.tag != "Ragdoll") { pController.editFloorValue(-1); foreach (MeshRenderer mesh in renderers) { mesh.enabled = true; } } else if (other.gameObject.name == "ChestP") { GameObject pRagdoll = GameObject.FindWithTag("PlayerRagdoll"); prController = (PlayerRagdollHandler)pRagdoll.gameObject.GetComponent(typeof(PlayerRagdollHandler)); prController.editFloorValue(-1); foreach (MeshRenderer mesh in renderers) { mesh.enabled = false; } } else if (other.gameObject.name == "PelvisE") { GameObject parent1 = other.transform.parent.gameObject; GameObject parent2 = parent1.transform.parent.gameObject; erController = (RagdollHandler)parent2.gameObject.GetComponent(typeof(RagdollHandler)); erController.editFloorValue(-1); } }
void ActualStart() { //shipScript = GameObject.FindGameObjectWithTag("Ship").GetComponent<ScriptShipFollow>(); myParent = this.transform.parent.gameObject; if (myParent.tag == "Player") { //Debug.Log("my parent is player!"); //shipScript = myParent.transform.GetChild(2).GetComponent<ScriptShipFollow>(); if (myParent.transform.FindChild("Ships").FindChild("SPACESHIP 1").gameObject.activeSelf) { shipScript = myParent.transform.FindChild("Ships").FindChild("SPACESHIP 1").GetComponent <ScriptShipFollow>(); } else { shipScript = myParent.transform.FindChild("Ships").FindChild("siar1x").GetComponent <ScriptShipFollow>(); } //Debug.Log("Ship script: " + shipScript.gameObject.name); } else { AIScript = myParent.transform.FindChild("siar1x").GetComponent <EnemyAIController>(); } tigerShark = GameObject.Find("SPACESHIP 1"); particalSystem1 = GameObject.Find("ParticalSystem1"); particalSystem2 = GameObject.Find("ParticalSystem2"); movements = GameObject.Find("Track1World").GetComponent <ScriptEngine>().movements; //PrintInformation(); //StartCoroutine(movementEngine()); //StartCoroutine(EffectsEngine()); //StartCoroutine(FacingEngine()); startPos = this.transform.position; letsDoThis = true; }
private void DoActions(EnemyAIController controller) { for (int i = 0; i < actions.Length; i++) { actions[i].DoAction(controller); } }
// Update is called once per frame void FixedUpdate() { if (alive) { if (Input.GetButton("Fire1") && wait >= 5) { aS.Play(); wait = 0; StartCoroutine("DisplayLine"); Vector3 rayOrigin = transform.position; RaycastHit hit; shotLine.SetPosition(0, rayOrigin); if (Physics.Raycast(rayOrigin, transform.forward, out hit, weaponRange)) { shotLine.SetPosition(1, hit.point); GameObject hitPlayer = hit.transform.gameObject; if (hitPlayer.tag == "Enemy") { EnemyAIController handler = (EnemyAIController)hitPlayer.GetComponent(typeof(EnemyAIController)); handler.gotHit(transform.forward); } } else { shotLine.SetPosition(1, rayOrigin + transform.forward * weaponRange); } } wait++; } }
public void StartActions(EnemyAIController controller) { for (int i = 0; i < actions.Length; i++) { actions[i].StartAction(controller); } }
public override bool Decide(EnemyAIController controller, out State returnValue) { returnValue = stateToGoTo; if (Vector2.Distance(controller.transform.position, controller.target.transform.position) > maxDistance) { return(true); } else if (Vector2.Distance(controller.transform.position, controller.target.transform.position) < minDistance) { if (minDistanceState != null) { returnValue = minDistanceState; return(true); } else { return(false); } } else { return(false); } }
public void Initialize(Character character, EnemyAIController ai) { target = character; //radius += target.radius; controller = ai; isInit = true; }
protected override void InitSubStructures() { base.InitSubStructures(); AIController = new EnemyAIController() { AddressReadFunc = () => AIControllerPtr }; }
void Start() { target = GameObject.FindGameObjectWithTag("Player"); anim = GetComponent <Animator>(); enemyAIControllerScript = GetComponent <EnemyAIController>(); info = GetComponent <EnemyInfo>(); atkDistance = info.attackDistance; atkBetween = info.attackBetween; attackTimer = atkBetween; }
private void Awake() { if (_instance != null && _instance != this) { Destroy(this.gameObject); } else { _instance = this; } DontDestroyOnLoad(this.gameObject); }
public bool DoDecisions(EnemyAIController controller, out State nextState) { foreach (Decision decision in Decisions) { if (decision.Decide(controller, out nextState)) { return(true); } } nextState = null; return(false); }
void Start() { round = 0; bean1 = GameObject.Find("enemybean1"); bean2 = GameObject.Find("enemybean2"); nextBean1 = GameObject.Find("enemyNextBean1"); nextBean2 = GameObject.Find("enemyNextBean2"); sprites = Resources.LoadAll("beans"); nextRandomBean1 = Random.Range(1, 6); nextRandomBean2 = Random.Range(1, 6); ai = new EnemyAIController(); createNewBeanPair(); }
// Use this for initialization void ActualStart() { myParent = transform.parent.transform.parent.gameObject; if (myParent.tag == "Player") { shipScript = myParent.transform.FindChild("Ships").transform.FindChild("siar1x").GetComponent <ScriptShipFollow>(); } else { AIScript = myParent.transform.FindChild("siar1x").GetComponent <EnemyAIController>(); } letsDoThis = true; }
public override void DoAction(EnemyAIController controller) { if (movementScript.reachedDestination) { nodeIndex++; if (nodeIndex >= nodes.Count) { nodeIndex = 0; } movementScript.destination = nodes[nodeIndex] + controller.transform.position; } }
private void CheckTransitions(EnemyAIController controller) { State nextState = null; foreach (Transition transition in transitions) { if (transition.DoDecisions(controller, out nextState)) { controller.TransitionState(nextState); return; } } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision.CompareTag("Obstacle")) { Destroy(gameObject); } if (shooter == Shooter.player) { EnemyAIController enemy = collision.GetComponent <EnemyAIController>(); BossBehaviour boss = collision.GetComponent <BossBehaviour>(); ProtectionAntenna antenna = collision.GetComponent <ProtectionAntenna>(); if (enemy != null) { Vector2 knockbackDirection = (enemy.transform.position - transform.position).normalized * shootKnockback; enemy.TakeDamage(shootDamage, knockbackDirection); Destroy(gameObject); } if (boss != null) { boss.TakeDamage(shootDamage); Destroy(gameObject); } if (antenna != null) { antenna.TakeDamage(shootDamage); Destroy(gameObject); } /* if (!collision.CompareTag("Player")) * Destroy(gameObject);*/ } else { PlayerCombat enemy = collision.GetComponent <PlayerCombat>(); if (enemy != null) { Vector2 knockbackDirection = (enemy.transform.position - transform.position).normalized * shootKnockback; enemy.TakeDamage(shootDamage, knockbackDirection); Destroy(gameObject); } /* if (!collision.CompareTag("Enemy")) * Destroy(gameObject);*/ } }
public override bool Decide(EnemyAIController controller, out State returnValue) { returnValue = null; RaycastHit2D[] hits; hits = Physics2D.CircleCastAll(controller.transform.position, radius, direction, 0, 1 << LayerMask.NameToLayer("Player")); foreach (RaycastHit2D hit in hits) { returnValue = stateToGoTo; controller.target = hit.transform; controller.enemy.target = hit.transform; return(true); } return(false); }
// Start is called before the first frame update void Start() { currentState = BasicMeleeState.Idle; player = GameObject.FindGameObjectWithTag("Player"); playerGridPosition = player.GetComponent <GridPosition>(); playerHealth = player.GetComponent <PlayerHealth>(); gridPosition = GetComponent <GridPosition>(); aStar = GetComponent <AIPath>(); attackCooldownCounter = 0; attackTimeCounter = 0; canAttack = false; spriteRenderer = GetComponent <SpriteRenderer>(); returnPoint = Instantiate(pointer); returnPoint.transform.position = transform.position; destinationSetter = GetComponent <AIDestinationSetter>(); aiController = GetComponent <EnemyAIController>(); }
// Use this for initialization void Start() { rootObject = transform.parent.transform.parent.gameObject; if (rootObject.tag == "Enemy") { isPlayer = false; } myParent = transform.parent.gameObject; if (isPlayer) { shipScript = myParent.GetComponent <ScriptShipFollow>(); } else { AIScript = myParent.GetComponent <EnemyAIController>(); } }
void Start() { //start moving the agent in path agent.Init(); //instantiate the enemies for (int i = 0; i < numberOfEnemy; i++) { EnemyAIController _enemy = Instantiate(enemyPrefab, transform); _enemy.Init(enemyPositions, "Enemy " + i); _enemy.onPositionDataSender.AddListener(GetEnemyData); enemiesListRef.Add(_enemy); } StartCoroutine(MakeDecision()); }
void OnTriggerStay(Collider col) { if (col.tag == TagsUtil.ENEMY && isShooting) { EnemyAIController enemy = col.GetComponent <EnemyAIController>(); spawEnemy.freirasActived.Remove(col.gameObject); spawEnemy.freirasDesactived.Add(col.gameObject); enemy.Died(); freirasDied += 1; contFreirasTotal += 1; if (freirasDied >= spawEnemy.maxEemyWave) { GameController.gameController.ShowWarning(); StartCoroutine(NewWave()); freirasDied = 0; } } }
public override void DoAction(EnemyAIController controller) { //TODO: make getter function to check if attack is off cooldown currentTime += Time.deltaTime; if (currentTime > targetTime) { currentTime = 0; if (weapon != null) { weapon.Attack(1, Vector2.Angle(controller.transform.position, controller.target.position)); } } else { if (weapon != null) { weapon.Attack(0, Vector2.Angle(controller.transform.position, controller.target.position)); } } }
private void CreateEnemy(bool isLeft) { int timeline = uiGameScene.ElapsedGameTime; SpawnProperty prop = spawnTable[timeline / 5]; try { } catch (Exception e) { } GameObject spawnPosition = isLeft ? LeftPosition : RightPosition; Debug.Log("적이 스폰됨"); if (spawnPosition != null) { Enemy enemy = AssetManager.Instance.Character.Retrieve("Zombie") as Enemy; EnemyAIController controller = enemy.GetComponent <EnemyAIController>(); controller.SetSpawnProperty(prop); enemy.transform.position = spawnPosition.transform.position; controller.Spawn(isLeft); } }
public void UpdateState(EnemyAIController controller) { DoActions(controller); CheckTransitions(controller); }
protected override void Awake() { base.Awake(); aiController = GetComponent <EnemyAIController>(); }
void Awake() { AIScript = (EnemyAIController)target; }
//int movePathCounter; // Use this for initialization void Start() { //gameController = GameObject.Find("GameController").GetComponent<GameController>(); enemyAI = GameObject.Find("GameController").GetComponent<EnemyAIController>(); charStat = gameObject.GetComponent<CharacterStatus>(); gridWorld = GameObject.Find("Grid").GetComponent<GridWorld>(); gameController = GameObject.Find("GameController").GetComponent<GameController>(); //battleController = GameObject.Find("GameController").GetComponent<Battle>(); curRow = startRow; curCol = startCol; moveCounter = charStat.GetMovementRange(); target = null; //endTurn = false; performActions = false; hasMoved = false; finishedAction = false; targetFound = false; //prevRow = curRow; //prevCol = curCol; //grid = GameObject.Find("Grid").GetComponent<GridWorld>(); //cursorMove = GameObject.Find("Cursor").GetComponent<CursorMovement>(); //cursorSelection = GameObject.Find("Cursor").GetComponent<CursorSelection>(); //charStats = this.GetComponent<CharacterStatus>(); //moveConfirmMenu = GameObject.Find("Main Camera").GetComponent<MoveConfirmMenu>(); //gameController = GameObject.Find("GameController").GetComponent<GameController>(); //gridTile = null; //moveCounter = charStats.GetMovementRange(); //showMoveCounterText = false; performMovement = false; //hasMoved = false; movePathCounter = 0; reassign = false; transform.position = gridWorld.row[startRow].column[startCol].transform.position; }
void Update() { int pFloorValue = 0; //finds proper player gameobject if (GameObject.FindWithTag("Player") != null) { GameObject player = GameObject.FindWithTag("Player"); PlayerController pController = (PlayerController)player.GetComponent(typeof(PlayerController)); pFloorValue = pController.floorValue; } else if (GameObject.FindWithTag("PlayerRagdoll") != null) { GameObject player = GameObject.FindWithTag("PlayerRagdoll"); PlayerRagdollHandler pController = (PlayerRagdollHandler)player.GetComponent(typeof(PlayerRagdollHandler)); pFloorValue = pController.floorValue; //Debug.Log("Player ragdoll floorValue: " + pFloorValue); } //hides enemies based on floor values foreach (GameObject enemy in enemyList) { if (enemy != null) { int eFloorValue = 0; //finds proper enemy controller script if (enemy.tag == "Enemy") { EnemyAIController controller = (EnemyAIController)enemy.GetComponent(typeof(EnemyAIController)); if (controller != null) { eFloorValue = controller.floorValue; } } else if (enemy.tag == "EnemyRagdoll") { RagdollHandler controller = (RagdollHandler)enemy.GetComponent(typeof(RagdollHandler)); if (controller != null) { eFloorValue = controller.floorValue; } } //hides enemies based on floor values if (eFloorValue > 0 && eFloorValue < pFloorValue) { foreach (Transform child in enemy.transform) { if (child.gameObject.name == "Body") { child.gameObject.GetComponent <SkinnedMeshRenderer> ().enabled = false; } if (child.gameObject.name == "Gun") { child.gameObject.GetComponent <MeshRenderer> ().enabled = false; } if (child.gameObject.name == "Cube") { child.gameObject.GetComponent <SkinnedMeshRenderer>().enabled = false; } } } else { foreach (Transform child in enemy.transform) { if (child.gameObject.name == "Body") { child.gameObject.GetComponent <SkinnedMeshRenderer> ().enabled = true; } if (child.gameObject.name == "Gun") { child.gameObject.GetComponent <MeshRenderer> ().enabled = true; } if (child.gameObject.name == "Cube") { child.gameObject.GetComponent <SkinnedMeshRenderer>().enabled = true; } } } } } }
// Use this for initialization void Start() { battle = gameObject.GetComponent<Battle>(); enemyAIController = gameObject.GetComponent<EnemyAIController>(); actionMenu = GameObject.Find("Main Camera").GetComponent<ActionMenu>(); moveConfirmMenu = GameObject.Find("Main Camera").GetComponent<MoveConfirmMenu>(); levelStart = true; playerTurn = false; enemyTurn = false; attackMode = false; charIsMoving = false; displayAttackRange = false; previousMenu = ""; enemySelected = null; AddAllEnemies(); AddAllPlayers(); mapCam.enabled = true; battleCam.enabled = false; victory = false; defeat = false; //displayTurnText = true; //playerTurnStart = false; //enemyTurnStart = false; displayTurnTimer = displayTurnTextConst; audio.loop = true; //players = GameObject.FindGameObjectsWithTag("Player"); //cursorSelection = GameObject.Find("Cursor").GetComponent<CursorSelection>(); }
public ChaseState(EnemyAIController enemyAIController) { enemyAI = enemyAIController; }