Exemplo n.º 1
0
 //初期化
 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);
     }
 }
Exemplo n.º 2
0
        //初期化
        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());
            }
        }
Exemplo n.º 3
0
        AdvLayer AddLayer(AdvLayerSettingData data)
        {
            AdvLayer layer = UtageToolKit.AddChildGameObjectComponent <AdvLayer>(this.transform, data.Name);

            layer.Init(data, PixelsToUnits);
            layers.Add(data.Name, layer);
            //キャラクターレイヤー登録
            if (data.Type == AdvLayerSettingData.LayerType.Character)
            {
                characterLayers.Add(data.Name, layer);
            }

            //スプライトレイヤー登録
            if (data.Type == AdvLayerSettingData.LayerType.Sprite)
            {
                spriteLayers.Add(data.Name, layer);
            }
            return(layer);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 初期化
        /// </summary>
        /// <param name="setting">レイヤー設定データ</param>
        public void InitLayerSetting(AdvLayerSetting setting)
        {
            foreach (AdvLayerSettingData item in setting.List)
            {
                AdvLayer layer = AddLayer(item);
                if (item == setting.DefaultBGLayer)
                {
                    bgLayer = layer;
                }
                if (item == setting.DefaultCharacterLayer)
                {
                    defaultCharacterLayer = layer;
                }

                if (item == setting.DefaultSpriteLayer)
                {
                    defaultSpriteLayer = layer;
                }
            }
            if (bgLayer == null)
            {
                AdvLayerSettingData data = new AdvLayerSettingData();
                data.InitDefault("BG UtageDefault", AdvLayerSettingData.LayerType.Bg, 0);
                bgLayer = AddLayer(data);
            }
            if (defaultCharacterLayer == null)
            {
                AdvLayerSettingData data = new AdvLayerSettingData();
                data.InitDefault("Character UtageDefault", AdvLayerSettingData.LayerType.Character, 100);
                defaultCharacterLayer = AddLayer(data);
            }
            if (defaultSpriteLayer == null)
            {
                AdvLayerSettingData data = new AdvLayerSettingData();
                data.InitDefault("Sprite UtageDefault", AdvLayerSettingData.LayerType.Sprite, 200);
                defaultSpriteLayer = AddLayer(data);
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// 初期化
 /// </summary>
 /// <param name="layerData">レイヤーデータ</param>
 /// <param name="pixelsToUnits">スプライトを作成する際の、座標1.0単位辺りのピクセル数</param>
 public void Init(AdvLayerSettingData layerData, float pixelsToUnits)
 {
     this.layerData     = layerData;
     this.pixelsToUnits = pixelsToUnits;
     ResetLayer();
 }