// Use this for initialization void Awake() { //get component reference spriteRenderer = GetComponent<SpriteRenderer>(); spriteAnimation = GetComponent<SpriteAnimation>(); controller = GetComponent<CharacterController>(); behaviourController = GetComponent<BehaviourControllerHolder>(); //random init move direction moveDirection = Random.Range(0f, 1f) > 0.5f ? -1 : 1; //face to move direction UpdateFaceTo(); }
// Use this for initialization void Start() { //get components references controller = GetComponent<CharacterController>(); spriteRenderer = GetComponent<SpriteRenderer>(); spriteAnimation = GetComponent<SpriteAnimation>(); behaviourController = GetComponent<BehaviourControllerHolder>(); //init data member lastPosition = transform.position; isGrounded = controller.isGrounded; }
void OnEnable() { //get components references behaviourController = GetComponent<BehaviourControllerHolder>(); spriteRenderer = GetComponent<SpriteRenderer>(); spriteAnimation = GetComponent<SpriteAnimation>(); //add instance to list if (!isAddToList) { characters.Add(this); isAddToList = true; } //add state machine state change handler behaviourController.behaviourController.onBehaviourChange += OnChangeState; }