public bool Play(string stateName, float time = 0.0f, float transitionTime = 0.3f) { if (!_stateManager.Exists(stateName)) { DebugLog.Error($"EasyAnimationPlayable.Play : アニメーションステートが存在しないため再生できませんでした。{stateName}", DebugLogColor.animation); return(false); } _blendingName = string.Empty; _transitionTime = transitionTime; foreach (var state in _stateManager.states) { state.originWeight = state.weight; if (state.StateName == stateName) { state.destinationWeight = 1f; state.SetTime(time); state.Play(); } else { state.destinationWeight = 0f; state.isBlending = false; } } DebugLog.Normal($"EasyAnimationPlayable.Play : {stateName}を再生します", DebugLogColor.animation); return(true); }
public static void SignInAnonymously(Action <string> onResult) { DebugLog.Normal($"FireBase Auth : 匿名ログインを行います"); FirebaseAuth.DefaultInstance.SignInAnonymouslyAsync().ContinueWithOnMainThread(task => { if (task.IsCanceled) { DebugLog.Error("FireBase Auth : 匿名ログインをキャンセルしました"); return; } if (task.IsFaulted) { DebugLog.Error("FireBase Auth : 匿名ログインに失敗しました。" + task.Exception); return; } FirebaseUser anonymousUser = task.Result; DebugLog.Normal($"FireBase Auth : 匿名ユーザーを作成しました {anonymousUser.DisplayName} ({anonymousUser.UserId})"); DidAnonymouslyLoggedIn = true; onResult?.Invoke(anonymousUser.UserId); }); }
public bool Blend(string blendTreeName, float transitionTime = 0.3f) { var target = _stateManager.FindBlend(blendTreeName); if (target == null) { DebugLog.Error($"EasyAnimationPlayable.Blend : ブレンドアニメーションステートが存在しないため再生できませんでした。{blendTreeName}", DebugLogColor.animation); return(false); } _blendingName = blendTreeName; _transitionTime = transitionTime; foreach (var state in _stateManager.states) { state.destinationWeight = 0f; state.originWeight = state.weight; state.isBlending = false; } target.Play(); target.ComputeDestinationWeights(0f, 0f); DebugLog.Normal($"EasyAnimationPlayable.Blend : {blendTreeName}を再生します。", DebugLogColor.animation); return(true); }
public static void GetOrderByFirst(string key, string sortKey, int fetchCount, Action <string> onSuccess, Action onFailed) { DatabaseReference databaseReference = FirebaseDatabase.DefaultInstance.RootReference; DatabaseReference databaseReferenceKey = databaseReference.Child(key); Task <DataSnapshot> task = databaseReferenceKey.OrderByChild(sortKey).LimitToFirst(fetchCount).GetValueAsync(); task.ContinueWith(snapshotResultTask => { if (snapshotResultTask.IsCanceled) { DebugLog.Normal($"Firebase RealtimeDatabase : Canceled データの降順取得に失敗しました : DB:{key}"); onFailed?.Invoke(); } else if (snapshotResultTask.IsFaulted) { DebugLog.Normal($"Firebase RealtimeDatabase : Faulted データの降順取得に失敗しました : DB:{key}"); onFailed?.Invoke(); } else if (snapshotResultTask.IsCompleted) { string json = snapshotResultTask.Result.GetRawJsonValue(); DebugLog.Normal($"Firebase RealtimeDatabase : Completed データを降順取得しました : DB:{key} Json:{json}"); onSuccess(json); } }); }
public static void GetByID(string key, string id, Action <string> onSuccess, Action onFailed) { DatabaseReference databaseReference = FirebaseDatabase.DefaultInstance.RootReference; DatabaseReference databaseReferenceKey = databaseReference.Child(key); DatabaseReference databaseReferenceId = databaseReferenceKey.Child(id); Task <DataSnapshot> task = databaseReferenceId.GetValueAsync(); task.ContinueWith(snapshotResultTask => { if (snapshotResultTask.IsCanceled) { DebugLog.Normal($"Firebase RealtimeDatabase : Canceled データの取得に失敗しました : DB:{key}"); onFailed?.Invoke(); } else if (snapshotResultTask.IsFaulted) { DebugLog.Normal($"Firebase RealtimeDatabase : Faulted データの取得に失敗しました : DB:{key}"); onFailed?.Invoke(); } else if (snapshotResultTask.IsCompleted) { string json = snapshotResultTask.Result.GetRawJsonValue(); DebugLog.Normal($"Firebase RealtimeDatabase : Completed データを取得しました : DB:{key} Json:{json}"); onSuccess(json); } }); }
public static void SetByID(string key, string id, string json, Action onSuccess, Action onFailed) { DatabaseReference databaseReference = FirebaseDatabase.DefaultInstance.RootReference; DatabaseReference databaseReferenceKey = databaseReference.Child(key); DatabaseReference databaseReferenceId = databaseReferenceKey.Child(id); Task task = databaseReferenceId.SetRawJsonValueAsync(json); task.ContinueWith(resultTask => { if (resultTask.IsCanceled) { DebugLog.Normal($"Firebase RealtimeDatabase : Canceled データの保存に失敗しました : DB:{key}"); onFailed?.Invoke(); } else if (resultTask.IsFaulted) { DebugLog.Normal($"Firebase RealtimeDatabase : Faulted データの保存に失敗しました : DB:{key}"); onFailed?.Invoke(); } else if (resultTask.IsCompleted) { DebugLog.Normal($"Firebase RealtimeDatabase : Completed データを保存しました : DB:{key} Json:{json}"); onSuccess?.Invoke(); } }); }
public void SetSpeed(float speed) { DebugLog.Normal($"EasyAnimationPlayable.SetSpeed : 再生速度を{speed}にします", DebugLogColor.animation); foreach (var state in _stateManager.states) { state.SetSpeed(speed); } }
public void Stop() { DebugLog.Normal($"EasyAnimationPlayable.Stop : 停止します", DebugLogColor.animation); foreach (var state in _stateManager.states) { state.Stop(); } _blendingName = string.Empty; }
public bool RemoveBlend(string removeStateName) { var findState = FindBlend(removeStateName); if (findState != null) { blends.Remove(findState); DebugLog.Normal($"EasyAnimationStateManager.RemoveBlend : ブレンドアニメーションステートを削除しました。{removeStateName}", DebugLogColor.animation); return(true); } DebugLog.Warning($"EasyAnimationStateManager.RemoveBlend : ブレンドアニメーションステートが存在していないため、追加に失敗しました。{removeStateName}", DebugLogColor.animation); return(false); }
public static void SignInAnonymously(Action <string> onSignIn) { FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => { DependencyStatus dependencyStatus = task.Result; if (dependencyStatus == DependencyStatus.Available) { DebugLog.Normal("Firebase : ユーザー設定を行います"); MFBFAuth.SignInAnonymously(onSignIn); } else { DebugLog.Error("Firebase : 依存関係を解決できませんでした: " + dependencyStatus); } MFBFDatabase.SetupDatabase(DATA_BASE_URL); }); }
public bool Add(AnimationClip clip, string stateName, PlayableGraph graph, AnimationMixerPlayable mixer) { var findState = Find(stateName); if (findState == null) { var addState = new EasyAnimationState(clip, stateName, graph); states.Add(addState); addState.Stop(); addState.index = states.Count - 1; int inputCount = addState.index + 1; mixer.SetInputCount(inputCount); graph.Connect(addState.Playable, 0, mixer, addState.index); DebugLog.Normal($"EasyAnimationStateManager.Add : アニメーションステートを追加しました。{clip.name}", DebugLogColor.animation); return(true); } DebugLog.Warning($"EasyAnimationStateManager.Add : 同名アニメーションステートが存在しているため、追加に失敗しました。{clip.name}", DebugLogColor.animation); return(false); }
public bool AddBlend(EasyBlendTree tree, PlayableGraph graph, AnimationMixerPlayable mixer) { var findBlend = FindBlend(tree.name); if (findBlend == null) { for (int i = 0; i < tree.BlendMotions.Count; i++) { var clip = tree.BlendMotions[i].Motion as AnimationClip; string animationName = tree.name + "_" + clip.name + "_" + i; Add(clip, animationName, graph, mixer); } blends.Add(new EasyAnimationStateBlend(this, tree, graph, mixer)); DebugLog.Normal($"EasyAnimationStateManager.AddBlend : ブレンドアニメーションステートを追加しました。{tree.name}", DebugLogColor.animation); return(true); } DebugLog.Warning($"EasyAnimationStateManager.AddBlend : 同名ブレンドアニメーションステートが存在しているため、追加に失敗しました。{tree.name}", DebugLogColor.animation); return(false); }
public static void Setup(string userId) { DebugLog.Normal("Firebase Analytics : データ収集を有効化します"); FirebaseAnalytics.SetAnalyticsCollectionEnabled(true); #if UNITY_ANDROID FirebaseAnalytics.SetUserProperty( "OS", "Android"); #elif UNITY_IOS FirebaseAnalytics.SetUserProperty( "OS", "iOS"); #else FirebaseAnalytics.SetUserProperty( "OS", "Other"); #endif FirebaseAnalytics.SetSessionTimeoutDuration(new TimeSpan(0, 30, 0)); FirebaseAnalytics.SetUserId(userId); }
public static void Login(string userId) { DebugLog.Normal($"Firebase Analytics : ユーザーID : {userId} がログインしました"); FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventLogin); }