/// <summary> /// Chequea si la wave tiene enemigos ??????????????????????????????????????????????? /// </summary> /// <param name="node">Nodo a chequear</param> /// <returns>Si tiene o no enemigos</returns> public bool WaveHaveEnemies(WaveNode node) { if (node.GetOutputPort("enemies").IsConnected) { NodePort output = node.GetOutputPort("enemies"); if (output.GetConnections().Count > 0) { return(true); } } return(false); }
/// <summary> /// Chequea si hay una wave siguiente /// </summary> /// <param name="node">Nodo a chequear</param> /// <returns>Si hay una wave mas</returns> public bool NextWaveIsConnected(WaveNode node) { if (node.GetOutputPort("nextWave").IsConnected) { NodePort output = node.GetOutputPort("nextWave"); if (output.GetConnection(0).node.GetOutputPort("nextWave").GetConnections().Count > 0) { return(true); } } return(false); }
public void NextWave() { //if (currentNode == null) Debug.LogError("EL NODO ACTUAL ES NULO!"); //if (currentNode.GetOutputPort("nextWave") == null) Debug.LogError("EL OUTPUT ME DA NULO"); NodePort otherPort = currentNode.GetOutputPort("nextWave").Connection; if (currentNode.GetOutputPort("nextWave").Connection == null) { Debug.LogError("EL OUTPUT ME DA NULO"); } if (otherPort.node != null) { currentNode = otherPort.node as WaveNode; } }
/// <summary> /// Accede a la siguiente wave del grafo, si no hay, activa evento de que terminaron /// </summary> public void NextWave() { if (currentNode.GetOutputPort("nextWave") == null) { Debug.LogError("No hay un puerto de salida nextWave", currentNode); } if (NextWaveIsConnected(currentNode)) { wavesGraph.NextWave(); currentNode = wavesGraph.currentNode; StartWave(currentNode); } else { Debug.Log("Ya no hay mas waves!"); onAllWavesCompleted.Invoke(); } }
/// <summary> /// Nodos de enemigos de la wave /// </summary> /// <param name="node">Nodo a revisar</param> /// <returns>Los nodos de enemigos si hay</returns> public List <EnemyNode> GetWaveEnemyNodes(WaveNode node) { if (!WaveHaveEnemies(node)) { return(null); } List <NodePort> connections = node.GetOutputPort("enemies").GetConnections(); List <EnemyNode> enemies = new List <EnemyNode>(); foreach (NodePort port in connections) { enemies.Add(port.node as EnemyNode); } return(enemies); }