Exemplo n.º 1
0
    public void CreateEnemyGroup(AdventureEvents adventureEvent)
    {
        this.itsPlayerGroup = false;
        GameObject gameManager = GameObject.FindGameObjectWithTag("GameManager");

        if (!itsPlayerGroup)
        {
            GameObject npc;
            if (adventureEvent.npc1 != null)
            {
                npc = Instantiate(npcPrefab, spawPosition[2]);
                npc.transform.position = spawPosition[2].position;
                npc = CreateNpc(npc, adventureEvent.npc1);
                members.Add(npc);
            }
            if (adventureEvent.npc2 != null)
            {
                npc = Instantiate(npcPrefab, spawPosition[1]);
                npc.transform.position = spawPosition[1].position;
                npc = CreateNpc(npc, adventureEvent.npc2);
                members.Add(npc);
            }
            if (adventureEvent.npc3 != null)
            {
                npc = Instantiate(npcPrefab, spawPosition[0]);
                npc.transform.position = spawPosition[0].position;
                npc = CreateNpc(npc, adventureEvent.npc3);
                members.Add(npc);
            }



            gameManager.GetComponent <GameManagerController>().SetEnemyGroup(this.gameObject);
        }
    }
    private void Start()
    {
        AdventureEvents adventureEvent = timelineObject.GetComponent <TimelineClass>().GetCurrentEvent();

        currentEvent = Instantiate(eventContainerPrefab, this.transform.parent.transform);
        currentEvent.GetComponent <EventContainer>().InstantiateEvent(adventureEvent);
    }
Exemplo n.º 3
0
 public void InstantiateEvent(AdventureEvents _adventureEvent)
 {
     adventureEvent   = _adventureEvent;
     backGroundPrefab = adventureEvent.background;
     Instantiate(backGroundPrefab, this.transform);
     eventGroup = Instantiate(groupContainerPrefab, this.transform);
     eventGroup.transform.position = spawnPoint.position;
     eventGroup.GetComponent <GroupManager>().CreateEnemyGroup(adventureEvent);
     eventChat.GetComponent <EventChat>().InitializeEventInfo(adventureEvent, this.GetComponent <EventContainer>());
     StartCoroutine("ShowTextOptions", 3);
 }
Exemplo n.º 4
0
 private void Awake()
 {
     for (int i = 0; i < timelineWithEvents.linearAdventureEvents.Length; i++)
     {
         adventureEvents.Add(timelineWithEvents.linearAdventureEvents[i]);
     }
     if (adventureEvents.Count == 0)
     {
         adventureEvents.Add(terrainEvents[0].adventureEventForTerrain[0]);
     }
     currentEvent = adventureEvents[0];
 }
Exemplo n.º 5
0
 public void InitializeEventInfo(AdventureEvents adventureEventToInitialize, EventContainer _eventContainer)
 {
     eventContainer = _eventContainer;
     eventText.text = adventureEventToInitialize.eventText0;
     for (int i = 0; i < adventureEventToInitialize.options.Length; i++)
     {
         CreateOption(adventureEventToInitialize.options[i], new Vector3(lastPositionX, positionInY, 0));
         lastPositionX += separation;
     }
     if (adventureEventToInitialize.options.Length > 1)
     {
         //acomodo las posiciones de las opciones
         float distance = lastPositionX / adventureEventToInitialize.options.Length;
         for (int i = 0; i < listOfOptions.Count; i++)
         {
             listOfOptions[i].transform.localPosition = listOfOptions[i].transform.localPosition - new Vector3(distance, 0, 0);
         }
     }
 }
    public void CreateNewEvent()
    {
        Debug.Log("Create new event");
        //currentEvent = Instantiate(eventContainerPrefab, GameObject.FindGameObjectWithTag("GameContainer").transform);
        if (currentEvent != null)
        {
            LeanTween.moveX(currentEvent, positionToDeleteEvent.transform.position.x, 3);
            currentEvent.GetComponent <EventContainer>().StartCoroutine("SelfDestruct", 3.2f);
        }
        currentEvent = Instantiate(eventContainerPrefab, this.transform.parent.transform);
        Debug.Log("objeto event container creado");
        timelineObject.GetComponent <TimelineClass>().NextEvent();
        Debug.Log("next event ejecutado");
        AdventureEvents adventureEvent = timelineObject.GetComponent <TimelineClass>().GetCurrentEvent();

        Debug.Log("nuevo evento recibido");
        currentEvent.GetComponent <EventContainer>().InstantiateEvent(adventureEvent);
        Debug.Log("nuevo evento inicializado");
        currentEvent.transform.localPosition = new Vector3(20.48f, 0, 0);
        LeanTween.moveX(currentEvent, this.transform.position.x, 3);
        Debug.Log("desplegar opciones");
        currentEvent.GetComponent <EventContainer>().StartCoroutine("ShowTextOptions", 3);
    }
Exemplo n.º 7
0
 public void NextEvent()
 {
     index++;
     if (adventureEvents.Count < index)
     {
         //si el evento siguiente esta vacio
         int randEventFromTerrain = 0;
         if (numberOfEventsInTerrain < terrainEvents[terrainIndex].maxLim)
         {
             //si el numero de eventos dentro de un terreno NO EXCEDE el limite permitido
             //creamos otro evento elegido de los posibles dentro del terreno actual
             numberOfEventsInTerrain++;
             randEventFromTerrain = Random.Range(0, terrainEvents[terrainIndex].adventureEventForTerrain.Length);
             adventureEvents.Add(terrainEvents[terrainIndex].adventureEventForTerrain[randEventFromTerrain]);
         }
         else
         {
             //si el numero de eventos dentro de un terreno EXCEDE el limite permitido
             //elegimos otro terreno al azar y agregamos un evento de dicho terreno
             terrainIndex            = Random.Range(1, terrainEvents.Length);
             numberOfEventsInTerrain = 0;
             randEventFromTerrain    = Random.Range(0, terrainEvents[terrainIndex].adventureEventForTerrain.Length);
             adventureEvents.Add(terrainEvents[terrainIndex].adventureEventForTerrain[randEventFromTerrain]);
         }
         currentEvent = adventureEvents[index];
     }
     else
     {
         int randEventFromTerrain = 0;
         terrainIndex            = Random.Range(1, terrainEvents.Length);
         numberOfEventsInTerrain = 0;
         randEventFromTerrain    = Random.Range(0, terrainEvents[terrainIndex].adventureEventForTerrain.Length);
         adventureEvents.Add(terrainEvents[terrainIndex].adventureEventForTerrain[randEventFromTerrain]);
         currentEvent = adventureEvents[index];
     }
 }