示例#1
0
    void Start()
    {
        switch (controlType)
        {
        case ControlType.Human:
            m_mask     = masq;
            controller = new ControlCharacterHuman();
            try {
                NeuralNetController.staticRef.RegisterPlayer(this);
            }
            catch {
            }
            break;

        case ControlType.Random:
            controller = new ControlCharacterRandom();
            break;

        default:
            controller = new ControlCharacterML(this);
            break;
        }
        spriteRenderer             = GetComponent <SpriteRenderer> ();
        collider                   = GetComponent <BoxCollider2D> ();
        rigidbody                  = GetComponent <Rigidbody2D> ();
        groundCheckPointLeftLocal  = collider.offset + Vector2.down * collider.size.y * 0.55f + Vector2.left * collider.size.x * 0.5f;
        groundCheckPointRightLocal = collider.offset + Vector2.down * collider.size.y * 0.55f + Vector2.right * collider.size.x * 0.5f;
    }
示例#2
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     controlCharacter = animator.GetComponent <ControlCharacter>();
     iKMovement       = animator.GetComponent <IKMovement>();
     timePass         = idleId = faceId = 0.0f;
     idleUpdate       = sneakUpdate = idleFaceUpdate = false;
     timeForLastIdle  = originalTimeForLastIdle;
     timeForNextIdle  = timeForChangeIdle;
     animator.SetFloat("Idle", 0.0f);
     if (enableFaces)
     {
         animator.SetFloat("IdleFace", 0.0f);
     }
     if (Input.GetKey(KeyCode.LeftAlt))
     {
         animator.SetFloat("Sneak", 1.0f);
         sneakId   = 1.0f;
         runEnable = false;
     }
     else
     {
         animator.SetFloat("Sneak", 0.0f);
         sneakId   = 0.0f;
         runEnable = true;
     }
 }
示例#3
0
 override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     timePass = 0.0f;
     idleId   = 0.0f;
     animator.SetFloat("Idle", 0.0f);
     idleUpdate       = false;
     controlCharacter = animator.GetComponent <ControlCharacter>();
 }
示例#4
0
    void Awake()
    {
        // Setting up references.
        //playerControl = GetComponent<PlayerControl>();
        controlChar = GetComponent<ControlCharacter>();
        healthBar = GameObject.Find("HealthBar").GetComponent<SpriteRenderer>();
        anim = GetComponent<Animator>();

        // Getting the intial scale of the healthbar (whilst the player has full health).
        healthScale = healthBar.transform.localScale;
    }
示例#5
0
    private void OnTriggerStay2D(Collider2D c)
    {
        if (c.gameObject.layer == Layers.HERO && me.canMove)
        {
            ControlCharacter player = c.gameObject.GetComponentInParent <ControlCharacter>();
            Character        p      = c.gameObject.GetComponentInParent <Character>();

            //player.bodyComplete.isGettingDamage = true;

            me.Attack();


            if (me.endAttackin && !player.bodyComplete.isGettingDamage)
            {
                player.bodyComplete.GetDamage(me.Attack(), me.direcction);
                me.SetDamage(me.damage, p);
            }
        }
    }
示例#6
0
    private void OnTriggerEnter2D(Collider2D c)
    {
        ControlCharacter player = c.gameObject.GetComponentInParent <ControlCharacter>();


        if (c.gameObject.layer == Layers.HERO && !enemy.isWakeUp && !enemy.canMove)
        {
            if (!player.feets.iswalkingslowly)
            {
                enemy.isWakeUp = true;
            }

            if (enemy.transform.position.x < c.transform.position.x)
            {
                enemy.direcction = 1;
            }

            if (enemy.transform.position.x > c.transform.position.x)
            {
                enemy.direcction = -1;
            }
        }
    }
示例#7
0
    private void OnTriggerStay2D(Collider2D c)
    {
        if (c.gameObject.layer == Layers.HERO)
        {
            ControlCharacter player = c.gameObject.GetComponentInParent <ControlCharacter>();

            if (!player.feets.iswalkingslowly && player.rb.velocity.x != 0 && !enemy.isWakeUp)
            {
                enemy.isWakeUp = true;
            }
        }



        if (c.gameObject.layer == Layers.HERO && enemy.canMove && enemy.isWakeUp)
        {
            //Debug.Log(c.name);
            if (enemy.transform.position.x + 1 < c.transform.position.x)
            {
                enemy.direcction = 1;
                if (!enemy.render.flipX)
                {
                    enemy.render.flipX = true;
                }
            }


            if (enemy.transform.position.x > c.transform.position.x)
            {
                enemy.direcction = -1;
                if (enemy.render.flipX)
                {
                    enemy.render.flipX = false;
                }
            }
        }
    }
示例#8
0
文件: Gun.cs 项目: perrysham/2DDemo
    private ControlCharacter playerCtrl; // Reference to the PlayerControl script

    #endregion Fields

    #region Methods

    void Awake()
    {
        // Setting up the reference
        playerCtrl = transform.root.GetComponent<ControlCharacter>();
    }
示例#9
0
 void Start()
 {
     controlCharacter = GetComponent <ControlCharacter>();
 }