Example #1
0
 public override void OnEndConditionChecking(StateMachineComponent stateMachine)
 {
     foreach (Condition condition in _conditions)
     {
         condition.OnEndConditionChecking(stateMachine);
     }
 }
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                IAnimator target = _animation.GetAnimator();

                if (target != null)
                {
                    target.Play(_channel, _animation._animationId);

                    switch (_holdType)
                    {
                    case eHoldType.FirstFrame:
                        target.SetAnimationTime(_channel, _animation._animationId, 0.0f);
                        break;

                    case eHoldType.LastFrame:
                        target.SetAnimationTime(_channel, _animation._animationId, target.GetAnimationLength(_animation._animationId) - 0.01f);
                        break;

                    case eHoldType.Time:
                        target.SetAnimationTime(_channel, _animation._animationId, _holdTime);
                        break;
                    }

                    target.SetAnimationSpeed(_channel, _animation._animationId, 0.0f);
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public static void OnStateStarted(StateMachineComponent stateMachine, State state, string fileName)
            {
                StateMachine parentStateMachine = state._debugParentStateMachine;

                if (parentStateMachine != null)
                {
                    if (parentStateMachine != null)
                    {
                        StateInfo stateInfo;

                        if (!_stateMachineMap.TryGetValue(stateMachine.gameObject, out stateInfo))
                        {
                            stateInfo = new StateInfo();
                            _stateMachineMap.Add(stateMachine.gameObject, stateInfo);
                        }

                        stateInfo._stateMachine = parentStateMachine;
                        stateInfo._state        = state;
                        stateInfo._time         = 0.0f;
                        if (!string.IsNullOrEmpty(fileName))
                        {
                            stateInfo._fileName = fileName;
                        }
                    }
                }
            }
 public void OnBranchingFinished(StateMachineComponent stateMachine)
 {
     if (_condition != null)
     {
         _condition.OnEndConditionChecking(stateMachine);
     }
 }
 public void OnBranchingStarted(StateMachineComponent stateMachine)
 {
     if (_condition != null)
     {
         _condition.OnStartConditionChecking(stateMachine);
     }
 }
            public eEventTriggerReturn Update(StateMachineComponent stateMachine, float eventTime)
            {
                float lerp = eventTime / _duration;

                UpdateTransform(lerp);

                return(eEventTriggerReturn.EventOngoing);
            }
Example #7
0
            public override bool IsConditionMet(StateMachineComponent stateMachine)
            {
                ITimelineStateTimer timer = TimelineState.GetTimer(stateMachine.gameObject);

                _time -= timer.GetDeltaTime();

                return(_time <= 0.0f);
            }
                private void UpdateInPlayMode()
                {
                    _debugging = false;

                    if (_editorPrefs._debug)
                    {
                        StateMachineComponent       stateMachine = _editorPrefs._debugObject.GetComponent();
                        StateMachineDebug.StateInfo stateInfo    = StateMachineDebug.GetStateInfo(stateMachine != null ? stateMachine.gameObject : null);

                        if (stateInfo != null)
                        {
                            _debugging = true;

                            if (_currentFileName != stateInfo._fileName && stateInfo._fileName != null)
                            {
                                _currentFileName = stateInfo._fileName;
                                SetStateMachine(stateInfo._stateMachine);
                                _timelineEditor.SetTimeline(null);
                            }

                            switch (_currentMode)
                            {
                            case eMode.ViewingStateMachine:
                            {
                                if (_playModeHighlightedState != stateInfo._state)
                                {
                                    GetEditorWindow().DoRepaint();
                                }

                                _playModeHighlightedState = stateInfo._state;

                                if (_editorPrefs._debugLockFocus)
                                {
                                    CenterCameraOn(GetStateGUI(_playModeHighlightedState._stateId));
                                }
                            }
                            break;

                            case eMode.ViewingTimelineState:
                            {
                                if (stateInfo._state._stateId != _editedTimelineState.GetStateId())
                                {
                                    _editedTimelineState = GetStateGUI(stateInfo._state._stateId) as TimeLineStateEditorGUI;

                                    if (_editedTimelineState != null)
                                    {
                                        _timelineEditor.SetTimeline(((TimelineState)stateInfo._state)._timeline);
                                    }
                                }

                                _timelineEditor.SetPlayModeCursorTime(stateInfo._time);
                                GetEditorWindow().DoRepaint();
                            }
                            break;
                            }
                        }
                    }
                }
Example #9
0
            public override bool IsConditionMet(StateMachineComponent stateMachine)
            {
                if (_method.RunMethod())
                {
                    return(true);
                }

                return(false);
            }
            public static void OnTimelineStateTimeProgress(StateMachineComponent stateMachine, State intialState, float time)
            {
                StateInfo stateInfo;

                if (_stateMachineMap.TryGetValue(stateMachine.gameObject, out stateInfo))
                {
                    _stateMachineMap[stateMachine.gameObject]._time = time;
                }
            }
            public override bool IsConditionMet(StateMachineComponent stateMachine)
            {
                if (_stateMachineObj != null && _stateMachineObj.IsRunning())
                {
                    return(true);
                }

                return(false);
            }
Example #12
0
            private static void EndNonInstantEvents(StateMachineComponent stateMachine, ref List <Event> nonInstantEvents)
            {
                foreach (ITimelineStateEvent ent in nonInstantEvents)
                {
                    ent.End(stateMachine);
                }

                nonInstantEvents.Clear();
            }
            public void End(StateMachineComponent stateMachine)
            {
                CinematicCameraMixer camera     = _camera.GetComponent();
                CinematicCameraShot  cameraShot = _shot.GetComponent();

                if (camera != null && cameraShot != null)
                {
                    camera.StopCameraShot(cameraShot);
                }
            }
            public override void OnLogicFinished(StateMachineComponent stateMachine)
            {
                CinematicCameraMixer camera     = _camera.GetComponent();
                CinematicCameraShot  cameraShot = _shot.GetComponent();

                if (camera != null && cameraShot != null)
                {
                    camera.StopCameraShot(cameraShot);
                }
            }
            public eEventTriggerReturn Update(StateMachineComponent stateMachine, float eventTime)
            {
                float    lerp     = eventTime / _duration;
                Color    color    = Color.Lerp(_origColor, _color, lerp);
                Material material = _material;

                material.SetColor(_propertyName, color);

                return(eEventTriggerReturn.EventOngoing);
            }
            public override void OnLogicStarted(StateMachineComponent stateMachine)
            {
                CinematicCameraMixer camera     = _camera.GetComponent();
                CinematicCameraShot  cameraShot = _shot.GetComponent();

                if (camera != null && cameraShot != null)
                {
                    camera.StartCameraShot(cameraShot, _duration, _extrapolation, _blendTime, _blendEaseType);
                }
            }
Example #17
0
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                MonoBehaviour target = _target.GetComponent();

                if (target != null)
                {
                    target.enabled = _enabled;
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public override bool IsConditionMet(StateMachineComponent stateMachine)
            {
                object boolNode = _saveData.GetSaveDataValue();

                if (boolNode != null && SystemUtils.IsTypeOf(typeof(bool), boolNode.GetType()))
                {
                    return((bool)boolNode == _value);
                }

                return(false);
            }
Example #19
0
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                GameObject gameObject = _gameObject.GetGameObject();

                if (gameObject != null)
                {
                    GameObject.Destroy(gameObject);
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                PlayableDirector director = _director.GetComponent();

                if (director != null)
                {
                    director.Stop();
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public eEventTriggerReturn Update(StateMachineComponent stateMachine, float eventTime)
            {
                if (_playableDirector.playableGraph.IsValid() && !_playableDirector.playableGraph.IsDone())
                {
                    return(eEventTriggerReturn.EventOngoing);
                }

                stateMachine.GoToState(StateMachine.Run(stateMachine, _goToState));

                return(eEventTriggerReturn.EventFinishedExitState);
            }
Example #22
0
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                IAnimator target = _animation.GetAnimator();

                if (target != null)
                {
                    target.Play(_channel, _animation._animationId, _wrapMode, _blendTime, _easeType, _weight, _queued);
                }

                return(eEventTriggerReturn.EventFinished);
            }
Example #23
0
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                GameObject target = _target.GetGameObject();

                if (target != null)
                {
                    target.SetActive(_active);
                }

                return(eEventTriggerReturn.EventFinished);
            }
Example #24
0
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                IAnimator target = _animator.GetComponent();

                if (target != null)
                {
                    target.Stop(_channel, _blendTime, _easeType);
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public new eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                _animator = _animation.GetAnimator();

                if (_animator != null)
                {
                    _animator.Play(_channel, _animation._animationId, _wrapMode, _blendTime, _easeType, _weight, _queued);
                    return(eEventTriggerReturn.EventOngoing);
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                _playableDirector = _director.GetComponent();

                if (_playableDirector != null)
                {
                    PlayableAsset playable = GetPlayableAsset();
                    _playableDirector.Play(playable, DirectorWrapMode.None);
                }

                return(eEventTriggerReturn.EventOngoing);
            }
Example #27
0
            public static IEnumerator Run(StateMachineComponent stateMachine, State startState, GameObject sourceObject = null)
            {
                if (startState != null)
                {
#if UNITY_EDITOR && DEBUG
                    StateMachineDebug.OnStateStarted(stateMachine, startState, null);
#endif
                    return(startState.PerformState(stateMachine));
                }

                return(null);
            }
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                ParticleSystem particleSystem = _particleSystem;

                if (particleSystem != null)
                {
                    ParticleSystem.EmissionModule emission = particleSystem.emission;
                    emission.enabled = _emission;
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                AnimatedCamera camera = _camera;

                if (camera != null)
                {
                    AnimatedCamera.Animation animation = new AnimatedCamera.Animation(_snapshot.GetComponent().GetState());
                    camera.SetAnimation(animation, _blendEaseType, _blendTime);
                }

                return(eEventTriggerReturn.EventFinished);
            }
            public eEventTriggerReturn Trigger(StateMachineComponent stateMachine)
            {
                CinematicCameraMixer camera     = _camera.GetComponent();
                CinematicCameraShot  cameraShot = _shot.GetComponent();

                if (camera != null && cameraShot != null)
                {
                    camera.StartCameraShot(cameraShot, _duration, _extrapolation, _blendTime, _blendEaseType);
                }

                return(eEventTriggerReturn.EventOngoing);
            }