示例#1
0
    IEnumerator QueryChanSDBehavior(bool shoot)
    {
        yield return new WaitForSeconds(0.0f);

        if (shoot == true)
        {
            this.transform.localEulerAngles = new Vector3(0.0f, 90.0f, 0.0f);
            queryChanSapporoObject.GetComponent<QueryChanSapporoMecanimController>().ChangeAnimation(
                QueryChanSapporoMecanimController.QueryChanSapporoAnimationType.SAPPORO_SNOWBALLING);
            yield return new WaitForSeconds(0.4f);

            this.GetComponent<SnowBallShooter>().ShootSnowBall();
            yield return new WaitForSeconds(0.1f);

            this.transform.localEulerAngles = new Vector3(0.0f, 90.0f, 0.0f);
            queryChanSapporoObject.GetComponent<QueryChanSapporoMecanimController>().ChangeAnimation(
                QueryChanSapporoMecanimController.QueryChanSapporoAnimationType.SAPPORO_IDLE);
            targetPlayerBehaviorStatus = PlayerBehaviorStatus.THROW_BALL;
        }
        else
        {
            switch (targetPlayerBehaviorStatus)
            {
                case PlayerBehaviorStatus.STOP:
                    queryChanSapporoObject.GetComponent<QueryChanSapporoMecanimController>().ChangeAnimation(
                        QueryChanSapporoMecanimController.QueryChanSapporoAnimationType.SAPPORO_IDLE);
                    this.transform.localEulerAngles = new Vector3(0.0f, 90.0f, 0.0f);
                    break;

                case PlayerBehaviorStatus.WALK_LEFT:
                    queryChanSapporoObject.GetComponent<QueryChanSapporoMecanimController>().ChangeAnimation(
                        QueryChanSapporoMecanimController.QueryChanSapporoAnimationType.SAPPORO_WALK);
                    this.transform.localEulerAngles = new Vector3(0.0f, 0.0f, 0.0f);
                    break;

                case PlayerBehaviorStatus.WALK_RIGHT:
                    queryChanSapporoObject.GetComponent<QueryChanSapporoMecanimController>().ChangeAnimation(
                        QueryChanSapporoMecanimController.QueryChanSapporoAnimationType.SAPPORO_WALK);
                    this.transform.localEulerAngles = new Vector3(0.0f, 180.0f, 0.0f);
                    break;

                default:
                    queryChanSapporoObject.GetComponent<QueryChanSapporoMecanimController>().ChangeAnimation(
                        QueryChanSapporoMecanimController.QueryChanSapporoAnimationType.SAPPORO_IDLE);
                    this.transform.localEulerAngles = new Vector3(0.0f, 90.0f, 0.0f);
                    break;
            }
        }
    }
示例#2
0
    // Update is called once per frame
    void Update()
    {
        if (disableInputKey == false)
        {

            // animation
            if (Input.GetKeyDown(KeyCode.LeftArrow))
            {
                //Debug.Log ("left key");
                targetPlayerBehaviorStatus = PlayerBehaviorStatus.WALK_LEFT;
            }
            else if (Input.GetKeyDown(KeyCode.RightArrow))
            {
                //Debug.Log ("right key");
                targetPlayerBehaviorStatus = PlayerBehaviorStatus.WALK_RIGHT;
            }
            else if (Input.GetKeyDown(KeyCode.Space))
            {
                //Debug.Log ("space key");
                targetPlayerBehaviorStatus = PlayerBehaviorStatus.THROW_BALL;
                disableInputKey = true;
            }
            else
            {
                if (!Input.anyKey)
                {
                    //Debug.Log ("key up");
                    targetPlayerBehaviorStatus = PlayerBehaviorStatus.STOP;
                    disableInputKey = false;
                }
            }

            // position
            if (targetPlayerBehaviorStatus != lastTargetPlayerBehaviorStatus)
            {
                //Debug.Log("change animation " + disableInputKey);
                StartCoroutine(QueryChanSDBehavior (disableInputKey));
                lastTargetPlayerBehaviorStatus = targetPlayerBehaviorStatus;
            }

            switch (targetPlayerBehaviorStatus)
            {
                case PlayerBehaviorStatus.WALK_LEFT:
                if (this.transform.localPosition.z <= PcMoveAreaL)
                {
                    this.transform.localPosition += Vector3.forward * Time.deltaTime;
                }
                break;

                case PlayerBehaviorStatus.WALK_RIGHT:
                if (this.transform.localPosition.z >= PcMoveAreaR)
                {
                    this.transform.localPosition -= Vector3.forward * Time.deltaTime;
                }
                    break;
            }
        }

        // shoot timer
        if (isDie == false)
        {
            if (timerEnable == false && disableInputKey == true)
            {
                //Debug.Log ("start timer");
                timerEnable = true;
                cancelTimertime = Time.time + intervalShoot;
            }

            if (timerEnable == true && Time.time >= cancelTimertime)
            {
                //Debug.Log ("stop timer");
                disableInputKey = false;
                timerEnable = false;
            }
        }
    }
示例#3
0
    // Use this for initialization
    void Start()
    {
        disableInputKey = false;
        timerEnable = false;
        isDie = false;
        lastTargetPlayerBehaviorStatus = PlayerBehaviorStatus.STOP;
        targetPlayerBehaviorStatus = PlayerBehaviorStatus.STOP;

        GameObject areaInvader = GameObject.Find("AreaInvader");
        PcMoveAreaL = areaInvader.transform.localPosition.z + areaInvader.GetComponent<Renderer>().bounds.size.z / 2;
        PcMoveAreaR = areaInvader.transform.localPosition.z - areaInvader.GetComponent<Renderer>().bounds.size.z / 2;
        //Debug.Log ("PcMoveAreaL = " + PcMoveAreaL + " / PcMoveAreaR = " + PcMoveAreaR);
    }
示例#4
0
 void SyncState(PlayerBehaviorStatus state)
 {
     m_state = state;
 }
示例#5
0
 void CmdState(PlayerBehaviorStatus state)
 {
     m_state = state;
 }
示例#6
0
    // Update is called once per frame
    void Update()
    {
        if (disableInputKey == false)
        {
            // animation
            if (Input.GetKeyDown(KeyCode.LeftArrow))
            {
                //Debug.Log ("left key");
                targetPlayerBehaviorStatus = PlayerBehaviorStatus.WALK_LEFT;
            }
            else if (Input.GetKeyDown(KeyCode.RightArrow))
            {
                //Debug.Log ("right key");
                targetPlayerBehaviorStatus = PlayerBehaviorStatus.WALK_RIGHT;
            }
            else if (Input.GetKeyDown(KeyCode.Space))
            {
                //Debug.Log ("space key");
                targetPlayerBehaviorStatus = PlayerBehaviorStatus.THROW_BALL;
                disableInputKey            = true;
            }
            else
            {
                if (!Input.anyKey)
                {
                    //Debug.Log ("key up");
                    targetPlayerBehaviorStatus = PlayerBehaviorStatus.STOP;
                    disableInputKey            = false;
                }
            }

            // position
            if (targetPlayerBehaviorStatus != lastTargetPlayerBehaviorStatus)
            {
                //Debug.Log("change animation " + disableInputKey);
                StartCoroutine(QueryChanSDBehavior(disableInputKey));
                lastTargetPlayerBehaviorStatus = targetPlayerBehaviorStatus;
            }

            switch (targetPlayerBehaviorStatus)
            {
            case PlayerBehaviorStatus.WALK_LEFT:
                if (this.transform.localPosition.z <= PcMoveAreaL)
                {
                    this.transform.localPosition += Vector3.forward * Time.deltaTime;
                }
                break;

            case PlayerBehaviorStatus.WALK_RIGHT:
                if (this.transform.localPosition.z >= PcMoveAreaR)
                {
                    this.transform.localPosition -= Vector3.forward * Time.deltaTime;
                }
                break;
            }
        }

        // shoot timer
        if (isDie == false)
        {
            if (timerEnable == false && disableInputKey == true)
            {
                //Debug.Log ("start timer");
                timerEnable     = true;
                cancelTimertime = Time.time + intervalShoot;
            }

            if (timerEnable == true && Time.time >= cancelTimertime)
            {
                //Debug.Log ("stop timer");
                disableInputKey = false;
                timerEnable     = false;
            }
        }
    }