public View(bool debug = false) { GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha); GL.Enable(EnableCap.Blend); _wrapper = debug ? (RenderWrapper) new RenderSimulator() : new RenderTranslator(); _vertex = new LightedVertex(); _fragment = new LightedFragment(); if (_wrapper is RenderTranslator translator) { string directory = Directory.GetCurrentDirectory(); translator.RegisterShader(_vertex, _fragment, directory + @"\..\..\Shaders\" + _vertex.GetType().Name + ".cs", directory + @"\..\..\Shaders\" + _fragment.GetType().Name + ".cs"); } }
/// <summary> /// Unity method. /// Start this instance. /// </summary> public override void Start() { base.Start(); GenericSettings.Instance.OnAutoplayChanged += OnSettingChanged; GenericSettings.Instance.OnArrowsChanged += OnSettingChanged; if (children.Count == 0) { cachedRenderWrapper = RenderWrapper.Instance; cachedRender = cachedRenderWrapper.GetRenderComponent(gameObject); cachedInputWrapper = InputWrapper.Instance; cachedInputReceiver = cachedInputWrapper.GetInputComponent(gameObject); } UpdatedState(); }
/// <summary> /// Unity method. /// Awake this instance. /// </summary> public override void Awake() { base.Awake(); if (children.Count == 0) { cachedAnimWrapper = AnimationWrapper.Instance; cachedAnimation = cachedAnimWrapper.GetAnimationComponent(gameObject); cachedRenderWrapper = RenderWrapper.Instance; cachedRender = cachedRenderWrapper.GetRenderComponent(gameObject); if (cachedRender) { cachedRenderWrapper.ChangeAlpha(cachedRender, 0f); } else { Debug.LogWarning("TextBlock: " + name + " doesn't have a renderer!"); } } }