public TimelineState GetTimelineState(GameObject sourceObject = null) { if (_timelineState == null) { if (string.IsNullOrEmpty(_file._filePath)) { if (_stateMachine != null) { foreach (TimelineState state in _stateMachine._states) { if (state._stateId == _stateId) { _timelineState = state; break; } } } else { throw new Exception("TimelineStateRefProperty need to be fixed up by TimelineStateMachine"); } } else { TextAsset asset = _file.LoadAsset(); _stateMachine = TimelineStateMachine.FromTextAsset(asset, sourceObject); _file.UnloadAsset(); _timelineState = _stateMachine.GetTimelineState(_stateId); } } return(_timelineState); }
public void SetTexture(int i) { if (textures.IsEmpty()) { return; } if (Platform.isPlaying) { GetLoader().Load(textures[i], null); } else { #if UNITY_EDITOR i = MathUtil.Clamp(i, 0, textures.Count); if (GetLoader().Target != null) { AssetRef r = textures[i]; r.LoadAsset <Texture>(t => { GetLoader().Target.mainTexture = t; #if UNITY_5_3_OR_NEWER UnityEditor.SceneManagement.EditorSceneManager.MarkAllScenesDirty(); #else UnityEditor.EditorUtility.SetDirty(GetLoader().gameObject); #endif }); } #endif } }
public Material GetMaterial() { if (_material == null) { if (_materialIndex != -1) { if (_materialIndex == kGraphicMaterialIndex) { Graphic graphic = _graphic.GetComponent(); if (graphic != null) { _material = graphic.material; } } else { Renderer renderer = _renderer.GetComponent(); if (renderer != null && 0 <= _materialIndex && _materialIndex < renderer.sharedMaterials.Length) { _material = renderer.materials[_materialIndex]; } } } else { _material = _materialRef.LoadAsset(); } } return(_material); }
public State GetState(GameObject sourceObject = null) { if (_state == null) { //If file path is invalid then its an internal state. if (IsInternal()) { if (_parentStateMachine != null) { _state = _parentStateMachine.GetState(_stateId); } else { throw new Exception("StateRefProperty need to be fixed up by a StateMachine before allowing access to internal state."); } } //Otherwise its pointing at an external asset. else { TextAsset asset = _file.LoadAsset(); _parentStateMachine = StateMachine.FromTextAsset(asset, sourceObject); _file.UnloadAsset(); _state = _parentStateMachine.GetState(_stateId); } } return(_state); }
private PlayableAsset GetPlayableAsset() { if (_playableAsset.IsValid()) { #if UNITY_EDITOR return(_playableAsset._editorAsset); #else return(_playableAsset.LoadAsset()); #endif } else { PlayableDirector playableDirector = _director.GetComponent(); return(playableDirector.playableAsset); } }
public override IEnumerator PerformState(StateMachineComponent stateMachine) { PlayableDirector director = _director.GetComponent(); PlayableAsset playable = _playableAsset.LoadAsset(); if (director != null && playable != null) { director.Play(playable, DirectorWrapMode.None); while (director.playableGraph.IsValid() && !director.playableGraph.IsDone()) { yield return(null); } } stateMachine.GoToState(StateMachine.Run(stateMachine, _goToState)); }
public override void OnStartConditionChecking(StateMachineComponent stateMachine) { _playableDirector = _director.GetComponent(); if (_playableDirector != null) { if (_playableAsset.IsValid()) { PlayableAsset playable = _playableAsset.LoadAsset(); _playableDirector.Play(playable, _wrapMode); } else { _playableDirector.Play(_playableDirector.playableAsset, _wrapMode); } } }
public eEventTriggerReturn Trigger(StateMachineComponent stateMachine) { PlayableDirector director = _director.GetComponent(); if (director != null) { if (_playableAsset.IsValid()) { PlayableAsset playable = _playableAsset.LoadAsset(); director.Play(playable, _wrapMode); } else { director.Play(director.playableAsset, _wrapMode); } } return(eEventTriggerReturn.EventFinished); }