Exemple #1
0
        static void Main(string[] args)
        {
            AcoesAnimais acoes     = new AcoesAnimais();
            Tubarao      babyShark = new Tubarao();
            Morcego      batman    = new Morcego();
            Golfinho     flipper   = new Golfinho();

            Console.WriteLine(acoes.TestarTubarao(babyShark));
            Console.WriteLine(acoes.TestarPeixe(babyShark));
            Console.WriteLine(acoes.TestarSeSabeNadar(babyShark));
            Console.WriteLine(acoes.TestarSeSabeNadar(flipper));

            Console.WriteLine(babyShark.Mergulhar());
            Console.WriteLine(flipper.Mergulhar());
            Console.WriteLine(flipper.Respirar());

            INadar algumAnimalNadador = new Tubarao();

            Console.WriteLine(algumAnimalNadador.Mergulhar());

            algumAnimalNadador = new Golfinho();
            Console.WriteLine(algumAnimalNadador.Mergulhar());
            ((Golfinho)algumAnimalNadador).Respirar(); //CAST, diz que o que tem ali é um golfinho, não é uma conversão

            algumAnimalNadador = new Pato();
            Console.WriteLine(algumAnimalNadador.Mergulhar());
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Pato     Donald  = new Pato();
            Tubarao  Martelo = new Tubarao();
            cachorro Pitoko  = new cachorro();
            Humano   Lorena  = new Humano(16, 54, "Tô com fome", 5, "000000000-00");

            Lorena.Nasce();
            Lorena.Cresce(5);
            Lorena.Amamenta();
            Lorena.Comunica();
            Lorena.Sorri();
            Human.Reproduz();
            Lorena.Locomove();
            Lorena.Morre();
        }
    // void OnEnd(Spine.TrackEntry e)
    // {
    //  print("Animation end");
    //  transform.localScale = new Vector2(1f, transform.localScale.y);
    //  trackClear = true;
    // }

    void OnComplete(Spine.TrackEntry e)
    {
        // print("Animation complete");

        trackClear = true;

        Tubarao tubarao = null;

        // Kill shark if there is one
        if (SpawnerInimigo.dic.TryGetValue(icePosition, out tubarao))
        {
            tubarao.isAlive = false;
            SpawnerInimigo.dic.Remove(icePosition);
        }
        PlayerManager.Instance.attacking = false;
    }
    void OnLeftComplete(Spine.TrackEntry e)
    {
        _skeletonAnimation.transform.localScale = new Vector2(1f, transform.localScale.y);

        trackClear = true;

        Tubarao tubarao = null;

        // Kill shark if there is one
        if (SpawnerInimigo.dic.TryGetValue(icePosition, out tubarao))
        {
            tubarao.isAlive = false;
            SpawnerInimigo.dic.Remove(icePosition);
        }
        PlayerManager.Instance.attacking = false;
    }
Exemple #5
0
 public void ExecutePowerUP(Tubarao target)
 {
     this.target = target;
     AtivarInverter();
 }
Exemple #6
0
 public void ExecutePowerUP(Tubarao target)
 {
     this.target = target;
     AtivarCongelar();
 }
Exemple #7
0
 public void ExecutePowerUP(Tubarao target)
 {
     target.AtivarPontoDuplo();
 }
Exemple #8
0
 public string TestarTubarao(Tubarao tubarao)
 {
     return("Sou um tubarão");
 }
 	// public void Move (Tubarao tubarao, float velocidadeRodeio, float centerX, float centerY) 
	// {
	// 	alpha += velocidadeRodeio;

	// 	X = centerX + (a * Mathf.Cos(alpha));
	// 	Y = centerY + (b * Mathf.Sin(alpha));

	// 	// Flips image when it reaches the max points of the ellipse
	// 	if(X - centerX <= -a + 0.1f && tubarao.isFacingLeft)
	// 		tubarao.Flip();
	// 	else if(X - centerX >= a - 0.1f && !tubarao.isFacingLeft)
	// 		tubarao.Flip();

	// 	// Set as the new position
	// 	tubarao.rb2D.position = new Vector3(X,Y);
 	// }

	public IEnumerator Move (Tubarao tubarao, float velocidadeRodeio) 
	{
		currentSurroundingTime = 0f;
		
		while(currentSurroundingTime <= surroundingTime)
		{
			float centerX = tubarao.urso.position.x;
			float centerY = tubarao.urso.position.y;

			alpha += (velocidadeRodeio * Time.deltaTime);

			X = centerX + (a * Mathf.Cos(alpha));
			Y = centerY + (b * Mathf.Sin(alpha));

			// Flips image when it reaches the max points of the ellipse
			if(X - centerX <= -a + 0.1f && tubarao.isFacingLeft)
				tubarao.Flip();
			else if(X - centerX >= a - 0.1f && !tubarao.isFacingLeft)
				tubarao.Flip();

			// Set as the new position
			tubarao.rb2D.position = new Vector3(X,Y);

			currentSurroundingTime += Time.deltaTime;

			yield return null;
		}

		// Desabilita barbatana
		for (int i = 0; i < children.Length; i++)
		{
			children[i] = transform.GetChild(i).gameObject;
			children[i].SetActive(false);
		}

		int plataformasDisponiveis = 0;

		List<IceBehaviour> l = new List<IceBehaviour>();

		for(int i = 0; i< IceController.Instance.iceScripts.Length; i++)
		{
			if(IceController.Instance.iceScripts[i] != null && IceController.Instance.iceScripts[i].MyPosition != IcePosition.ICE_CENTER)
			{
				plataformasDisponiveis++;
				l.Add(IceController.Instance.iceScripts[i]);
			}
		}

		// Se ha plataformas disponiveis
		if((plataformasDisponiveis - SpawnerInimigo.dic.Count) > 0)
		{	
			// Escolhe plataforma
			IceBehaviour ice = tubarao.Attack(l);
			IcePosition position = ice.MyPosition;

			float currentChewingTime = 0f;

			// Comeca a morder...
			while(tubarao.isAlive)
			{
				currentChewingTime += Time.deltaTime;
				
				// Apica dano a plataforma
				if(currentChewingTime > 1)
				{
					currentChewingTime = 0f;

					if(ice != null)
					{
						IceController.Instance.TakeDamageByElement(-tubarao.damagePerSecond, position);
					}
					// plataforma destruida
					else
					{
						tubarao.isAlive = false;
						SpawnerInimigo.dic.Remove(position);
						break;
					}
					// if(ice.Life <= 2)
					// {
						
					// }
				}

				yield return null;
			}

			// Quando player hitar o tubarao, pare a animcao de morder
			IceController.Instance.StopSharkAnim(position);
		}

		// Desabilita tubarao (caso nao haja plataformas disponiveis, simplesmente desaparece)
		gameObject.SetActive(false);
 	}
Exemple #10
0
 public void ExecutePowerUP(Tubarao target)
 {
     this.target = target;
     AtivarVelocidade();
 }