Ejemplo n.º 1
0
        private static void CopyHitsounds(Arguments arg, TimelineObject tloFrom, TimelineObject tloTo)
        {
            // Copy to this tlo
            tloTo.SampleSet   = tloFrom.SampleSet;
            tloTo.AdditionSet = tloFrom.AdditionSet;
            tloTo.Normal      = tloFrom.Normal;
            tloTo.Whistle     = tloFrom.Whistle;
            tloTo.Finish      = tloFrom.Finish;
            tloTo.Clap        = tloFrom.Clap;

            if (tloTo.CanCustoms)
            {
                tloTo.CustomIndex  = tloFrom.CustomIndex;
                tloTo.SampleVolume = tloFrom.SampleVolume;
                tloTo.Filename     = tloFrom.Filename;
            }

            // Copy sliderbody hitsounds
            if (tloTo.IsSliderHead && tloFrom.IsSliderHead && arg.CopyBodyHitsounds)
            {
                tloTo.Origin.Hitsounds   = tloFrom.Origin.Hitsounds;
                tloTo.Origin.SampleSet   = tloFrom.Origin.SampleSet;
                tloTo.Origin.AdditionSet = tloFrom.Origin.AdditionSet;
            }

            tloTo.HitsoundsToOrigin();
            tloTo.CanCopy = false;
        }
Ejemplo n.º 2
0
 public void CreateButton(TimelineObject type, Material mat, List <GameObject> targets, bool isActive, bool occupyTile)
 {
     ItemType    = type;
     material    = mat;
     goTargets   = targets;
     IsActivated = isActive;
     OccupyTile  = occupyTile;
 }
Ejemplo n.º 3
0
 public void CreateReceiver(TimelineObject timeline, Material mat, List <GameObject> targs, bool isPresActive,
                            bool occupytile)
 {
     ItemType    = timeline;
     material    = mat;
     goTargets   = targs;
     IsActivated = isPresActive;
     OccupyTile  = occupytile;
 }
Ejemplo n.º 4
0
 void AddTimeline(TimelineObject tl, object filter)
 {
     AddObject(tl);
     timelineToFilter [tl] = filter;
     if (tl is CategoryTimeline)
     {
         eventsTimelines [filter as EventType] = tl as CategoryTimeline;
     }
 }
Ejemplo n.º 5
0
 public void CreateLever(TimelineObject type, Material mat, List <GameObject> targets, bool isActive, float vel)
 {
     ItemType            = type;
     material            = mat;
     goTargets           = targets;
     IsActivated         = isActive;
     OccupyTile          = true;
     leverChangeVelocity = vel;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Nastavi vsechny potrebne informace o krabici
 /// </summary>
 /// <param name="itemType">V jake timeline krabice je</param>
 /// <param name="presMat">Material pro pritomnost</param>
 /// <param name="pastMat">material pro minulost</param>
 /// <param name="bothMat">material pro stav, kdy je zvednuty</param>
 public void CreateBox(TimelineObject itemType, Material mat)
 {
     ItemType          = itemType;
     material          = mat;
     isPickable        = true;
     isPushable        = true;
     ThrowableDistance = 2;
     movementVelocity  = 10;
 }
Ejemplo n.º 7
0
 public void CreatePreassurePlate(TimelineObject type, Material mat, List <GameObject> targets)
 {
     ItemType    = type;
     material    = mat;
     goTargets   = targets;
     IsActivated = false;
     OccupyTile  = false;
     Debug.Log("PP mat:" + mat);
 }
Ejemplo n.º 8
0
 public void Save(TimelineObject <T> obj)
 {
     if (saves.Count > 0 && obj.Timestamp() <= saves[saves.Count - 1].Timestamp())
     {
         throw new TimelineException("Saving non-sequential timestamp:" +
                                     " Previous - " + saves[saves.Count - 1].Timestamp() + " / Tried - " + obj.Timestamp() + ".");
     }
     saves.Add(obj);
 }
Ejemplo n.º 9
0
 public void CreateDoor(TimelineObject time, bool isOp, DoorOpening opening, Material mat, float vel, bool needAll)
 {
     ItemType            = time;
     IsOpen              = isOp;
     OpeningMode         = opening;
     material            = mat;
     doorOpeningVelocity = vel;
     needAllButtons      = needAll;
 }
Ejemplo n.º 10
0
    /// <summary>
    /// Nastavi vsechny hodnoty generatoru
    /// </summary>
    /// <param name="type"></param>
    /// <param name="presMat"></param>
    /// <param name="pastMat"></param>
    /// <param name="bothMat"></param>
    /// <param name="isOn"></param>
    /// <param name="areaOfEffect"></param>
    /// <param name="pickable"></param>
    /// <param name="pushable"></param>
    public void CreateGenerator(TimelineObject type, Material mat, bool isOn, int areaOfEffect, bool pickable, bool pushable, float expansionTime, bool alwaysOn)
    {
        ItemType           = type;
        material           = mat;
        IsOn               = isOn;
        AreaOfEffect       = areaOfEffect;
        isPickable         = pickable;
        isPushable         = pushable;
        ThrowableDistance  = 2;
        movementVelocity   = 5;
        this.expansionTime = expansionTime;
        isAlwaysOn         = alwaysOn;

        StartCoroutine(WaitForLevelInit());
    }
Ejemplo n.º 11
0
    public void ChangeTileAccessability(Vector3 position, TimelineObject to, bool change)
    {
        Tile[] t = GetTile(position);

        /*
         * if (to.Equals(TimelineObject.Present))
         *  t[0].ChangeAccessability(change);
         * else
         *  t[1].ChangeAccessability(change);
         */

        if (to.Equals(TimelineObject.Present))
        {
            t[0].IsOccupied = change;
        }
        else
        {
            t[1].IsOccupied = change;
        }
    }
Ejemplo n.º 12
0
        private static bool FilterMuteTlo(TimelineObject tloTo, Beatmap beatmapTo, Arguments arg)
        {
            // Check whether it's defined
            if (!tloTo.CanCopy)
            {
                return(false);
            }

            // Check type
            if (!(tloTo.IsSliderEnd || tloTo.IsSpinnerEnd))
            {
                return(false);
            }

            // Check repeats
            if (tloTo.Repeat != 1)
            {
                return(false);
            }

            // Check filter snap
            // It's at least snap x or worse if the time is not a multiple of snap x / 2
            var timingPoint      = beatmapTo.BeatmapTiming.GetRedlineAtTime(tloTo.Time - 1);
            var resnappedTime    = beatmapTo.BeatmapTiming.Resnap(tloTo.Time, arg.Snap1, arg.Snap2, false, timingPoint);
            var beatsFromRedline = (resnappedTime - timingPoint.Offset) / timingPoint.MpB;
            var dist1            = beatsFromRedline * arg.Snap1 / (arg.Snap1 == 1 ? 4 : 2);
            var dist2            = beatsFromRedline * arg.Snap2 / (arg.Snap2 == 1 ? 4 : arg.Snap2 == 3 ? 3 : 2);

            dist1 %= 1;
            dist2 %= 1;
            if (Precision.AlmostEquals(dist1, 0) || Precision.AlmostEquals(dist1, 1) ||
                Precision.AlmostEquals(dist2, 0) || Precision.AlmostEquals(dist2, 1))
            {
                return(false);
            }

            // Check filter temporal length
            return(Precision.AlmostBigger(tloTo.Origin.TemporalLength, arg.MinLength * timingPoint.MpB));
        }
Ejemplo n.º 13
0
 void AddTimeLine(TimelineObject tl)
 {
     AddObject (tl);
     timelines.Add (tl);
 }
Ejemplo n.º 14
0
 void AddTimeLine(TimelineObject tl)
 {
     AddObject(tl);
     timelines.Add(tl);
 }
Ejemplo n.º 15
0
 public TimePeriod(TimelineObject <T> f, TimelineObject <T> s)
 {
     first  = f;
     second = s;
 }
Ejemplo n.º 16
0
 public EditTask(TimelineObject type, string cont)
 {
     Type    = type;
     content = cont;
 }
Ejemplo n.º 17
0
 public void CreateStaticGeometry(TimelineObject type, Material mat)
 {
     ItemType = type;
     material = mat;
 }