Exemple #1
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 #2
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);
			}
	
		}
	}