public override void Activate(GamePawn user, Tile target) { Debug.Log(user.gameObject.name + " used " + skillName + " on " + target.GetPawnOnTile().transform.name); Direction dir = Direction.Up; if (user.transform.position.x - target.transform.position.x > .1f) { dir = Direction.Left; } else if (user.transform.position.x - target.transform.position.x < .1f) { dir = Direction.Right; } else if (user.transform.position.z - target.transform.position.z > .1f) { dir = Direction.Down; } else if (user.transform.position.z - target.transform.position.z < .1f) { dir = Direction.Up; } SkillManager.instance.Hook(user, target.GetPawnOnTile(), dir); if (user is EnemieBehaviour) { EnemieBehaviour enemy = (EnemieBehaviour)user; enemy.actionPoints -= cost; } else if (user is PlayerCharacter) { PlayerCharacter player = (PlayerCharacter)user; } user.EndAction(); }
public override void Activate(GamePawn user, Tile target) { Debug.Log(user.gameObject.name + " used " + skillName + " on " + target.GetPawnOnTile().transform.name); Direction dir = GetDirection(user, target.GetPawnOnTile()); SkillManager.instance.Kick(user, damage, target.GetPawnOnTile(), dir); if (user is EnemieBehaviour) { EnemieBehaviour enemy = (EnemieBehaviour)user; enemy.actionPoints -= cost; enemy.anim.SetTrigger("Kick"); } else if (user is PlayerCharacter) { PlayerManager.instance.playerCharacter.currentPA -= cost; PlayerManager.instance.playerCharacter.anim.SetTrigger("Kick"); } if (target.GetPawnOnTile() is Barrel || target.GetPawnOnTile() is Box) { SoundManager.Instance.PlaySound(SoundManager.Instance.kickInObject); } else { SoundManager.Instance.PlaySound(SoundManager.Instance.kickInBody); } UI_Manager.instance.actionPanel.RefreshActions(); UI_Manager.instance.actionPanel.selectedAction.isSelected = false; UI_Manager.instance.actionPanel.selectedAction.PlayCorrectAnimation();; }
public override void Activate(GamePawn user, Tile target) { if (user is EnemieBehaviour) { EnemieBehaviour enemy = (EnemieBehaviour)user; FXPlayer.Instance.PlayFX("BuffEnemy", enemy.transform.position + Vector3.up); enemy.Buff(); } user.EndAction(); }
public override void Activate(GamePawn user, Tile target) { target.GetPawnOnTile().ReceiveDamage(damage); if (user is EnemieBehaviour) { EnemieBehaviour enemy = (EnemieBehaviour)user; enemy.actionPoints -= cost; enemy.anim.SetTrigger("Melee"); SoundManager.Instance.PlaySound(SoundManager.Instance.wish); } user.EndAction(); }
public virtual void Activate(GamePawn user, Tile target) { //Debug.Log(user.gameObject.name + " used " + skillName + " on " + target.GetPawnOnTile().transform.name); if (user is EnemieBehaviour) { EnemieBehaviour enemy = (EnemieBehaviour)user; enemy.actionPoints -= cost; } //UI_Manager.instance.characterInfoPanel.SetCharacterInfoWithCost(UI_SelectedCharacterInfo.Stats.PA, cost); user.EndAction(); }
public override void Activate(GamePawn user, Tile target) { if (user is EnemieBehaviour) { EnemieBehaviour enemy = (EnemieBehaviour)user; enemy.actionPoints -= cost; enemy.anim.SetTrigger("Throw"); SkillManager.instance.ThrowProjectile(user, target.GetPawnOnTile(), projectilePrefab, damage); if (user is PlayerCharacter) { SoundManager.Instance.PlaySound(SoundManager.Instance.playerShoots); } else if (user is EnemieBehaviour) { SoundManager.Instance.PlaySound(SoundManager.Instance.bottleThrow); } } else if (user is PlayerCharacter) { PlayerCharacter player = (PlayerCharacter)user; SkillManager.instance.LiftPawn(player, target.GetPawnOnTile()); UI_Manager.instance.actionPanel.RefreshActions(); } }
public void pushAround(int direction, EnemieBehaviour enemieBehaviour2){ for (int i = 0; i < enemieBehaviourGameObject.transform.childCount; i++) { enemieBehaviour = enemieBehaviourGameObject.transform.GetChild (i).GetComponent<EnemieBehaviour> (); //enemy does not receive the same punch it if (enemieBehaviour != enemieBehaviour2 && !enemieBehaviour.die) { if (direction != 4) if (m_x == enemieBehaviour.m_x + 1 && m_y == enemieBehaviour.m_y) { StartCoroutine (PlayOne ("punch", anim)); enemieBehaviour.isPunch (); } if (direction != 2) if (m_x == enemieBehaviour.m_x - 1 && m_y == enemieBehaviour.m_y) { StartCoroutine (PlayOne ("punch", anim)); enemieBehaviour.isPunch (); } if (direction != 3) if (m_x == enemieBehaviour.m_x && m_y == enemieBehaviour.m_y + 1) { StartCoroutine (PlayOne ("punch", anim)); enemieBehaviour.isPunch (); } if (direction != 1) if (m_x == enemieBehaviour.m_x && m_y == enemieBehaviour.m_y - 1) { StartCoroutine (PlayOne ("punch", anim)); enemieBehaviour.isPunch (); } } } }
private void updadeIAEnemie(int ia, int direction){ // set walking to all enemies in the scene; if(ia==1) for (int i = 0; i < enemieBehaviourGameObject.transform.childCount; i++) { enemieBehaviour = enemieBehaviourGameObject.transform.GetChild(i).GetComponent<EnemieBehaviour>(); enemieBehaviour.m_enemie_walking = true; enemieBehaviour.many_moving_count=0; enemieBehaviour.putTrap = true; } //slash enemie if (ia == 2) for (int i = 0; i < enemieBehaviourGameObject.transform.childCount; i++) { enemieBehaviour = enemieBehaviourGameObject.transform.GetChild (i).GetComponent<EnemieBehaviour> (); if (!enemieBehaviour.die) if (m_x == enemieBehaviour.m_x && m_y == enemieBehaviour.m_y &&!enemieBehaviour.slash) { AudioSource.PlayClipAtPoint(playAttack(), transform.position); enemieBehaviour.isSlash(); break; } } //punch enemie if (ia == 3) { if(!inTrap){ for (int i = 0; i < enemieBehaviourGameObject.transform.childCount; i++) { enemieBehaviour = enemieBehaviourGameObject.transform.GetChild (i).GetComponent<EnemieBehaviour> (); if (!enemieBehaviour.die) //enemy not get punch if he is in punch if (!enemieBehaviour.punch) { if (direction == 0 || direction == 4) if (m_x == enemieBehaviour.m_x + 1 && m_y == enemieBehaviour.m_y) { enemieBehaviour.isPunch (); effects.GetComponent<Animator> ().SetBool ("impact_effect", true); StartCoroutine (WaitAnimMethod (0.3f, "impact_effect", effects.GetComponent<Animator> ())); StartCoroutine (PlayOne ("punch", anim)); updadeEnemie=true; if (direction != 0) pushAround (direction, enemieBehaviour); } if (direction == 0 || direction == 2) if (m_x == enemieBehaviour.m_x - 1 && m_y == enemieBehaviour.m_y) { StartCoroutine (PlayOne ("punch", anim)); enemieBehaviour.isPunch (); effects.GetComponent<Animator> ().SetBool ("impact_effect", true); StartCoroutine (WaitAnimMethod (0.3f, "impact_effect", effects.GetComponent<Animator> ())); updadeEnemie=true; if (direction != 0) pushAround (direction, enemieBehaviour); } if (direction == 0 || direction == 3) if (m_x == enemieBehaviour.m_x && m_y == enemieBehaviour.m_y + 1) { StartCoroutine (PlayOne ("punch", anim)); enemieBehaviour.isPunch (); effects.GetComponent<Animator> ().SetBool ("impact_effect", true); StartCoroutine (WaitAnimMethod (0.3f, "impact_effect", effects.GetComponent<Animator> ())); updadeEnemie=true; if (direction != 0) pushAround (direction, enemieBehaviour); } if (direction == 0 || direction == 1) if (m_x == enemieBehaviour.m_x && m_y == enemieBehaviour.m_y - 1) { StartCoroutine (PlayOne ("punch", anim)); enemieBehaviour.isPunch (); effects.GetComponent<Animator> ().SetBool ("impact_effect", true); StartCoroutine (WaitAnimMethod (0.3f, "impact_effect", effects.GetComponent<Animator> ())); updadeEnemie=true; if (direction != 0) pushAround (direction, enemieBehaviour); } } } }else{ updadeEnemie=true; updadeIAEnemie(1,0); } } }
private void RemovePunchEnemie(){ for (int i = 0; i < enemieBehaviourGameObject.transform.childCount; i++) { enemieBehaviour = enemieBehaviourGameObject.transform.GetChild (i).GetComponent<EnemieBehaviour> (); enemieBehaviour.punch = false; enemieBehaviour.stun.GetComponent<Renderer> ().enabled = false; } }
// Update is called once per frame private void Update() { //transform.Search ("character_rig").transform.Search("keen_head").transform.GetComponent<SpriteRenderer> ().sortingOrder =100+(int)((int)((9-(finishPosition.y))*(9-(finishPosition.y)))+finishPosition.x);; effects.GetComponent<Renderer> ().sortingOrder =100+ (int)((int)((9-(finishPosition.y))*(9-(finishPosition.y)))+finishPosition.x)-100; bool teste = true; for (int i = 0; i < enemieBehaviourGameObject.transform.childCount; i++) { enemieBehaviour = enemieBehaviourGameObject.transform.GetChild(i).GetComponent<EnemieBehaviour>(); if(enemieBehaviour.simula||enemieBehaviour.anim.GetBool("attack")){ teste=false; break; } } if(!noMove&&teste&&!isRemoveLife&&!effects.GetComponent<Animator> ().GetBool("impact_effect")&&!anim.GetBool("hit")) ProcessInput(); bool open = true; for (int i = 0; i < enemieBehaviourGameObject.transform.childCount; i++) { if( !enemieBehaviourGameObject.transform.GetChild (i).GetComponent<EnemieBehaviour> ().die){ open =false; } } if (open && !inSwitchMap) { updadeDoor(); } }
// Returns true if the enemies can walk on this tile. public bool IsWalkeable(int x, int y, EnemieBehaviour enemieBehaviour) { for (int i = 0; i <enemies.transform.childCount; i++) { if (enemies.transform.GetChild (i) != enemieBehaviour.transform) { if (!enemies.transform.GetChild (i).GetComponent<EnemieBehaviour> ().die){ if (enemies.transform.GetChild (i).GetComponent<EnemieBehaviour> ().m_x == x && enemies.transform.GetChild (i).GetComponent<EnemieBehaviour> ().m_y == y) { return false; } } } } if (x + 1 <= 14 && y + 1 <= 9 && y - 1 >= 0 && x - 1 >= 0) { int tile = m_grid_path [x, y]; return tile != 10; } else { return false; } }