/// <summary> /// セーブデータ用のバイナリ読みこみ /// </summary> /// <param name="reader">バイナリリーダー</param> public void ReadSaveData(BinaryReader reader) { UtageToolKit.ReadLocalTransform(this.transform, reader); this.LocalColor = UtageToolKit.ReadColor(reader); //Tweenがある場合は、Tween情報を読み込む int tweenCount = reader.ReadInt32(); for (int i = 0; i < tweenCount; ++i) { iTweenPlayer tween = this.gameObject.AddComponent <iTweenPlayer>() as iTweenPlayer; tween.Read(reader, pixelsToUnits); } //各スプライトの読み込み int count = reader.ReadInt32(); for (int i = 0; i < count; ++i) { string name = reader.ReadString(); AdvFadeSprites sprite = GetSpriteCreateIfMissing(name); sprite.Read(reader); } string defaultSpriteName = reader.ReadString(); if (!string.IsNullOrEmpty(defaultSpriteName)) { DefaultSprite = FindSprite(defaultSpriteName); } }
public override void DoCommand(AdvEngine engine) { if (!string.IsNullOrEmpty(tweenData.ErrorMsg)) { Debug.LogError(tweenData.ErrorMsg); isComplete = true; } else { GameObject go = engine.LayerManager.FindGameObject(name); if (null == go) { isComplete = true; //記述ミス Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotFoundTweenGameObject, name)); } else { isComplete = false; iTweenPlayer player = go.AddComponent <iTweenPlayer>() as iTweenPlayer; float skipSpeed = engine.Page.CheckSkip() ? engine.Config.SkipSpped : 0; player.Init(tweenData, engine.LayerManager.PixelsToUnits, skipSpeed, CallbackComplete); player.Play(); if (player.IsEndlessLoop) { waitType = WaitType.Add; } } } }
/// <summary> /// セーブデータ用のバイナリ読みこみ /// </summary> /// <param name="reader">バイナリリーダー</param> public void Read(BinaryReader reader) { UtageToolKit.ReadLocalTransform(this.transform, reader); this.LocalColor = UtageToolKit.ReadColor(reader); //Tweenがある場合は、Tween情報を読み込む int tweenCount = reader.ReadInt32(); for (int i = 0; i < tweenCount; ++i) { iTweenPlayer tween = this.gameObject.AddComponent <iTweenPlayer>() as iTweenPlayer; tween.Read(reader, pixelsToUnits); } string nameCurrenTexture = reader.ReadString(); AssetFile texture = AssetFileManager.Load(nameCurrenTexture, this); currentSprite = CreateSprite(texture); texture.Unuse(this); }
/// <summary> /// 再生終了時に呼ばれる /// </summary> void OnComplete(iTweenPlayer arg) { if (arg != this) { return; } ++count; if (count >= this.data.LoopCount && !IsEndlessLoop) { if (callbackComplete != null) { callbackComplete(this); } callbackComplete = null; iTween.StopByName(this.gameObject, tweenName); isPlaying = false; UnityEngine.Object.Destroy(this); } }
void CallbackComplete(iTweenPlayer player) { isComplete = true; }