//起動時の初期化 internal AdvGraphicGroup(AdvLayerSettingData.LayerType type, AdvLayerSetting setting, AdvGraphicManager manager) { this.Type = type; this.manager = manager; foreach (var item in manager.LayerList) { if (item.LayerType == type) { item.Init(manager); AddLayer(item.name, item); } } foreach (var item in setting.List) { if (item.Type == type) { //5.6対策でRectTransformを指定したnewが必要 var go = new GameObject(item.Name, typeof(RectTransform), typeof(Canvas)); manager.transform.AddChild(go); AdvGraphicLayerDefault layer = go.AddComponent <AdvGraphicLayerDefault>(); layer.Init(manager); layer.Init(item); AddLayer(item.Name, layer); } } }
//初期化 public void Init(AdvGraphicManager manager, AdvLayerSettingData settingData) { this.manager = manager; this.settingData = settingData; this.transform.localPosition = new Vector3(SettingData.Center.x / manager.PixelsToUnits, SettingData.Center.y / manager.PixelsToUnits, SettingData.GetZ(manager.SortOderToZUnits)); if (!string.IsNullOrEmpty(SettingData.LayerMask)) { gameObject.layer = LayerMask.NameToLayer(SettingData.LayerMask); } }
//初期化 public void Init(AdvGraphicManager manager, AdvLayerSettingData settingData) { this.manager = manager; this.settingData = settingData; this.transform.localPosition = new Vector3(SettingData.Center.x / manager.PixelsToUnits, SettingData.Center.y / manager.PixelsToUnits, SettingData.GetZ( manager.SortOderToZUnits ) ); if (!string.IsNullOrEmpty(SettingData.LayerMask)) { gameObject.layer = LayerMask.NameToLayer(SettingData.LayerMask); } }
//初期化 public void Init(AdvGraphicManager manager, AdvLayerSettingData settingData) { this.Manager = manager; this.SettingData = settingData; //UI用のコード this.Canvas = this.GetComponent <Canvas>(); #if UNITY_5_6_OR_NEWER this.Canvas.additionalShaderChannels = AdditionalCanvasShaderChannels.TexCoord1 | AdditionalCanvasShaderChannels.Normal | AdditionalCanvasShaderChannels.Tangent; #endif if (!string.IsNullOrEmpty(SettingData.LayerMask)) { #if UNITY_EDITOR if (!LayerMaskEditor.ContainsInLayerNames(SettingData.LayerMask)) { Debug.LogWarning("Please add Layer name [ " + SettingData.LayerMask + " ]"); this.Canvas.gameObject.layer = 8; } else { this.Canvas.gameObject.layer = LayerMask.NameToLayer(SettingData.LayerMask); } #else this.Canvas.gameObject.layer = LayerMask.NameToLayer(SettingData.LayerMask); #endif } this.Canvas.sortingOrder = SettingData.Order; //入力受け付ける可能性があるので、イベントカメラとRaycasterを設定 this.Camera = Engine.CameraManager.FindCameraByLayer(this.Canvas.gameObject.layer); if (Camera == null) { Debug.LogError("Cant find camera"); this.Camera = Engine.CameraManager.FindCameraByLayer(0); } this.LetterBoxCamera = Camera.gameObject.GetComponent <LetterBoxCamera> (); this.Canvas.worldCamera = Camera; GraphicRaycaster raycaster = this.Canvas.gameObject.AddComponent <GraphicRaycaster>(); raycaster.enabled = false; this.rootObjects = this.Canvas.transform; ResetCanvasRectTransform(); //ToDo //キャンバスのアニメーションの最中でリセットされると破綻するが・・・ if (Manager.DebugAutoResetCanvasPosition) { this.LetterBoxCamera.OnGameScreenSizeChange.AddListener(x => ResetCanvasRectTransform()); } }
//初期化 internal override void Init(AdvGraphicManager manager) { this.Manager = manager; this.Canvas = this.GetComponent <Canvas>(); this.RootObjects = (rootObjects == null) ? this.transform : rootObjects; this.SettingData = new AdvLayerSettingData(); SettingData.InitFromCanvas(Canvas, layerType, alignment, flipX, flipY); RectTransform rectTransform = this.transform as RectTransform; defaultPosition = rectTransform.localPosition; defaultSize = rectTransform.GetSize(); defaultScale = rectTransform.localScale; }
//起動時の初期化 internal AdvGraphicGroup( AdvLayerSettingData.LayerType type, AdvLayerSetting setting, AdvGraphicManager manager ) { this.type = type; foreach (var item in setting.List) { if (item.Type == type) { AdvGraphicLayer layer = UtageToolKit.AddChildGameObjectComponent<AdvGraphicLayer>(manager.transform, item.Name); layer.Init(manager,item); layers.Add(layer); if (item.IsDefault) defaultLayer = layer; } } }
void InitRenderTextureImage(AdvGraphicInfo graphic) { AdvGraphicManager graphicManager = this.Layer.Manager; this.RenderTextureSpace = graphicManager.RenderTextureManager.CreateSpace(); this.RenderTextureSpace.Init(graphic, graphicManager.PixelsToUnits); GameObject child = this.transform.AddChildGameObject(graphic.Key); AdvGraphicObjectRenderTextureImage renderTextureImage = child.AddComponent <AdvGraphicObjectRenderTextureImage>(); this.RenderObject = renderTextureImage; renderTextureImage.Init(RenderTextureSpace); this.RenderObject.Init(this); this.TargetObject = RenderTextureSpace.RenderRoot.transform.AddChildGameObject(graphic.Key).AddComponent(graphic.GetComponentType()) as AdvGraphicBase; this.TargetObject.Init(this); }
internal AdvGraphicGroup(AdvLayerSettingData.LayerType type, AdvLayerSetting setting, AdvGraphicManager manager) { this.type = type; this.manager = manager; foreach (AdvLayerSettingData data in setting.List) { if (data.Type == type) { Type[] typeArray1 = new Type[] { typeof(RectTransform), typeof(Canvas) }; GameObject child = new GameObject(data.Name, typeArray1); manager.get_transform().AddChild(child); AdvGraphicLayer item = child.AddComponent <AdvGraphicLayer>(); item.Init(manager, data); this.layers.Add(item); if (data.IsDefault) { this.DefaultLayer = item; } } } }
abstract internal void Init(AdvGraphicManager manager);
//初期化 internal override void Init(AdvGraphicManager manager) { this.Manager = manager; }
//起動時の初期化 internal AdvGraphicGroup(AdvLayerSettingData.LayerType type, AdvLayerSetting setting, AdvGraphicManager manager) { this.type = type; foreach (var item in setting.List) { if (item.Type == type) { AdvGraphicLayer layer = UtageToolKit.AddChildGameObjectComponent <AdvGraphicLayer>(manager.transform, item.Name); layer.Init(manager, item); layers.Add(layer); if (item.IsDefault) { defaultLayer = layer; } } } }