public void Initialize(Dog dog) { stateMachine = gameObject.AddComponent <StateMachine>(); idleState.Initialize(dog, stateMachine); chasingState.Initialize(dog, stateMachine); stateMachine.Initialize(idleState); }
private void InitializeDictionary() { ACharacterState instance = new JumpState() as JumpState; instance.Initialize(ECharacterState.JUMP, this); _characterStates.Add(ECharacterState.JUMP, instance); instance = new IdleState() as IdleState; instance.Initialize(ECharacterState.IDLE, this); _characterStates.Add(ECharacterState.IDLE, instance); instance = new WalkState() as WalkState; instance.Initialize(ECharacterState.WALK, this); _characterStates.Add(ECharacterState.WALK, instance); instance = new FallState() as FallState; instance.Initialize(ECharacterState.FALL, this); _characterStates.Add(ECharacterState.FALL, instance); instance = new SteamState() as SteamState; instance.Initialize(ECharacterState.STEAM, this); _characterStates.Add(ECharacterState.STEAM, instance); }