public void FullyLoad(List <PieceEvent> PieceEventsList) { //PieceEvents = new List<PieceEvent>(); //PieceEvents.Add(ResourcesMaster.PieceEvents[0]); PieceEvents = new List <PieceEvent>(); PieceEvents.AddRange(PieceEventsList); OngoingManagerEvent = PieceEvents[0]; Index = 0; MaxIndex = PieceEvents.Count - 1; foreach (PieceEvent PE in PieceEvents) { PE.FullyLoad(); } Transform PanelsFather = transform.Find("Panels"); foreach (PanelText Tuple in PieceEvents[0].Description) { TextManager TextManager = PanelsFather.Find(Tuple.PanelName).Find("Text").GetComponent <TextManager>(); TextManager.ChangeText(Tuple.Text); } //GameObject.Find("Text").GetComponent<Text>().text = "aaaa" + PieceEvents[0]; }
private void Field_PieceChange(object sender, PieceEvent e) { if (e.Piece == null) { imageViewer.Source = null; } else { imageViewer.Source = e.Piece.GetBitmapImage(); } }
void Start() { PanelBase = Resources.Load <GameObject>("Models/BluePanel"); //GameObject.Find("BluePanel");// LoadedSceneSetup = ResourcesMaster.SceneSetup; GetComponent <SetupHolder>().SceneSetup = LoadedSceneSetup; TrackedAnimationTags = new List <TrackedAnimationTag>(LoadedSceneSetup.TrackedAnimationTags); TrackedToolboxTags = new List <TrackedToolboxTag>(LoadedSceneSetup.TrackedToolboxTags); ModelsFather = GameObject.Find("ModelsFather").transform; PieceEventManagers = new List <PieceEventManager>(); for (int i = 0; i < ModelsFather.childCount; i++) { //ToolboxManager TM = new ToolboxManager(); GameObject ChildModel = ModelsFather.GetChild(i).gameObject; TrackedAnimationTag TkAnimationTag = TrackedAnimationTags.Find(Tag => Tag.Name.Equals(ChildModel.name)); TrackedToolboxTag TkToolboxTag = TrackedToolboxTags.Find(Tag => Tag.Name.Equals(ChildModel.name)); if (TkAnimationTag == null && TkToolboxTag == null) { Debug.Log("Couldnt find such Tag " + ChildModel.name + " " + i); continue; } if (TkAnimationTag != null) { PieceEventManager PEM = ChildModel.AddComponent <PieceEventManager>(); PEM.Enableds(Models: false, Buttons: false, Warnings: true); Transform PanelsFather = ChildModel.transform.Find("Panels"); foreach (PieceModel Panel in TkAnimationTag.Panels) { GameObject NewPanel = Instantiate(PanelBase, PanelsFather); NewPanel.name = Panel.Name; NewPanel.transform.localPosition = Panel.ModelPositionVector; NewPanel.transform.localRotation = Panel.ModelRotationVector; NewPanel.transform.localScale = Panel.ModelScaleVector; } //Transform Models = ChildModel.transform.Find("Models"); //foreach (PieceModel Model in TkAnimationTag.Models){ // GameObject NewModel = Instantiate(PanelBase, Models); // NewModel.name = Model.Name; // NewModel.transform.localPosition = Model.ModelPositionVector; // NewModel.transform.localRotation = Model.ModelRotationVector; // NewModel.transform.localScale = Model.ModelScaleVector; //} PEM.FullyLoad(TkAnimationTag.PieceEvents); Debug.Log(PEM.PieceEvents.Count); PieceEventManagers.Add(PEM); } if (TkToolboxTag != null) { ToolboxManager TM = ChildModel.AddComponent <ToolboxManager>(); TM.Enableds(Models: false); ToolboxManagers.Add(TM); Transform PanelsFather = ChildModel.transform.Find("Panels"); foreach (PieceTool Tool in TkToolboxTag.Tools) { foreach (PieceModel Panel in Tool.Panels) { GameObject NewPanel = Instantiate(PanelBase, PanelsFather); NewPanel.name = Panel.Name; NewPanel.transform.localPosition = Panel.ModelPositionVector; NewPanel.transform.localRotation = Panel.ModelRotationVector; NewPanel.transform.localScale = Panel.ModelScaleVector; } } } } PieceEventManagers[0].Enableds(Models: true, Buttons: true, Warnings: false); OngoingGlobalEvent = PieceEventManagers[0].OngoingManagerEvent; Debug.Log("PEM amount: " + PieceEventManagers.Count); PlayEvent(PieceEventManagers[0]); }
public void ManagerPlayEvent() { OngoingManagerEvent = PieceEvents[Index]; Transform PanelsFather = transform.Find("Panels"); foreach (PanelText Tuple in OngoingManagerEvent.Description) { Transform Panel = PanelsFather.Find(Tuple.PanelName); if (Panel == null) { Debug.LogError("Invalid Panel " + Tuple); } else { TextManager TextManager = Panel.Find("Text").GetComponent <TextManager>(); if (TextManager == null) { Debug.LogError("Invalid Panel Name " + Tuple); } else { TextManager.ChangeText(Tuple.Text); } } } List <GameObject> Pieces = new List <GameObject>(); string[] Subcomponents = OngoingManagerEvent.SubComponentNames.Split('/'); foreach (string sub in Subcomponents) { GameObject Piece = transform.Find("Models").Find(OngoingManagerEvent.ComponentNames).Find(sub).GetChild(0).gameObject; if (Piece == null) { Debug.LogError("Invalid Components Name"); } else { Pieces.Add(Piece); } } foreach (GameObject Piece in Pieces) { //TextManager.ChangeText(OngoingManagerEvent.Description); foreach (PieceAction PA in OngoingManagerEvent.PieceActions) { Debug.Log("Playing event " + OngoingManagerEvent.Name + " " + PA.Name + " " + PA.TranslationAmountVector + " " + PA.RotationAmountVector); if (Piece.GetComponent <Move>() == null && PA.TranslationAmountVector != Vector3.zero && float.Parse(PA.TranslationTime) > 0) { Move MoveScript = Piece.AddComponent <Move>(); MoveScript.LoadEvent(PA.TranslationAmountVector, float.Parse(PA.TranslationTime)); } if (Piece.GetComponent <Spin>() == null && PA.RotationAmountVector != Vector3.zero && float.Parse(PA.RotationTime) > 0) { Spin SpinScript = Piece.AddComponent <Spin>(); SpinScript.LoadEvent(PA.RotationAmountVector, float.Parse(PA.RotationTime)); } } } }