示例#1
0
    // 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();
    }
示例#2
0
    // 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;
    }