예제 #1
0
        public ImmagineFissa Retrieve(BinaryReader br)
        {
            // Immagine
            string nome = br.ReadString();

            // Modello
            Modello modello = Documento.getInstance().ModelloRiferimento;
            int     width   = br.ReadInt32();
            int     height  = br.ReadInt32();

            if (width != modello.Size.Width || height != modello.Size.Height)
            {
                return(null);
            }

            // Frame
            int nCol = br.ReadInt32();
            int len  = br.ReadInt32();

            byte[] frameAsArray = new byte[len];
            br.Read(frameAsArray, 0, len);

            // Informazione
            IPersister    infoPersister = PersisterFactory.GetPersister(br.ReadString());
            TypeAttribute attr          = (TypeAttribute)infoPersister.GetType().GetCustomAttribute(typeof(TypeAttribute));
            IInformazione infoAssociata = (IInformazione)infoPersister.Retrieve(br);

            // Out
            ImmagineFissa result = new ImmagineFissa(new Frame(frameAsArray, nCol, width * height), infoAssociata, nome);

            return(result);
        }
        public void Save(ProgrammazioneGiornaliera elem, BinaryWriter bw)
        {
            // Programmazione Giornaliera
            bw.Write(elem.GetType().ToString());
            bw.Write(elem.Nome);

            // Modello di riferimento
            Modello modello = Documento.getInstance().ModelloRiferimento;

            bw.Write(modello.Size.Width);
            bw.Write(modello.Size.Height);

            // Sequenze
            SequenzaPersister persister = new SequenzaPersister();
            FasciaOraria      fo;
            Sequenza          sq;

            bw.Write(elem.Count() - elem.nDummy());
            for (int i = 0; i < elem.Count(); i++)
            {
                sq = elem[i];
                if (sq == ProgrammazioneGiornaliera.SEQUENZA_DUMMY)
                {
                    continue;
                }
                persister.Save(sq, bw);
                fo = elem.GetFasciaOrariaOf(sq);
                bw.Write(fo.StartQuarter);
                bw.Write(fo.EndQuarter);
            }
        }
예제 #3
0
        public Sequenza Retrieve(BinaryReader br)
        {
            // Sequenza
            string   nome   = br.ReadString();
            Sequenza result = new Sequenza();

            result.Nome = nome;

            // Modello
            Modello modello = Documento.getInstance().ModelloRiferimento;
            int     width   = br.ReadInt32();
            int     height  = br.ReadInt32();

            if (width != modello.Size.Width || height != modello.Size.Height)
            {
                return(null);
            }

            // Elementi
            int        nElementi = br.ReadInt32();
            uint       durata;
            string     type;
            IPersister persister;

            for (int i = 0; i < nElementi; i++)
            {
                durata    = br.ReadUInt32();
                type      = br.ReadString();
                persister = PersisterFactory.GetPersister(type);
                result.AggiungiElemento((Elemento)persister.Retrieve(br), durata);
            }

            // Out
            return(result);
        }
예제 #4
0
        public void Save(ProgrammazioneSettimanale elem, BinaryWriter bw)
        {
            // Programmazione Settimanale
            bw.Write(elem.GetType().ToString());

            // Modello di riferimento
            Modello modello = Documento.getInstance().ModelloRiferimento;

            bw.Write(modello.Size.Width);
            bw.Write(modello.Size.Height);

            // Programmazioni Giornaliere
            ProgrammazioneGiornalieraPersister persister = new ProgrammazioneGiornalieraPersister();
            ProgrammazioneGiornaliera          pg;

            foreach (DayOfWeek dow in Enum.GetValues(typeof(DayOfWeek)))
            {
                pg = elem[dow];
                if (pg == null)
                {
                    continue;
                }
                bw.Write((int)dow);
                persister.Save(elem[dow], bw);
            }
            bw.Write(-1);
        }
예제 #5
0
        public void Save(Animazione elem, BinaryWriter bw)
        {
            // Animazione
            bw.Write(elem.GetType().ToString());
            bw.Write(elem.Nome);
            bw.Write(elem.FrameRate);

            // Modello di riferimento
            Modello modello = Documento.getInstance().ModelloRiferimento;

            bw.Write(modello.Size.Width);
            bw.Write(modello.Size.Height);

            // Frames
            bw.Write(elem.Frames.Count);
            byte[] frameAsArray;
            foreach (Frame frame in elem.Frames)
            {
                frameAsArray = frame.ToByteArray();
                bw.Write(frame.Size.Width);
                bw.Write(frameAsArray.Length);
                bw.Write(frameAsArray);
            }

            // Informazione
            IPersister infoPersister = PersisterFactory.GetPersister(elem.InformazioneAssociata.GetType());

            infoPersister.Save(elem.InformazioneAssociata, bw);
        }
예제 #6
0
        public ProgrammazioneSettimanale Retrieve(BinaryReader br)
        {
            // Programmazione Settimanale
            ProgrammazioneSettimanale result = new ProgrammazioneSettimanale();

            // Modello
            Modello modello = Documento.getInstance().ModelloRiferimento;
            int     width   = br.ReadInt32();
            int     height  = br.ReadInt32();

            if (width != modello.Size.Width || height != modello.Size.Height)
            {
                return(null);
            }

            // Programmazioni Giornaliere
            ProgrammazioneGiornalieraPersister persister = new ProgrammazioneGiornalieraPersister();
            ProgrammazioneGiornaliera          pg;
            string type;
            int    dow = br.ReadInt32();

            while (dow > 0)
            {
                type = br.ReadString();
                pg   = persister.Retrieve(br);
                result[(DayOfWeek)dow] = pg;
                dow = br.ReadInt32();
            }
            // Out
            return(result);
        }
예제 #7
0
        public void Save(Sequenza elem, BinaryWriter bw)
        {
            // Sequenza
            bw.Write(elem.GetType().ToString());
            bw.Write(elem.Nome);

            // Modello di riferimento
            Modello modello = Documento.getInstance().ModelloRiferimento;

            bw.Write(modello.Size.Width);
            bw.Write(modello.Size.Height);

            // Elementi
            bw.Write(elem.Count);
            Elemento   value;
            IPersister persister;

            for (int i = 0; i < elem.Count; i++)
            {
                value = elem[i];
                bw.Write(elem.GetDurataOf(value));
                persister = PersisterFactory.GetPersister(value.GetType());
                persister.Save(value, bw);
            }
        }
예제 #8
0
 public FrameEditorPresenter(Frame frame, Modello modello)
 {
     Debug.Assert(null != modello);
     _editor = new DoubleBufferControl()
     {
         Dock = DockStyle.Fill
     };
     _modelloFrame = modello;
     _frame        = frame;
     AttachHandlers();
 }
예제 #9
0
        public AnimazioneEditorPresenter(Modello modello)
        {
            _editor      = new AnimazioneEditor();
            _editor.Dock = DockStyle.Fill;
            _editor.Pannello.CreateControl();

            _draggedTabIndex = -1;

            InstallHandlers();
            SetEditor(_editor);
            _modello = modello;
            CaricaElemento(new PersisterMapper <Elemento>(new Animazione(10)));
            AddFrame();
        }
예제 #10
0
        public ProgrammazioneGiornalieraEditorPresenter(Modello modello)
        {
            _editor      = new ProgrammazioneGiornalieraEditor();
            _editor.Dock = DockStyle.Fill;
            _editor.EndPicker.MinuteInterval = _editor.StartPicker.MinuteInterval = ProgrammazioneGiornaliera.QUARTER_DURATION / 60;
            ProgrammazioneGiornaliera progr = new ProgrammazioneGiornaliera();

            progr.InserisciSequenza(Sequenza.Default, new FasciaOraria(0, 96));
            CaricaProgrammazione(new PersisterMapper <ProgrammazioneGiornaliera>(progr));
            SetEventHandlers();
            OnLibreriaChange(null, EventArgs.Empty);
            VisualizzaEditorPer(progr.Sequenze.ElementAt(0));
            _selectedLabel = -1;
        }
예제 #11
0
        public SequenzaEditorPresenter(Modello modello)
        {
            _editor        = new SequenzaEditor();
            _editorFactory = Documento.getInstance().EditorFactory;
            _editor.Dock   = DockStyle.Fill;
            Sequenza s = new Sequenza();

            s.AggiungiElemento(Elemento.Default, 30);
            CaricaSequenza(new PersisterMapper <Sequenza>(s));

            _draggedElementIndex = -1;

            PopulateElementChoices();
            OnLibreriaChange(this, EventArgs.Empty);
            AttachHandlers();
        }
예제 #12
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Modello modello = ModelPane.ShowModelDialog();

            if (null == modello)
            {
                Environment.Exit(1);
            }

            Documento.getInstance().ModelloRiferimento = modello;

            MainForm form = new MainForm();
            MainContainerPresenter presenter = new MainContainerPresenter(form.MainContainer);

            Application.Run(form);
        }
예제 #13
0
        public Animazione Retrieve(BinaryReader br)
        {
            // Animazione
            string     nome      = br.ReadString();
            uint       frameRate = br.ReadUInt32();
            Animazione result    = new Animazione(frameRate);

            result.Nome = nome;

            // Modello
            Modello modello = Documento.getInstance().ModelloRiferimento;
            int     width   = br.ReadInt32();
            int     height  = br.ReadInt32();

            if (width != modello.Size.Width || height != modello.Size.Height)
            {
                return(null);
            }

            // Frames
            byte[] frameAsArray;
            int    nFrames = br.ReadInt32();

            for (int i = 0; i < nFrames; i++)
            {
                int nCol = br.ReadInt32();
                int len  = br.ReadInt32();
                frameAsArray = new byte[len];
                br.Read(frameAsArray, 0, len);
                result.Frames.Add(new Frame(frameAsArray, nCol, width * height));
            }


            // Informazione
            IPersister    infoPersister = PersisterFactory.GetPersister(br.ReadString());
            IInformazione infoAssociata = (IInformazione)infoPersister.Retrieve(br);

            // Out
            result.InformazioneAssociata = infoAssociata;
            return(result);
        }
        public ProgrammazioneGiornaliera Retrieve(BinaryReader br)
        {
            // Programmazione Giornaliera
            string nome = br.ReadString();
            ProgrammazioneGiornaliera result = new ProgrammazioneGiornaliera();

            result.Nome = nome;

            // Modello
            Modello modello = Documento.getInstance().ModelloRiferimento;
            int     width   = br.ReadInt32();
            int     height  = br.ReadInt32();

            if (width != modello.Size.Width || height != modello.Size.Height)
            {
                return(null);
            }

            // Sequenze
            SequenzaPersister persister = new SequenzaPersister();
            Sequenza          seq;
            FasciaOraria      fo;
            string            type;
            uint startQuarter, endQuarter;
            int  count = br.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                type         = br.ReadString();
                seq          = persister.Retrieve(br);
                startQuarter = br.ReadUInt32();
                endQuarter   = br.ReadUInt32();
                fo           = new FasciaOraria(startQuarter, endQuarter);
                result.InserisciSequenza(seq, fo);
            }

            // Out
            return(result);
        }
예제 #15
0
        public void Save(ImmagineFissa elem, BinaryWriter bw)
        {
            // Immagine
            bw.Write(elem.GetType().ToString());
            bw.Write(elem.Nome);

            // Modello di riferimento
            Modello modello = Documento.getInstance().ModelloRiferimento;

            bw.Write(modello.Size.Width);
            bw.Write(modello.Size.Height);

            // Frame
            byte[] frameAsArray = elem.Frame.ToByteArray();
            bw.Write(elem.Frame.Size.Width);
            bw.Write(frameAsArray.Length);
            bw.Write(frameAsArray);

            // Informazione
            IPersister infoPersister = PersisterFactory.GetPersister(elem.InformazioneAssociata.GetType());

            infoPersister.Save(elem.InformazioneAssociata, bw);
        }
예제 #16
0
파일: results.cs 프로젝트: albe96/Myself
    void Start()
    {
        for (int i = 0; i < 3; i++)
        {
            haisrtyles_container1[i].SetActive(false);
            haisrtyles_container2[i].SetActive(false);
            haisrtyles_container3[i].SetActive(false);
        }

        m1 = (JsonUtility.FromJson <Modello>(PlayerPrefs.GetString("saves1")));
        m2 = (JsonUtility.FromJson <Modello>(PlayerPrefs.GetString("saves2")));
        m3 = (JsonUtility.FromJson <Modello>(PlayerPrefs.GetString("saves3")));


        for (int i = 0; i < 86; i++)
        {
            modello1.GetComponent <SkinnedMeshRenderer>().SetBlendShapeWeight(i, m1.blendshapes[i]);
            modello2.GetComponent <SkinnedMeshRenderer>().SetBlendShapeWeight(i, m2.blendshapes[i]);
            modello3.GetComponent <SkinnedMeshRenderer>().SetBlendShapeWeight(i, m3.blendshapes[i]);
        }

        switch (m1.blendshapes[86])
        {
        case 0:
            haisrtyles_container1[0].SetActive(true);
            break;

        case 1:
            haisrtyles_container1[1].SetActive(true);
            break;

        case 2:
            haisrtyles_container1[2].SetActive(true);
            break;
        }

        switch (m2.blendshapes[86])
        {
        case 0:
            haisrtyles_container2[0].SetActive(true);
            break;

        case 1:
            haisrtyles_container2[1].SetActive(true);
            break;

        case 2:
            haisrtyles_container2[2].SetActive(true);
            break;
        }

        switch (m3.blendshapes[86])
        {
        case 0:
            haisrtyles_container3[0].SetActive(true);
            break;

        case 1:
            haisrtyles_container3[1].SetActive(true);
            break;

        case 2:
            haisrtyles_container3[2].SetActive(true);
            break;
        }

        //colore capelli
        switch (m1.blendshapes[87])
        {
        case 0:
            haisrtyles1[0].GetComponent <Renderer>().material = hairstyles_color[0];
            haisrtyles1[1].GetComponent <Renderer>().material = hairstyles_color[0];
            haisrtyles1[2].GetComponent <Renderer>().material = hairstyles_color[0];
            break;

        case 1:
            haisrtyles1[0].GetComponent <Renderer>().material = hairstyles_color[1];
            haisrtyles1[1].GetComponent <Renderer>().material = hairstyles_color[1];
            haisrtyles1[2].GetComponent <Renderer>().material = hairstyles_color[1];
            break;

        case 2:
            haisrtyles1[0].GetComponent <Renderer>().material = hairstyles_color[2];
            haisrtyles1[1].GetComponent <Renderer>().material = hairstyles_color[2];
            haisrtyles1[2].GetComponent <Renderer>().material = hairstyles_color[2];
            break;

        case 3:
            haisrtyles1[0].GetComponent <Renderer>().material = hairstyles_color[3];
            haisrtyles1[1].GetComponent <Renderer>().material = hairstyles_color[3];
            haisrtyles1[2].GetComponent <Renderer>().material = hairstyles_color[3];
            break;
        }

        switch (m2.blendshapes[87])
        {
        case 0:
            haisrtyles2[0].GetComponent <Renderer>().material = hairstyles_color[0];
            haisrtyles2[1].GetComponent <Renderer>().material = hairstyles_color[0];
            haisrtyles2[2].GetComponent <Renderer>().material = hairstyles_color[0];
            break;

        case 1:
            haisrtyles2[0].GetComponent <Renderer>().material = hairstyles_color[1];
            haisrtyles2[1].GetComponent <Renderer>().material = hairstyles_color[1];
            haisrtyles2[2].GetComponent <Renderer>().material = hairstyles_color[1];
            break;

        case 2:
            haisrtyles2[0].GetComponent <Renderer>().material = hairstyles_color[2];
            haisrtyles2[1].GetComponent <Renderer>().material = hairstyles_color[2];
            haisrtyles2[2].GetComponent <Renderer>().material = hairstyles_color[2];
            break;

        case 3:
            haisrtyles2[0].GetComponent <Renderer>().material = hairstyles_color[3];
            haisrtyles2[1].GetComponent <Renderer>().material = hairstyles_color[3];
            haisrtyles2[2].GetComponent <Renderer>().material = hairstyles_color[3];
            break;
        }

        switch (m3.blendshapes[87])
        {
        case 0:
            haisrtyles3[0].GetComponent <Renderer>().material = hairstyles_color[0];
            haisrtyles3[1].GetComponent <Renderer>().material = hairstyles_color[0];
            haisrtyles3[2].GetComponent <Renderer>().material = hairstyles_color[0];
            break;

        case 1:
            haisrtyles3[0].GetComponent <Renderer>().material = hairstyles_color[1];
            haisrtyles3[1].GetComponent <Renderer>().material = hairstyles_color[1];
            haisrtyles3[2].GetComponent <Renderer>().material = hairstyles_color[1];
            break;

        case 2:
            haisrtyles3[0].GetComponent <Renderer>().material = hairstyles_color[2];
            haisrtyles3[1].GetComponent <Renderer>().material = hairstyles_color[2];
            haisrtyles3[2].GetComponent <Renderer>().material = hairstyles_color[2];
            break;

        case 3:
            haisrtyles3[0].GetComponent <Renderer>().material = hairstyles_color[3];
            haisrtyles3[1].GetComponent <Renderer>().material = hairstyles_color[3];
            haisrtyles3[2].GetComponent <Renderer>().material = hairstyles_color[3];
            break;
        }

        switch (m1.blendshapes[88])
        {
        case 0:
            modello1.GetComponent <Renderer>().material = skin_color[0];
            break;

        case 1:
            modello1.GetComponent <Renderer>().material = skin_color[1];
            break;

        case 2:
            modello1.GetComponent <Renderer>().material = skin_color[2];
            break;

        case 3:
            modello1.GetComponent <Renderer>().material = skin_color[3];
            break;
        }

        switch (m2.blendshapes[88])
        {
        case 0:
            modello2.GetComponent <Renderer>().material = skin_color[0];
            break;

        case 1:
            modello2.GetComponent <Renderer>().material = skin_color[1];
            break;

        case 2:
            modello2.GetComponent <Renderer>().material = skin_color[2];
            break;

        case 3:
            modello2.GetComponent <Renderer>().material = skin_color[3];
            break;
        }

        switch (m3.blendshapes[88])
        {
        case 0:
            modello3.GetComponent <Renderer>().material = skin_color[0];
            break;

        case 1:
            modello3.GetComponent <Renderer>().material = skin_color[1];
            break;

        case 2:
            modello3.GetComponent <Renderer>().material = skin_color[2];
            break;

        case 3:
            modello3.GetComponent <Renderer>().material = skin_color[3];
            break;
        }
    }
예제 #17
0
 public ImmagineFissaEditorPresenter(Modello modello)
 {
     CaricaElemento(new PersisterMapper <Elemento>(new ImmagineFissa(new Frame(modello.Size))));
 }
예제 #18
0
 public FrameEditorPresenter(Modello modello) : this(new Frame(modello.Size), modello)
 {
 }
예제 #19
0
 public ModelEventArgs(Modello modello)
 {
     NuovoModello = modello;
 }