예제 #1
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     monsterTrans     = animator.transform.parent;
     monsterInfo      = monsterTrans.GetComponent <MonsterStateInfo>();
     X_AttackDistance = monsterInfo.X_AttackDistance;
     Y_AttackDistance = monsterInfo.Y_AttackDistance;
     sprites          = animator.GetComponentsInChildren <tk2dSprite>();
     FunctionLock     = false;
 }
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     monsterTrans = animator.transform.parent;
     monsterRig   = monsterTrans.GetComponent <Rigidbody2D>();
     monsterInfo  = monsterTrans.GetComponent <MonsterStateInfo>();
     walkSpeed    = monsterInfo.WalkSpeed;
     animator.transform.GetComponent <tk2dSpriteAnimator>().Play("行走");
     X_Velocity = new Vector2(walkSpeed, 0);
     Y_Velocity = new Vector2(0, walkSpeed);
 }
예제 #3
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     monsterTrans   = animator.transform.parent;
     monsterInfo    = monsterTrans.GetComponent <MonsterStateInfo>();
     monsterControl = monsterTrans.GetComponent <MonsterController>();
     monsterControl.rig.velocity = Vector2.zero;
     animator.transform.GetComponent <tk2dSpriteAnimator>().Play("停止");
     animator.SetBool("可行走", false);
     Timer     = 0;
     MoveDelta = Random.Range(monsterInfo.WalkTimeDelta - 0.5f, monsterInfo.WalkTimeDelta + 0.5f);
 }
예제 #4
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     monsterTrans     = animator.transform.parent;
     monsterControl   = monsterTrans.GetComponent <MonsterController>();
     monsterStateInfo = monsterTrans.GetComponent <MonsterStateInfo>();
     weaponTrans      = animator.transform.Find("武器");
     weaponSprite     = weaponTrans.GetComponent <tk2dSprite>();
     tkAnimator       = animator.transform.GetComponent <tk2dSpriteAnimator>();
     tkAnimator.Play("攻击");
     FunctionLock = false;
 }
예제 #5
0
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        monsterTrans = animator.transform.parent;
        monsterInfo  = monsterTrans.GetComponent <MonsterStateInfo>();
        Timer        = 0;
        animator.SetBool("僵直", true);
        int r = Random.Range(1, 3);

        animator.transform.GetComponent <tk2dSpriteAnimator>().Play("被击中" + r.ToString());
        StiffTime = monsterInfo.HitStiffTime;
    }
예제 #6
0
    override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        die            = false;
        monsterTrans   = animator.transform.parent;
        monsterControl = monsterTrans.GetComponent <MonsterController>();
        monsterInfo    = monsterTrans.GetComponent <MonsterStateInfo>();

        animator.SetBool("在躺着", true);
        animator.SetBool("在空中", false);

        if (monsterInfo.CurrentHp.Get() <= 0)
        {
            //die = true;
            //monsterInfo.IsDie = true;
            //monsterControl.ShowBreakEffect();
            //monsterControl.ShowWhiteEffect();
            animator.SetBool("死亡", true);
            monsterControl.Die();
        }
        animator.transform.GetComponent <tk2dSpriteAnimator>().Play("躺下");
    }
    //private void OnDrawGizmos()
    //{
    //    anim = GetComponentInChildren<Animator>();
    //   Gizmos.DrawWireSphere(new Vector2(anim.GetFloat("TargetX"), anim.GetFloat("TargetY")),5f);
    //}

    void Start()
    {
        anim    = bodyAnimTrans.GetComponent <Animator>();
        rig     = transform.GetComponent <Rigidbody2D>();
        sprites = bodyAnimTrans.GetComponentsInChildren <tk2dSprite>();


        effectRenderer = effectTrans.GetComponent <MeshRenderer>();
        effectAnimator = effectTrans.GetComponent <tk2dSpriteAnimator>();
        effectAnimator.AnimationCompleted = OnEffectAnimationCompleted;
        effectRenderer.enabled            = false;

        bodyAnimator = bodyAnimTrans.GetComponent <tk2dSpriteAnimator>();
        bodyAnimator.AnimationCompleted = OnBodyAnimationCompleted;

        monsterInfo = GetComponent <MonsterStateInfo>();
        var mapInitial = FindObjectOfType <DungeonMapInitial>();

        if (mapInitial != null)
        {
            FindObjectOfType <DungeonMapInitial>().AddMonster(this);
        }
    }
예제 #8
0
 private void Start()
 {
     monsterControl = transform.parent.GetComponent <MonsterController>();
     monsterInfo    = transform.parent.GetComponent <MonsterStateInfo>();
     anim           = GetComponent <Animator>();
 }