Skip to content

Commit

Permalink
ultimos detalles
Browse files Browse the repository at this point in the history
  • Loading branch information
kone9 committed May 1, 2020
1 parent f89e332 commit 644629f
Show file tree
Hide file tree
Showing 60 changed files with 588 additions and 98 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="ab00363c225e4ec8a2f31bd0f5f70ace"
dest_md5="469fba5f4cafbeec5ae682d65078eb22"
dest_md5="1acb682aebab0335fd64e4543dbc03e2"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="9f49a4664c1ecc23ef3652e8200d352c"
dest_md5="a2dd4d12f95d20c80c5dfed9998f0d90"
dest_md5="8e10226a897acf0caaddac47b97ad6a0"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="57464395994948e6540b26760ec39a75"
dest_md5="0f2618b38edb3ad74bfe0e41e8a2fdb3"
dest_md5="faa310928bf470163626b42ccae1ed65"

Binary file modified .import/scavengers_die.ogg-c525b5c44e24766c2b8f2748839e4c29.oggstr
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source_md5="19e8c9704133435c8fd3152e58e3b778"
dest_md5="7eec72fe5b26e616a8aa3f94bc187def"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="22a422bcf0468fb7d3547caaf9332cd4"
dest_md5="72dfc5ba37e6373dd4f3f18bcf72e567"
dest_md5="da5bce6dd2cda1b6d2675d149ef6fc53"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="19e8c9704133435c8fd3152e58e3b778"
dest_md5="eab71b12cb54e0162fc7d8f362a2766d"
dest_md5="7eec72fe5b26e616a8aa3f94bc187def"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source_md5="19e8c9704133435c8fd3152e58e3b778"
dest_md5="7eec72fe5b26e616a8aa3f94bc187def"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="ca5a1fe65cb6229fb8213afd1b52092d"
dest_md5="62eeafb74f9b318441575d2cfd5eb435"
dest_md5="c3bc8fd301da2a9546b437ff4c5cfb4e"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="4af9f05940e058e6c387e1d358b966c5"
dest_md5="0166b4b668555f1d3940ca0caa4e06f0"
dest_md5="a8d2115bb2a0d31f8641b05a63d3f936"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="d724fda50098950d04ac2445e419e9a2"
dest_md5="5961ec15093bcfe975d5b4c2e5d7d5cf"
dest_md5="00f0b4778e1c036a59cc81bf56dac614"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="813ede8c4c117f5c95945be9924454c7"
dest_md5="61fa21f966f9aad7fcf20a878c49a26b"
dest_md5="aeaffe94849a71b376d1b49b14ec2591"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="7e458f4185b8902eb4f572d5fd2d532d"
dest_md5="2094092fb028b04070741a1e2800ed80"
dest_md5="693c4fc2f80b7ca4c62534fc97907e01"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="c2205c981ec1b7d542c943e7ca170057"
dest_md5="1d18ab2b1243689164144dc1d5b6296a"
dest_md5="6cf7b101ec32addbd3adfd1e8a95abc6"

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source_md5="a1e73f6417d6c1051386add97168acf4"
dest_md5="f06a1f2caf8c64ba57cb3b2e2d12a186"
dest_md5="62447907e4eb87f31f90134ba9c93bf0"

Binary file not shown.
2 changes: 1 addition & 1 deletion .mono/metadata/scripts_metadata.editor
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"res://codigos/BoardManager.cs":{"modified_time":"1587848329","class":{"namespace":"","class_name":"BoardManager","nested":false}},"res://codigos/Enemy.cs":{"modified_time":"1588009964","class":{"namespace":"","class_name":"Enemy","nested":false}},"res://codigos/Escena_Principal.cs":{"modified_time":"1588085127","class":{"namespace":"","class_name":"Escena_Principal","nested":false}},"res://codigos/GameManager.cs":{"modified_time":"1588088651","class":{"namespace":"","class_name":"GameManager","nested":false}},"res://codigos/MovingObject.cs":{"modified_time":"1588009857","class":{"namespace":"","class_name":"MovingObject","nested":false}},"res://codigos/Player.cs":{"modified_time":"1588088747","class":{"namespace":"","class_name":"Player","nested":false}},"res://codigos/SingletonVariables.cs":{"modified_time":"1588087915","class":{"namespace":"","class_name":"SingletonVariables","nested":false}},"res://codigos/SuelosScript/Suelo1.cs":{"modified_time":"1587836811","class":{"namespace":"","class_name":"Suelo1","nested":false}},"res://codigos/Wall.cs":{"modified_time":"1587905397","class":{"namespace":"","class_name":"Wall","nested":false}}}
{"res://codigos/BoardManager.cs":{"modified_time":"1587848329","class":{"namespace":"","class_name":"BoardManager","nested":false}},"res://codigos/Enemy.cs":{"modified_time":"1588266694","class":{"namespace":"","class_name":"Enemy","nested":false}},"res://codigos/Escena_Principal.cs":{"modified_time":"1588085127","class":{"namespace":"","class_name":"Escena_Principal","nested":false}},"res://codigos/GameManager.cs":{"modified_time":"1588265510","class":{"namespace":"","class_name":"GameManager","nested":false}},"res://codigos/MovingObject.cs":{"modified_time":"1588268271","class":{"namespace":"","class_name":"MovingObject","nested":false}},"res://codigos/Player.cs":{"modified_time":"1588266209","class":{"namespace":"","class_name":"Player","nested":false}},"res://codigos/SingletonVariables.cs":{"modified_time":"1588182349","class":{"namespace":"","class_name":"SingletonVariables","nested":false}},"res://codigos/SuelosScript/Suelo1.cs":{"modified_time":"1587836811","class":{"namespace":"","class_name":"Suelo1","nested":false}},"res://codigos/Wall.cs":{"modified_time":"1588244399","class":{"namespace":"","class_name":"Wall","nested":false}}}
2 changes: 1 addition & 1 deletion .mono/metadata/scripts_metadata.editor_player
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"res://codigos/BoardManager.cs":{"modified_time":"1587848329","class":{"namespace":"","class_name":"BoardManager","nested":false}},"res://codigos/Enemy.cs":{"modified_time":"1588009964","class":{"namespace":"","class_name":"Enemy","nested":false}},"res://codigos/Escena_Principal.cs":{"modified_time":"1588085127","class":{"namespace":"","class_name":"Escena_Principal","nested":false}},"res://codigos/GameManager.cs":{"modified_time":"1588088651","class":{"namespace":"","class_name":"GameManager","nested":false}},"res://codigos/MovingObject.cs":{"modified_time":"1588009857","class":{"namespace":"","class_name":"MovingObject","nested":false}},"res://codigos/Player.cs":{"modified_time":"1588088747","class":{"namespace":"","class_name":"Player","nested":false}},"res://codigos/SingletonVariables.cs":{"modified_time":"1588087915","class":{"namespace":"","class_name":"SingletonVariables","nested":false}},"res://codigos/SuelosScript/Suelo1.cs":{"modified_time":"1587836811","class":{"namespace":"","class_name":"Suelo1","nested":false}},"res://codigos/Wall.cs":{"modified_time":"1587905397","class":{"namespace":"","class_name":"Wall","nested":false}}}
{"res://codigos/BoardManager.cs":{"modified_time":"1587848329","class":{"namespace":"","class_name":"BoardManager","nested":false}},"res://codigos/Enemy.cs":{"modified_time":"1588266694","class":{"namespace":"","class_name":"Enemy","nested":false}},"res://codigos/Escena_Principal.cs":{"modified_time":"1588085127","class":{"namespace":"","class_name":"Escena_Principal","nested":false}},"res://codigos/GameManager.cs":{"modified_time":"1588265510","class":{"namespace":"","class_name":"GameManager","nested":false}},"res://codigos/MovingObject.cs":{"modified_time":"1588268271","class":{"namespace":"","class_name":"MovingObject","nested":false}},"res://codigos/Player.cs":{"modified_time":"1588266209","class":{"namespace":"","class_name":"Player","nested":false}},"res://codigos/SingletonVariables.cs":{"modified_time":"1588182349","class":{"namespace":"","class_name":"SingletonVariables","nested":false}},"res://codigos/SuelosScript/Suelo1.cs":{"modified_time":"1587836811","class":{"namespace":"","class_name":"Suelo1","nested":false}},"res://codigos/Wall.cs":{"modified_time":"1588244399","class":{"namespace":"","class_name":"Wall","nested":false}}}
Binary file modified .mono/temp/bin/Debug/Rogue en Godot.dll
Binary file not shown.
Binary file modified .mono/temp/bin/Debug/Rogue en Godot.pdb
Binary file not shown.
Binary file modified .mono/temp/obj/Debug/Rogue en Godot.dll
Binary file not shown.
Binary file modified .mono/temp/obj/Debug/Rogue en Godot.pdb
Binary file not shown.
21 changes: 17 additions & 4 deletions codigos/Enemy.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Godot;
using Godot.Collections;
using System;

public class Enemy : MovingObject
Expand All @@ -11,35 +12,46 @@ public class Enemy : MovingObject
private bool skinMove;//como es por turnos esta variable es para saber cuando puede moverse
private AnimationNodeStateMachinePlayback playback;//referencia al animator

private Array<AudioStreamOGGVorbis> scavengers_enemy = new Array<AudioStreamOGGVorbis>();//cargo en este arreglo el recurso de audio enemigo,nota importante el arreglo de Godot es un Generico
private AudioStreamPlayer scavengersEnemyNode;//referencia al nodo
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
//para procesar el game manager
_GameManager = (GameManager)GetTree().GetNodesInGroup("GameManager")[0];//para poder acceder al GameManager
_GameManager.AddEnemyToList(this);//tendria que agregarse este mismo objeto kinematico2D


//para procesar el enemigo
movementSpeed = 1f / moveTime;//velocidad a la que se movera
rayo = GetNode<RayCast2D>("RayCast2D");//referencia al raycast
moverConTween = GetNode<Tween>("Tween");//referencia al nodo tween
targetCharacter = (KinematicBody2D)GetTree().GetNodesInGroup("Player")[0];//referencia al nodo del personaje
playback = (AnimationNodeStateMachinePlayback)GetNode<AnimationTree>("AnimationTree").Get("parameters/playback");//accedo al nodo animation three y a la propiedad de las maquinas de estado
playback.Start("EnemyIdle");//como inicia la animación del personaje

//para procesar el audio
scavengersEnemyNode = (AudioStreamPlayer)GetTree().GetNodesInGroup("scavengers_enemy")[0];//busco el nodo que controla el audio
scavengers_enemy.Add((AudioStreamOGGVorbis)GD.Load("res://musica/scavengers_enemy1.ogg"));//agrego el recurso de sonido
scavengers_enemy.Add((AudioStreamOGGVorbis)GD.Load("res://musica/scavengers_enemy2.ogg"));//agrego el recurso de sonido
}

public override void _Process(float delta)
{
targetPosition = targetCharacter.Position;//guardo la posición del personaje en targetPosition
}

protected override void AttempMove(int xDir, int yDir)
protected override bool AttempMove(int xDir, int yDir)//este metodo devuelve si se movio o no "Bool"
{

if(skinMove)//si se movio
{
skinMove = false;//desactivo el movimiento
return;//salgo de esta función
return false;//retorna falso,el enemigo no se a movido
}
base.AttempMove(xDir,yDir);//la segunda ves sera falso y se ejecutara el movimiento
bool canMove = base.AttempMove(xDir,yDir);//la segunda ves sera falso y se ejecutara el movimiento
skinMove = true;//una ves hecho el movimiento otra ves sera verdadero
return canMove;//regresa si se movio o no
}

public void MoveEnemy()//metodo que se encarga de mover al personaje,esto es publico y lo hara el GameManager en una lista de enemigos
Expand Down Expand Up @@ -69,7 +81,7 @@ protected override void OnCantMoveStaticBody2D(StaticBody2D go)//sino puede move
{

}

protected override Vector2 RaycastDirection(int xDir, int Ydir)//cuando el raycast es del enemigo
{
return new Vector2(xDir,Ydir);//devuelvo la posición normal y con esto funciona bien hacia adonde apunta el raycast
Expand All @@ -82,6 +94,7 @@ protected override void OnCantMoveRigidBody2D(KinematicBody2D go)//sino puede mo
{
hitPlayer.LoseFood(playerDamage);//descuento comida del personaje
playback.Travel("EnemyAttack");//el enemigo ataca cuando le quitamos puntos al jugador
_GameManager.RandomizeSfx(scavengers_enemy,scavengersEnemyNode);//activo sonido golpe
}
}
// // Called every frame. 'delta' is the elapsed time since the previous frame.
Expand Down
13 changes: 11 additions & 2 deletions codigos/GameManager.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Godot;
using Godot.Collections;
using System;
using System.Collections.Generic;

Expand Down Expand Up @@ -67,11 +68,11 @@ public void _on_TimerlevelStarDelay_timeout()//cuando termina el tiempo del star

public void GameOver()//posiblemente esto despues voy a tener que correguirlo
{

LevelText.Text = "After " + level + " Days\nyou starved";//si es game over cambio el texto
fondoColorUI.Visible = true;//hago visible el fondo
LevelText.Visible = true;//hace visible el texto
Visible = false;//desactivo el nodo que contiene este script,esto tendria que desactivar el Game manager para saber que es Game over puede que lo haga de otra manera
doingSetup = true;//si es Game over ya no puedo mover al jugador
}

private async void MoveEnemies()//esta función sera como una corrutina la utilizare para mover a los personajes cada cierto tiempo
Expand Down Expand Up @@ -108,7 +109,15 @@ public void AddEnemyToList(KinematicBody2D enemy)//los enemigos se agregan cuans
enemies.Add(enemy);//agrega el enemigo a la lista
}


public void RandomizeSfx( Array<AudioStreamOGGVorbis> clips,AudioStreamPlayer SfxSource )//Función para ejecutar audio recibe el clip y el nodo
{
int randomIndex = (int)GD.RandRange(0,clips.Count);//devuelve un número aleatorio entre los 2 clips que recibio como parametro
float randomPitch = (float)GD.RandRange(0.9f,1.1f);//para cambiar la recuencía del sonido
SfxSource.PitchScale = randomPitch;//el sonido tiene una pequeña variación
SfxSource.Stream = clips[randomIndex];//aleatoriamente elijo una de las pistas de audio
SfxSource.Play();//doy play al sonido

}


}
37 changes: 20 additions & 17 deletions codigos/MovingObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,15 @@ protected void SmoothMovementWithTween(Vector2 end)//Esta función va a procesar
//metodo para mover al jugador o al enemigo devuelve 2 si se movio y la colisión de raycast
protected bool Move(int xDir, int Ydir,RayCast2D hitRaycast)//es privada para cualquier otra clase que no hereda de esta
{
Vector2 posicionAnteriorRayCast = hitRaycast.CastTo;
bool colisiono;//para saber cuando el raycast colisiona
Vector2 start = Position;//posicion inicial
Vector2 end = start + new Vector2(xDir,Ydir);//la posición de adonde queremos movernos suma de vectores (0,0) + (1,0) = (1,0)
//hitRaycast.CastTo = new Vector2(-Ydir,xDir);//esto determina para adonde va apuntar el raycast
hitRaycast.CastTo = RaycastDirection(xDir,Ydir);//esto determina para adonde va apuntar el raycast

//hacemos una raycast entre el punto inicial y final
//si hay un collider por donde pasa esa linea abremos encontrado ese objeto
//BoxCollider.Visible = false; //desactivamos el boxcollider para que no choque con nosotros mismos en el resultado
//si hay un collider por donde pasa esa linea encontrado ese objeto
colisiono = hitRaycast.IsColliding();//esto es para verificar si colisionamos tengo que verificar utilizando la colisión del raycast con un grupo
//BoxCollider.Visible = true;//una ves hecho el raycast lo volvemos a habilitar
if(colisiono == false)//sino esta colisionando
{
//hacemos el movimiento
Expand All @@ -64,7 +62,6 @@ protected bool Move(int xDir, int Ydir,RayCast2D hitRaycast)//es privada para cu
//GD.Print("cantidad que mueve en Y: ",Ydir);
//GD.Print("la posicion en final X: ",end.x);
//GD.Print("laposicion en final Y: ",end.y);

SmoothMovementWithTween(end);//movemos con interpolación lineal recibe por parametro la ultima posición
return true;
}
Expand All @@ -73,28 +70,34 @@ protected bool Move(int xDir, int Ydir,RayCast2D hitRaycast)//es privada para cu
GD.Print("No podemos movernos");
return false;//no hemos podido movernos
}

}

//Esto es relacionado al movimiento y al tipo de obstaculo
protected abstract void OnCantMoveStaticBody2D(StaticBody2D go); //aqui viene el comportamiento luego de no poder moverse,es un meotdoABstracto ya que se va a comportar de diferente manera según sea el personaje o elenemigo
protected abstract void OnCantMoveRigidBody2D(KinematicBody2D go);
protected abstract Vector2 RaycastDirection(int xDir, int Ydir);//como el personaje y el enemigo tienen algunas diferencias tengo que procesar la direccioń del raycast en cada uno por separado
protected virtual void AttempMove(int xDir,int yDir)//metodo para internar moverse esto recive por arametro cuanto en x y cuanto en y lo marcamos como abstracto ya que cada esto lo haremos en cada personaje


protected virtual bool AttempMove(int xDir,int yDir)//metodo para internar moverse esto recibe por parametro cuanto en x y cuanto en y lo marcamos como abstracto ya que esto lo haremos en cada personaje
{
RayCast2D hit = rayo;//tomo la referencia del nodo que esta en la función ready
bool canMove = Move(xDir,yDir,hit);//
if(canMove) return;//si se movio termino esta función

Node col = (Node)hit.GetCollider();//usando la colisicioń del raycast busco el nodo
if(col.IsInGroup("Wall"))//si el nodo colisionado esta en el grupo wall
{
//GD.Print("estoy conlisionado con un muro");
OnCantMoveStaticBody2D((StaticBody2D)hit.GetCollider());//aqui tengo que pasarle el staticbody que estamos colisionando
}
if(col.IsInGroup("characters"))//si el nodo colisionado esta enel grupo character
if(!canMove)//si no se movio
{
//GD.Print("estoy conlisionado con un personaje");
OnCantMoveRigidBody2D((KinematicBody2D)hit.GetCollider());//aqui tengo que pasarle el kinematicBody que estamos colisionando)
Node col = (Node)hit.GetCollider();//usando la colisicioń del raycast busco el nodo
if(col != null && col.IsInGroup("Wall"))//si el nodo colisionado esta en el grupo wall
{
//GD.Print("estoy conlisionado con un muro");
OnCantMoveStaticBody2D((StaticBody2D)hit.GetCollider());//aqui tengo que pasarle el staticbody que estamos colisionando
}
if(col != null && col.IsInGroup("characters"))//si el nodo colisionado esta enel grupo character
{
//GD.Print("estoy conlisionado con un personaje");
OnCantMoveRigidBody2D((KinematicBody2D)hit.GetCollider());//aqui tengo que pasarle el kinematicBody que estamos colisionando)
}
}
return canMove;//devuelve verdadero o falso para saber si se movio o no
}

}
Loading

0 comments on commit 644629f

Please sign in to comment.