public MMStateChangeEvent(MMStateMachine <T> stateMachine) { Target = stateMachine.Target; TargetStateMachine = stateMachine; NewState = stateMachine.CurrentState; PreviousState = stateMachine.PreviousState; }
/// <summary> /// Initialize this weapon. /// </summary> public virtual void Initialization() { if (!_initialized) { Flipped = false; _spriteRenderer = this.gameObject.GetComponent <SpriteRenderer>(); _comboWeapon = this.gameObject.GetComponent <ComboWeapon>(); WeaponState = new MMStateMachine <WeaponStates>(gameObject, true); _aimableWeapon = GetComponent <WeaponAim>(); WeaponAmmo = GetComponent <WeaponAmmo>(); _animatorParameters = new List <List <int> >(); InitializeAnimatorParameters(); InitializeFeedbacks(); _initialized = true; } WeaponState.ChangeState(WeaponStates.WeaponIdle); if (WeaponAmmo == null) { CurrentAmmoLoaded = MagazineSize; } if (_characterHorizontalMovement != null) { if (_characterHorizontalMovement.MovementSpeedMultiplier == 0f) { _characterHorizontalMovement.MovementSpeedMultiplier = 1f; } _permanentMovementMultiplierStorage = _characterHorizontalMovement.MovementSpeedMultiplier; } }
protected virtual void Initialization() { _character = GetComponent <CharacterMotor2D>(); _controller = GetComponent <CController>(); _characterHorizontalMovement = GetComponent <CharacterHorizontalMovement>(); _characterGravity = GetComponent <CharacterGravity>(); _spriteRenderer = GetComponent <SpriteRenderer>(); _health = GetComponent <Health>(); //BindAnimator(); //_sceneCamera = _character.SceneCamera; _inputManager = _character.LinkedInputManager; _state = _character.CharacterState; if (GetComponent <InputManager>() == null) { _character.LoadStates(_movement); _character.LoadCondition(_condition); } else { _movement = _character.MovementState; _condition = _character.ConditionState; } AbilityPermitted = true; if (_character.MovementState == null) { print(""); } _abilityInitialized = true; }
/// <summary> /// Gets and stores input manager, camera and components /// </summary> protected virtual void Initialization() { if (this.gameObject.MMGetComponentNoAlloc <TopDownController2D>() != null) { CharacterDimension = CharacterDimensions.Type2D; } if (this.gameObject.MMGetComponentNoAlloc <TopDownController3D>() != null) { CharacterDimension = CharacterDimensions.Type3D; } // we initialize our state machines MovementState = new MMStateMachine <CharacterStates.MovementStates>(gameObject, SendStateChangeEvents); ConditionState = new MMStateMachine <CharacterStates.CharacterConditions>(gameObject, SendStateChangeEvents); // we get the current input manager SetInputManager(); // we get the main camera // we store our components for further use CharacterState = new CharacterStates(); _controller = this.gameObject.GetComponent <TopDownController> (); _health = this.gameObject.GetComponent <Health> (); CacheAbilitiesAtInit(); if (CharacterBrain == null) { CharacterBrain = this.gameObject.GetComponent <AIBrain>(); } Orientation2D = FindAbility <CharacterOrientation2D>(); Orientation3D = FindAbility <CharacterOrientation3D>(); AssignAnimator(); // instantiate camera target if (CameraTarget == null) { CameraTarget = new GameObject(); } CameraTarget.transform.SetParent(this.transform); CameraTarget.transform.localPosition = Vector3.zero; CameraTarget.name = "CameraTarget"; if (LinkedInputManager != null) { if (OptimizeForMobile && LinkedInputManager.IsMobile) { if (this.gameObject.MMGetComponentNoAlloc <MMConeOfVision2D>() != null) { this.gameObject.MMGetComponentNoAlloc <MMConeOfVision2D>().enabled = false; } } } }
/// <summary> /// Gets and stores input manager, camera and components /// </summary> public virtual void Initialization() { // we initialize our state machines MovementState = new MMStateMachine <CharacterStates.MovementStates>(this.gameObject, SendStateChangeEvents); ConditionState = new MMStateMachine <CharacterStates.CharacterConditions>(this.gameObject, SendStateChangeEvents); if (InitialFacingDirection == FacingDirections.Left) { IsFacingRight = false; } else { IsFacingRight = true; } // instantiate camera target if (CameraTarget == null) { CameraTarget = new GameObject(); } CameraTarget.transform.SetParent(this.transform); CameraTarget.transform.localPosition = Vector3.zero; CameraTarget.name = "CameraTarget"; _cameraTargetInitialPosition = CameraTarget.transform.localPosition; // we get the current input manager SetInputManager(); GetMainCamera(); // we store our components for further use CharacterState = new CharacterStates(); _spriteRenderer = this.gameObject.GetComponent <SpriteRenderer>(); _controller = this.gameObject.GetComponent <CorgiController>(); CacheAbilitiesAtInit(); if (CharacterBrain == null) { CharacterBrain = this.gameObject.GetComponent <AIBrain>(); } _health = this.gameObject.GetComponent <Health>(); _damageOnTouch = this.gameObject.GetComponent <DamageOnTouch>(); CanFlip = true; AssignAnimator(); _originalGravity = _controller.Parameters.Gravity; ForceSpawnDirection(); }
/// <summary> /// Gets and stores components for further use /// </summary> protected virtual void Initialization() { _character = GetComponent <Character>(); _controller = GetComponent <CorgiController>(); _characterBasicMovement = GetComponent <CharacterHorizontalMovement>(); _characterGravity = GetComponent <CharacterGravity> (); _spriteRenderer = GetComponent <SpriteRenderer>(); _health = GetComponent <Health> (); BindAnimator(); _sceneCamera = _character.SceneCamera; _inputManager = _character.LinkedInputManager; _state = _character.CharacterState; _movement = _character.MovementState; _condition = _character.ConditionState; _abilityInitialized = true; }
/// <summary> /// Gets and stores components for further use /// </summary> protected virtual void Initialization() { BindAnimator(); _controller = GetComponent <TopDownController>(); _controller2D = GetComponent <TopDownController2D>(); _controller3D = GetComponent <TopDownController3D>(); _model = _character.CharacterModel; _characterMovement = GetComponent <CharacterMovement>(); _spriteRenderer = GetComponent <SpriteRenderer>(); _health = GetComponent <Health> (); _inputManager = _character.LinkedInputManager; _state = _character.CharacterState; _movement = _character.MovementState; _condition = _character.ConditionState; _abilityInitialized = true; }
/// <summary> /// Initialize this weapon. /// </summary> public virtual void Initialization() { Flipped = false; _spriteRenderer = this.gameObject.GetComponent <SpriteRenderer>(); _comboWeapon = this.gameObject.GetComponent <ComboWeapon>(); WeaponState = new MMStateMachine <WeaponStates>(gameObject, true); WeaponState.ChangeState(WeaponStates.WeaponIdle); WeaponAmmo = GetComponent <WeaponAmmo>(); _animatorParameters = new List <List <int> >(); _aimableWeapon = GetComponent <WeaponAim>(); InitializeAnimatorParameters(); if (WeaponAmmo == null) { CurrentAmmoLoaded = MagazineSize; } InitializeFeedbacks(); }
protected virtual void Initialization() { Energy = 100f; Application.targetFrameRate = TargetFrameRate; GameState = new MMStateMachine <GameStates> (gameObject, true); GUIManager.Instance.FaderOn(false, 1f, false); GUIManager.Instance.SetStartScreen(true); Enemies = new List <AgentController> (); AIs = GameObject.FindGameObjectsWithTag("AI"); for (int i = 0; i < AIs.Length; i++) { Enemies.Add(AIs [i].GetComponent <AgentController> ()); } Agents = FindObjectsOfType <AgentController> (); for (int i = 0; i < Agents.Length; i++) { Agents [i].gameObject.GetComponentNoAlloc <Animator> ().SetBool("StartScreen", true); } SetCamera(1); }
/// <summary> /// Gets and stores input manager, camera and components /// </summary> protected virtual void Initialization() { // we initialize our state machines MovementState = new MMStateMachine <CharacterStates.MovementStates>(gameObject, SendStateChangeEvents); ConditionState = new MMStateMachine <CharacterStates.CharacterConditions>(gameObject, SendStateChangeEvents); if (InitialFacingDirection == FacingDirections.Left) { IsFacingRight = false; } else { IsFacingRight = true; } // we get the current input manager SetInputManager(); // we get the main camera if (Camera.main == null) { return; } SceneCamera = Camera.main.GetComponent <CameraController>(); // we store our components for further use CharacterState = new CharacterStates(); _spriteRenderer = GetComponent <SpriteRenderer>(); _controller = GetComponent <CorgiController>(); _characterAbilities = GetComponents <CharacterAbility>(); _aiBrain = GetComponent <AIBrain>(); _health = GetComponent <Health> (); _damageOnTouch = GetComponent <DamageOnTouch>(); CanFlip = true; AssignAnimator(); _originalGravity = _controller.Parameters.Gravity; ForceSpawnDirection(); }
// STATE MACHINE ------------------------------------------------------------------------------------------------------------------------ protected virtual void Initialization() { Application.targetFrameRate = TargetFrameRate; GameState = new MMStateMachine <GameStates>(gameObject, true); GUIManager.Instance.FaderOn(false, 1f, false); for (int i = 0; i < Levels.Length; i++) { Levels[i].SetActive(false); } Levels[(CurrentLevel % 3)].SetActive(true); if (CurrentLevel == 1) { //GameState.ChangeState(GameStates.GameInProgress); //TODO REMOVE GUIManager.Instance.SetStartScreen(true); GUIManager.Instance.NoSpaceLeftWarning(false); GUIManager.Instance.Congratulations(false); } else { StartGame(); } }
public override void Init(Character c) { base.Init(c); state = new MMStateMachine <PlayerState>(gameObject, false); }