示例#1
0
    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();
     }
 }
示例#3
0
    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]);
    }
示例#4
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));
                }
            }
        }
    }