RandomEventController GetRootRandomEventControllerLink(Transform storyTransform, GeneralEvent generalEvent) { if (storyTransform == generalEvent.transform) { return(null); } RandomEventController randomEventController = storyTransform.GetComponent <RandomEventController>(); if (randomEventController != null) { if (randomEventController.randomEventList.Exists(x => x == generalEvent)) { //print(randomEventController.name); return(randomEventController); } } foreach (Transform transform in storyTransform) { RandomEventController foundRandomEventController = GetRootRandomEventControllerLink(transform, generalEvent); if (foundRandomEventController != null) { return(foundRandomEventController); } } return(null); }
public void DrawLine() { if (linesEventPanel.ContainsKey(this)) { linesStep.Remove(linesEventPanel[this]); linesEventPanel.Remove(this); } foreach (EditorAction eItem in this.GetChildrenComponents <EditorAction>()) { RandomEventController randomEvent = eItem.storyTransform.GetComponent <RandomEventController>(); if (randomEvent != null) { for (uint i = 0; i < randomEvent.Count; i++) { DrawLineEvent(eItem, randomEvent.GetEvent(i), i > 0); } } else { ActionMGController actionMGController = eItem.storyTransform.GetComponent <ActionMGController>(); if (actionMGController != null) { DrawLineEvent(eItem, actionMGController.MgComplite); DrawLineEvent(eItem, actionMGController.MgNotComplite, true); } } } }
void Awake() { Instance = this; eventController = GetComponent <RandomEventController>(); loseScreen.SetActive(false); winScreen.SetActive(false); }
public override void Draw(Transform trans) { textName.text = name; foreach (Transform transform in trans) { GeneralEvent generalEvent = transform.GetComponent <GeneralEvent>(); if (generalEvent == null) { EditorAction eItem = (EditorBaseItem.CreatEditorChangeItem(transform.gameObject, actionPrefab, this.transform, transform.name) as EditorAction); Action action = transform.GetComponent <Action>(); if (action != null) { eItem.textName.text = action.text; if (action.GetFirstComponentInChildren <Outcome>() != null) { eItem.SetStartColor(Color.green); RandomEventController randomEvent = transform.GetComponent <RandomEventController>(); eItem.arrow_out.gameObject.SetActive(randomEvent != null && randomEvent.Count > 0); } } else { eItem.SetStartColor(Color.green); eItem.arrow_out.gameObject.SetActive(false); } } } }
void ReAttachRandomEventControllerLinks(Transform storyTransform) { foreach (GeneralEvent generalEvent in storyTransform.GetComponentsInChildren <GeneralEvent>()) { RandomEventController randomEventController = GetRootRandomEventControllerLink(container2.currentEditorBaseItem.storyTransform, generalEvent); if (randomEventController != null) { //print(randomEventController.name); generalEvent.transform.SetParent(randomEventController.transform, false); } } }
void DrawChanceGeneralEvent() { RandomEventController randomEventController = action.GetComponent <RandomEventController>(); GeneralEvent revent = (randomEventController != null) ? randomEventController.GetEvent(0) : null; if (revent != null && randomEventController.Count == 1) { float chance = 0f; statImage.sprite = revent.GetIcon(ref chance); if (statImage.sprite != null) { DrawChance(chance); } } }
public virtual List <EventPanel> CreateEventPanel(Transform transform) { List <EventPanel> EventPanelList = new List <EventPanel>(); RandomEventController randomEvent = transform.GetComponent <RandomEventController>(); if (randomEvent != null) { randomEvent.randomEventList.RemoveAll(x => x == null); foreach (GeneralEvent generalEvent in randomEvent.randomEventList) { if (!EventPanels.Exists(x => x.generalEvent == generalEvent)) { EventPanel eventPanel = CreatePanel(generalEvent); EventPanelList.Add(eventPanel); eventPanel.Draw(generalEvent.transform); } } } else { ActionMGController actionMGController = transform.GetComponent <ActionMGController>(); if (actionMGController != null) { GeneralEvent generalEvent = actionMGController.MgComplite; if (!EventPanels.Exists(x => x.generalEvent == generalEvent)) { EventPanel eventPanel = CreatePanel(generalEvent); EventPanelList.Add(eventPanel); eventPanel.Draw(generalEvent.transform); } generalEvent = actionMGController.MgNotComplite; if (!EventPanels.Exists(x => x.generalEvent == generalEvent)) { EventPanel eventPanel = CreatePanel(generalEvent); EventPanelList.Add(eventPanel); eventPanel.Draw(generalEvent.transform); } } } EventPanels.AddRange(EventPanelList); return(EventPanelList); }
public override void OnPointerClick(PointerEventData eventData) { if (action.type == "continue") { return; } List <Outcome> outcomList = action.GetChildrenComponents <Outcome>(); RandomEventController randomEventController = action.GetComponent <RandomEventController>(); if (randomEventController != null) { if (randomEventController.Count == 0 && outcomList.Count == 0) { return; } if (randomEventController.Count == 1 && outcomList.Count == 0) { SendMessageUpwards("DrawPreview", randomEventController.randomEventList[0]); } else if (randomEventController.Count == 0 && outcomList.Count == 1) { SendMessageUpwards("DrawPreview", outcomList[0]); } else { SendMessageUpwards("DrawPreview", randomEventController.randomEventList); SendMessageUpwards("AddDrawPreview", outcomList); } } else { if (outcomList.Count > 1) { SendMessageUpwards("DrawPreview", outcomList); } else if (outcomList.Count == 1) { SendMessageUpwards("DrawPreview", outcomList[0]); } } }
public void OnEndDrag(PointerEventData eventData) { if (isDrag) { isDrag = false; EventPanel eventPanel = eventData.pointerEnter.GetComponent <EventPanel>(); if (eventPanel != null) { RandomEventController randomEventController = storyTransform.GetComponent <RandomEventController>(); if (randomEventController == null) { randomEventController = storyTransform.gameObject.AddComponent <RandomEventController>(); } randomEventController.randomEventList.Add(eventPanel.generalEvent); //ContainerController.current.Draw(); EditorEventManager.TriggerEvent("Draw_" + ContainerControllerBase.currentContainerController.name); } } }
public void OnCreateEvent(GameObject EventEmptyPrefab) { Transform storyTransform = ContainerControllerBase.GetStoryTransform(); if (storyTransform != null) { GameObject go = Instantiate(EventEmptyPrefab, storyTransform) as GameObject; SetEventPrefabName(go); if (storyTransform.GetComponent <Action>() != null) { RandomEventController randomEventController = storyTransform.GetComponent <RandomEventController>(); if (randomEventController == null) { randomEventController = storyTransform.gameObject.AddComponent <RandomEventController>(); } randomEventController.randomEventList.Add(go.GetComponent <GeneralEvent>()); } //ContainerController.current.Draw(); EditorEventManager.TriggerEvent("Draw_" + ContainerControllerBase.currentContainerController.name); } }
public void Perform_Action() { if (type == "skip" && statChange.Count != 0) { foreach (Parameter param in statChange) { param.ChangeStat(); } } RandomEventController randomEventController = GetComponent <RandomEventController>(); if (randomEventController != null) { GeneralEvent generalEvent = randomEventController.GetRandomEvent(); if (generalEvent != null && generalEvent.Launch()) { return; } } gameObject.SendMessage("action_" + type); }