// Token: 0x06002B20 RID: 11040 // RVA: 0x00117468 File Offset: 0x00115668 internal Class703(string string_2, Vector2 vector2_1, Origins origins_1, StoryLayer storyLayer_1, int int_6, double double_1, bool bool_4, LoopTypes loopTypes_0) { this.vector2_0 = vector2_1; this.origins_0 = origins_1; this.int_3 = int_6; this.bool_3 = bool_4; this.double_0 = Math.Max(1.0, double_1); this.storyLayer_0 = storyLayer_1; this.float_0 = Class872.smethod_6(this.storyLayer_0); this.class538_0 = new Class538(null, Enum115.const_2, origins_1, Enum114.const_1, vector2_1, this.float_0, false, Color.get_White(), null); this.class538_0.loopTypes_0 = loopTypes_0; if (Class466.Current != null && Class466.Current.int_6 < 6) { this.class538_0.method_53(Math.Round(0.015 * double_1) * 1.186 * 16.666666666666668); } else { this.class538_0.method_53(double_1); } this.class531_0 = this.class538_0; this.eventTypes_0 = EventTypes.Animation; this.string_0 = string_2.Replace(Class466.Current.method_3() + Path.DirectorySeparatorChar, string.Empty); this.string_1 = new string[this.int_3]; for (int i = 0; i < this.int_3; i++) { string text = this.string_0.Replace(".", i + "."); Class885.smethod_7(text); this.string_1[i] = text; } this.class538_0.method_41(new EventHandler(this.method_4)); }
float GetIncreasingDrawDepth (StoryLayer layer) { spriteDrawDepth += 0.0001f; return(0.5f + ((float)layer * 0.1f) + spriteDrawDepth); }
internal EventSprite(string filename, Vector2 startPosition, OriginTypes origin, StoryLayer layer) { Texture2D texture = SpriteCache.GetTexture(BeatmapManager.Current.ContainingFolder + "\\" + filename); Sprite = new pSprite(texture, FieldTypes.GamefieldRatio, origin, ClockTypes.Audio, startPosition, EventManager.GetIncreasingDrawDepth(layer), false, Color.White); Layer = layer; Origin = origin; Type = EventTypes.Sprite; Filename = filename; }
internal EventSample(string filename, int time, StoryLayer layer) { Type = EventTypes.Sample; Filename = filename; SampleChannel = Bass.BASS_SampleLoad(BeatmapManager.Current.ContainingFolder + "\\" + Filename, 0, 0, 5, BASSFlag.BASS_SAMPLE_OVER_POS); StartTime = time; Layer = layer; SampleCache = new SampleCacheItem(StartTime, SampleChannel); }
internal EventSample(int channel, string filename, int time, StoryLayer layer, int volume) { this.Volume = volume; Type = EventTypes.Sample; Filename = filename; //todo: optimise this SampleId = channel; StartTime = time; Layer = layer; SampleCache = new SampleCacheItem(StartTime, SampleId, Volume, true); }
internal EventSprite(string filename, Vector2 startPosition, Origins origin, StoryLayer layer, bool useSkinTextures) { this.startPosition = startPosition; this.origin = origin; this.useSkinTextures = useSkinTextures; Layer = layer; Type = EventTypes.Sprite; depth = EventManager.GetIncreasingDrawDepth(Layer); Filename = GeneralHelper.PathSanitise(filename).Replace(BeatmapManager.Current.ContainingFolderAbsolute + Path.DirectorySeparatorChar, string.Empty); TextureManager.Reference(Filename); Sprite = new pSprite(null, Fields.Storyboard, origin, Clocks.Audio, startPosition, depth, false, Color.White); Sprite.OnDisposable += Unload; }
/// <summary> /// Adds the specified e. Note this is only for sprites at the moment /// </summary> /// <param name="e">The e.</param> /// <param name="layer">The layer.</param> /// <param name="insertPos">The insert pos.</param> public void Add(Event e, StoryLayer layer, int insertPos) { if (e.EndTime > lastEventTime) { lastEventTime = e.EndTime; } if (e.StartTime < firstEventTime) { firstEventTime = e.StartTime; } e.Layer = layer; int intLayer = (int)layer; events.Add(e); if (insertPos > storyLayerSprites[intLayer].Count - 1) { storyLayerSprites[intLayer].Add(e); } else { storyLayerSprites[intLayer].Insert(insertPos, e); } int count = storyLayerSprites[intLayer].Count; for (int i = insertPos; i < count - 1; i++) { storyLayerSprites[intLayer][i].Sprite.Depth = storyLayerSprites[intLayer][i + 1].Sprite.Depth; } storyLayerSprites[intLayer][count - 1].Sprite.Depth = GetIncreasingDrawDepth(e.Layer); if (e.Sprite != null) { if (e.Layer == StoryLayer.Background) { spriteManagerBG.Add(e.Sprite); spriteManagerBG.ResortDepth(); } else { spriteManagerFG.Add(e.Sprite); spriteManagerFG.ResortDepth(); } } }
internal EventAnimation(string filename, Vector2 startPosition, Origins origin, StoryLayer layer, int frameCount, double frameDelay, bool useSkinSprites, LoopTypes loopType) { this.startPosition = startPosition; this.origin = origin; this.FrameCount = frameCount; this.useSkinSprites = useSkinSprites; FrameDelay = Math.Max(1, frameDelay); Layer = layer; depth = EventManager.GetIncreasingDrawDepth(Layer); Animation = new pAnimation(null, Fields.Storyboard, origin, Clocks.Audio, startPosition, depth, false, Color.White, null); Animation.LoopType = loopType; if (BeatmapManager.Current != null && BeatmapManager.Current.BeatmapVersion < 6) { Animation.FrameDelay = Math.Round(0.015 * frameDelay) * 1.186 * GameBase.SIXTY_FRAME_TIME; //backwards compatibility for older storyboards. } else { Animation.FrameDelay = frameDelay; } Sprite = Animation; Type = EventTypes.Animation; Filename = GeneralHelper.PathSanitise(filename).Replace(BeatmapManager.Current.ContainingFolderAbsolute + Path.DirectorySeparatorChar, string.Empty); Filenames = new string[FrameCount]; for (int i = 0; i < FrameCount; i++) { string f = Filename.Replace(".", i + "."); TextureManager.Reference(f); Filenames[i] = f; } Animation.OnDisposable += Unload; }
internal void ToggleLayer(StoryLayer layer) { int index = (int)layer; if (storyLayerEnabled[index]) { foreach (Event ev in storyLayerSprites[index].FindAll(e => e.Sprite != null)) { ev.Sprite.Bypass = true; } } else { foreach (Event ev in storyLayerSprites[index].FindAll(e => e.Sprite != null)) { ev.Sprite.Bypass = false; } } storyLayerEnabled[index] = !storyLayerEnabled[index]; }
internal EventAnimation(string filename, Vector2 startPosition, OriginTypes origin, StoryLayer layer, int frameCount, int frameDelay) { Texture2D[] textures = new Texture2D[frameCount]; for (int i = 0; i < frameCount; i++) { textures[i] = SpriteCache.GetTexture(BeatmapManager.Current.ContainingFolder + "\\" + filename.Replace(".", i + ".")); } Animation = new pAnimation(textures, FieldTypes.GamefieldRatio, origin, ClockTypes.Audio, startPosition, EventManager.GetIncreasingDrawDepth(layer), false, Color.White, null); Sprite = Animation; FrameDelay = Math.Max(1, frameDelay); Animation.frameSkip = (int)Math.Round(0.06 * frameDelay); Layer = layer; Origin = origin; Type = EventTypes.Animation; Filename = filename; }
// Token: 0x06002758 RID: 10072 // RVA: 0x000F457C File Offset: 0x000F277C internal void method_19(StoryLayer storyLayer_0) { this.class872_0.method_11(storyLayer_0); this.class762_2.method_6(this.class872_0.bool_9[0]); this.class762_4.method_6(this.class872_0.bool_9[3]); this.class762_3.method_6(this.class872_0.bool_9[1]); this.class762_5.method_6(this.class872_0.bool_9[2]); this.bool_2 = true; }
internal EventSprite(string filename, Vector2 startPosition, Origins origin, StoryLayer layer) : this(filename, startPosition, origin, layer, false) { }
private void UpdateEventList() { eventList.Update(); if (eventListDragging != null) { eventListDragging.Position = eventListDragging.InitialPosition + (MouseManager.MousePosition - eventListDraggingStart) / GameBase.WindowManager.Ratio; foreach (pSprite p in eventList.ContentSpriteManager.SpriteList.FindAll(t => t.TagNumeric > 0)) { pText pt = p as pText; if (eventListDragging == p || (pt != null && pt.Text == @"Background")) { continue; } if (p.InitialPosition.Y > eventListDragging.Position.Y - eventDrawHeight / 2) { if (p.Position == p.InitialPosition) { p.MoveTo(p.InitialPosition + new Vector2(0, eventDrawHeight), 80); } } else if (p.InitialPosition.Y < eventListDragging.Position.Y) { if (p.Position != p.InitialPosition) { p.MoveTo(p.InitialPosition, 80); } } } } if (EventListUpdateRequired) { eventList.ClearSprites(); eventListDictionary.Clear(); float y = 0; float drawDepth = 0.5f; float scale = DpiHelper.DPI(GameBase.Form) / 96.0f; for (int i = 0; i < eventManager.storyLayerSprites.Length; i++) { bool layerIsEnabled = eventManager.storyLayerEnabled[i]; List <Event> l = eventManager.storyLayerSprites[i]; StoryLayer layer = (StoryLayer)i; pText pt = new pText(layer.ToString(), 8 * scale, new Vector2(0, y), drawDepth, true, layerIsEnabled ? Color.Orange : Color.LightGray); pt.TextRenderSpecific = false; pt.TextAa = false; pt.TextShadow = true; pt.TagNumeric = 1; pt.HandleInput = true; pt.OnHover += delegate { if (selectedEvent != null) { pt.TextBold = true; pt.TextChanged = true; } }; pt.OnHoverLost += delegate { pt.TextBold = false; pt.TextChanged = true; }; pt.OnClick += delegate { if (selectedEvent != null) { moveEventToLayer(selectedEvent, layer); } else { ToggleLayer(layer); } }; eventList.ContentSpriteManager.Add(pt); if (eventDrawHeight == 0) { eventDrawHeight = (pt.MeasureText().Y + 4 * scale) / GameBase.WindowManager.Ratio; } y += eventDrawHeight; drawDepth += 0.0001f; if (!layerIsEnabled) { continue; //don't display the events if this layer is hidden. } foreach (Event e in l) { if (e.Sprite == null) { continue; } pText pt1 = new pText(e.Filename.Length >= 4 ? e.Filename.Remove(e.Filename.Length - 4) : e.Filename + @" ", 8 * scale, new Vector2(2, y), drawDepth, true, Color.White); pt1.TextRenderSpecific = false; pt1.TextAa = false; pt1.HandleInput = true; pt1.TextShadow = true; pt1.Tag = e; pt1.TagNumeric = 2; pt1.OnHover += delegate { pt1.BackgroundColour = new Color(92, 92, 92); pt1.TextChanged = true; }; pt1.OnHoverLost += delegate { pt1.BackgroundColour = Color.TransparentWhite; pt1.TextChanged = true; }; if (e == selectedEvent) { pt1.TextBold = true; pt1.TextUnderline = true; } Event e1 = e; pt1.OnClick += delegate { if (editor.CurrentMode != EditorModes.Design) { return; } if ((!e1.Sprite.IsVisible || MouseManager.DoubleClick) && e1.Sprite.Transformations.Count > 0) { AudioEngine.SeekTo(e1.Sprite.Transformations[0].Time1); } SetSelectedEvent(e1, false); }; eventList.ContentSpriteManager.Add(pt1); y += (pt1.MeasureText().Y + 4 * scale) / GameBase.WindowManager.Ratio; eventListDictionary.Add(e, pt1); drawDepth += 0.0001f; } } eventList.SetContentDimensions(new Vector2(66, y)); EventListUpdateRequired = false; } }