Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if (status == Status.Dead)
        {
            if (dead)
            {
                return;
            }
            //NetWorkingScript.RemoveMLable(id);
            animation.Play("Die");
            Destroy(gameObject, 2);
            dead = true;
        }

        NetWorkingScript.UpdateMLabel(id, transform.position, hp);

        if (status == Status.Flares)
        {
            animation.Play("RifleShoot");
            EmitFlares();
            animation.CrossFade("Idle");
            status = Status.Idle;
            //NewWorkingScript.MarineIdleReport(id, transform.position.x, transform.position.z);
        }

        if (status == Status.GunAttack)
        {
            animation.Play("GunShoot");
            GunShoot();
            animation.CrossFade("Idle");
            status = Status.Idle;
            //NewWorkingScript.MarineIdleReport(id, transform.position.x, transform.position.z);
        }


        if (status == Status.Run)
        {
            targetDistance = Vector3.Distance(transform.position, targetPostion);
            if (targetDistance > 0)
            {
                animation.CrossFade("Run");
                transform.position = Vector3.Lerp(
                    transform.position,
                    targetPostion,
                    Time.deltaTime * moveSpeed / targetDistance
                    );
            }
            else
            {
                transform.position = targetPostion;
                animation.CrossFade("Idle");
                status = Status.Idle;
                NetWorkingScript.MarineIdleReport(id, transform.position.x, transform.position.z);
            }
        }
    }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        if (status == Status.Dead) {
            if (dead) return;
            //NetWorkingScript.RemoveMLable(id);
            animation.Play("Die");
            Destroy(gameObject, 2);
            dead = true;
        }

        NetWorkingScript.UpdateMLabel(id, transform.position, hp);

        if (status == Status.Flares) {
            animation.Play("RifleShoot");
            EmitFlares();
            animation.CrossFade("Idle");
            status = Status.Idle;
            //NewWorkingScript.MarineIdleReport(id, transform.position.x, transform.position.z);
        }

        if(status == Status.GunAttack) {
            animation.Play("GunShoot");
            GunShoot();
            animation.CrossFade("Idle");
            status = Status.Idle;
            //NewWorkingScript.MarineIdleReport(id, transform.position.x, transform.position.z);
        }

        if(status == Status.Run) {
            targetDistance = Vector3.Distance(transform.position, targetPostion);
            if(targetDistance > 0) {
                animation.CrossFade("Run");
                transform.position = Vector3.Lerp(
                    transform.position,
                    targetPostion,
                    Time.deltaTime * moveSpeed/targetDistance
                    );
            } else {
                transform.position = targetPostion;
                animation.CrossFade("Idle");
                status = Status.Idle;
                NetWorkingScript.MarineIdleReport(id, transform.position.x, transform.position.z);
            }
        }
    }