示例#1
0
 public static byte[] GetSerializeByte(RepeatEvent @event)
 {
     KillMemoryStream();
     ms = new MemoryStream();
     bf.Serialize(ms, @event);
     return(ms.ToArray());
 }
示例#2
0
    private IEnumerator RunCoroutine()
    {
        canRun = true;
        startEvent.Invoke();
        while (canRun)
        {
            yield return(waitForSeconds);

            RepeatEvent.Invoke();
        }

        endEvent.Invoke();
    }
示例#3
0
 /// <summary>Standard constructor for a mouse mouse event.</summary>
 /// <param name="Event">The Event to call every frame update.</param>
 public Event(RepeatEvent Event)
 {
     this.Repeat = Event;
 }
示例#4
0
        //TODO: Implement NonRepeatEvents
        private void InsertEvents(EventLabel el)
        {
            ResetCommand();
            List <Event> eventList;



            eventList = el.getEventList();

            foreach (Event ev in eventList)
            {
                if (ev is RepeatEvent)
                {
                    RepeatEvent re = (RepeatEvent)ev;
                    //Wenn es erstellt ist, wird es einfach eingefügt
                    if (re.ICreated)
                    {
                        String dayCode = generateDayCodeKurz(re.dayCode);
                        command.CommandText = "INSERT INTO RepeatEvents (LabelId, NameOf, serialized,DayCode) VALUES (" + ev.IDatabaseID + ",'" + ev.Name + "',?,'" + dayCode + "');";

                        byte[] data = Serialize.GetSerializeByte(re);


                        SQLiteParameter param = new SQLiteParameter();
                        command.CreateParameter();
                        command.Parameters.Add(param);
                        param.Value = data;

                        command.ExecuteNonQuery();
                    }
                    //WEnn es modifiziert wurde, muss der alte Datenbank eintrag gelöscht werden bzw ersetzt werden
                    //Hierfür ersetzen wir alles: Wenn sich das Label geändert hat, gehört es nicht mehr zu genau diesem Label

                    else if (re.IModified)
                    {
                        //Anfrage
                        String cmdGen = "UPDATE RepeatEvents SET LabelID = " + el.IDatabaseID + ", nameOf =" + re.Name + "',dayCode = '" + generateDayCodeKurz(re.dayCode) + "',serialized = ? WHERE ID = " + re.IDatabaseID + ";";

                        SQLiteParameter param = new SQLiteParameter();
                        command.CommandText = cmdGen;
                        command.Parameters.Add(param);
                        param.Value = Serialize.GetSerializeByte(re);
                        command.ExecuteNonQuery();
                    }
                    ResetCommand();
                }
                else if (ev is NonRepeatingEvents)
                {
                    //Schwierig - was wenn ein gleicher Name existiert? Definitiv unique id rausladen
                    if (ev is ReferencedOneTimeEvent)
                    {
                        throw new NotImplementedException("Not implementd");
                    }
                    else if (ev is NonReferencedOneTimeEvent)
                    {
                        throw new NotImplementedException("Not implementd");
                    }
                    else
                    {
                        throw new Exception("Devs haben wieder scheise gebaut");
                    }
                }
            }
        }