Пример #1
0
        //セーブデータ用のバイナリ読み込み
        void ReadSaveData(BinaryReader reader)
        {
            int version = reader.ReadInt32();

            if (version >= VERSION_0)
            {
                this.Clear();
                if (version >= VERSION)
                {
                    this.isEventMode = reader.ReadBoolean();
                }

                int count = reader.ReadInt32();
                for (int i = 0; i < count; i++)
                {
                    string   key   = reader.ReadString();
                    AdvLayer layer = GetLayer(key);
                    if (null != layer)
                    {
                        layer.ReadSaveData(reader);
                    }
                    else
                    {
                        Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.ReadLayerSaveData, key));
                    }
                }
            }
            else
            {
                Debug.LogError(LanguageErrorMsg.LocalizeTextFormat(ErrorMsg.UnknownVersion, version));
            }
        }
Пример #2
0
		/// <summary>
		/// 初期化
		/// </summary>
		/// <param name="setting">レイヤー設定データ</param>
		public void InitLayerSetting(AdvLayerSetting setting)
		{
			foreach (AdvLayerSettingData item in setting.List)
			{
				AdvLayer layer = UtageToolKit.AddChildGameObjectComponent<AdvLayer>(this.transform, item.Name);
				layer.Init(item, PixelsToUnits);
				layers.Add(item.Name, layer);
				if (item == setting.DefaultBGLayer)
				{
					bgLayer = layer;
				}
				//キャラクターレイヤー登録
				if (item.Type == AdvLayerSettingData.LayerType.Character)
				{
					characterLayers.Add(item.Name, layer);
					if (item == setting.DefaultCharacterLayer)
					{
						defaultCharacterLayer = layer;
					}
				}

				//スプライトレイヤー登録
				if (item.Type == AdvLayerSettingData.LayerType.Sprite)
				{
					spriteLayers.Add(item.Name, layer);
					if (item == setting.DefaultSpriteLayer)
					{
						defaultSpriteLayer = layer;
					}
				}

			}
		}
Пример #3
0
		/// <summary>
		/// 指定の名前のキャラクター表示をオフ
		/// </summary>
		/// <param name="characterName">キャラクター名</param>
		/// <param name="fadeTime">フェード時間</param>
		public void CharacterFadeOut(string characterName, float fadeTime)
		{
			AdvLayer layer = FindCurrentCharacterLayer(characterName);
			if (layer!=null)
			{
				layer.FadeOutDefaultSprite(fadeTime);
			}
		}
Пример #4
0
		AdvLayer FindSpriteLayer(string layerName)
		{
			AdvLayer layer = null;
			if (!string.IsNullOrEmpty(layerName))
			{
				spriteLayers.TryGetValue(layerName, out layer);
			}
			if (null == layer)
			{
				//レイヤーが名前で設定できないならデフォルトレイヤーを使う
				layer = DefaultSpriteLayer;
			}
			return layer;
		}
Пример #5
0
        /// <summary>
        /// キャラクタ-テクスチャの設定
        /// </summary>
        /// <param name="layerName">レイヤー名</param>
        /// <param name="characterName">キャラクター名</param>
        /// <param name="texture">テクスチャ名</param>
        /// <param name="x">表示座標X floatのobject nullを指定することで位置移動なし</param>
        /// <param name="y">表示座標Y floatのobject nullを指定することで位置移動なし</param>
        /// <param name="fadeTime">フェード時間</param>
        /// <returns>成功したらture。テクスチャがないなどで失敗したらfalse</returns>
        public bool SetCharacterSprite(string layerName, string characterName, AssetFile texture, object x, object y, float fadeTime)
        {
            //既に同名のキャラがいるなら、そのレイヤーを取得
            AdvLayer oldLayer = FindCurrentCharacterLayer(characterName);

            if (oldLayer != null && texture == null)
            {
                //テクスチャ指定がない場合、前の同名キャラのテクスチャを引き継ぐ
                if (oldLayer.DefaultSprite != null)
                {
                    texture = oldLayer.DefaultSprite.CurrentTexture;
                }
            }

            if (texture == null)
            {
                //キャラのテクスチャ表示なし(エラーではない)
                return(false);
            }

            //表示するレイヤーを探す
            AdvLayer layer = null;

            if (!string.IsNullOrEmpty(layerName))
            {
                characterLayers.TryGetValue(layerName, out layer);
            }
            if (null == layer)
            {
                //レイヤーが名前で設定できないなら、今のレイヤーをそのまま使う
                layer = oldLayer;
                if (null == layer)
                {
                    //それもなければデフォルトレイヤーを使う
                    layer = DefaultCharacterLayer;
                }
            }

            //スプライトを設定
            layer.SetDefaultSprite(characterName, texture, x, y, fadeTime);
            //レイヤーが変わる場合は、昔のスプライトを消す
            if (oldLayer != layer && oldLayer != null)
            {
                oldLayer.FadeOutDefaultSprite(fadeTime);
            }
            return(true);
        }
Пример #6
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);
        }
Пример #7
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);
            }
        }