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); }
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); }
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]; }
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); }
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]; } }