Exemple #1
0
    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();
    }
Exemple #2
0
    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();;
    }
Exemple #3
0
 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();
 }
Exemple #4
0
 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();
 }
Exemple #5
0
    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();
    }
Exemple #6
0
 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();
     }
 }
Exemple #7
0
	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 ();
				}
			}
		}
	 
		 
	}
Exemple #8
0
	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);
			}
	
		}
	}
Exemple #9
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;
			 
		}

	}
Exemple #10
0
    // 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();
			
		} 



	
    }
Exemple #11
0
	// 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;
		}
 

    }