void ChangeBCState()
    {
        switch (bcState)
        {
        case BCState.HIDE:
            if (hideRun)
            {
                collider2d.enabled = false;
                fit = (FIT)Random.Range(0, Enum.GetNames(typeof(FIT)).Length);
                // img 변경
                randomPos = Random.Range(-3f, 3f);
                this.transform.position = new Vector3(randomPos, startHeight, 0);
                hideRun = false;
            }
            break;

        case BCState.APPEAR:
            hideRun            = true;
            collider2d.enabled = true;
            this.transform.Translate(0, -speed * Time.deltaTime, 0);
            break;

        case BCState.DIE:
            bcState = BCState.HIDE;
            if (!hideRun)     // false일때 true 바꾸기 위해
            {
                hideRun = true;
            }
            break;
        }
    }
 void Start()
 {
     collider2d.enabled = false;
     startHeight        = GetComponentInParent <Transform>().position.y;
     hideRun            = true;
     spawnTime          = Random.Range(3, maxSpawnTime);
     bcState            = BCState.HIDE;
 }
 private void OnTriggerEnter2D(Collider2D coll)
 {
     Debug.Log("충돌!~!");
     bcState = BCState.DIE;
     if (coll.gameObject.tag == "Player" && (int)fit < (int)FIT.SMALL_PUDDLE)
     {
         scoreManager.score[(int)fit] += 1;
         scoreManager.TotalScore();
     }
 }
 void Start()
 {
     weightedRandom     = WeightedRandom.Instance;
     collider2d.enabled = false;
     bcState            = BCState.HIDE;
     executable         = true;
     waitTime           = 0.2f;
     // spriteRenderer.sprite = sprites[(int)BCState.HIDE];
     // Debug.Log(Enum.GetNames(typeof(BCState)).Length);
 }
 private void OnTriggerEnter2D(Collider2D coll)
 {
     if (coll.gameObject.tag == "Player" || coll.gameObject.tag == "Floor")
     {
         bcState = BCState.HIDE;
         if (coll.gameObject.tag == "Player")
         {
             // 스코어 갱신 함수 넣어야됨.
         }
     }
 }
    void Update()
    {
        if (bcState == BCState.HIDE)
        {
            delTime += Time.deltaTime;
        }

        if (delTime >= spawnTime)
        {
            delTime   = 0.0f;
            spawnTime = Random.Range(0, maxSpawnTime);
            bcState   = BCState.APPEAR;
        }

        ChangeBCState();
    }
    void Start()
    {
        Transform[] transformFloor = GameObject.Find("FloorGroup").GetComponentsInChildren <Transform>();
        floorY = new float[transformFloor.Length - 1];

        for (int i = 1; i < transformFloor.Length; i++)
        {
            floorY[i - 1] = transformFloor[i].position.y;
        }

        bcState        = BCState.HIDE;
        coll2D.enabled = false;
        collHeightHalf = coll2D.size.y / 2;
        spawnTime      = Random.Range(1.0f, maxSpawnTime);
        spawnPos       = this.GetComponentInParent <Transform>().position;
    }
    // --------------------------------------------

    //
    void ChangeBCStae()
    {
        switch (bcState)
        {
        case BCState.HIDE:
            spriteRenderer.sprite = sprites[(int)BCState.HIDE];
            collider2d.enabled    = false;
            ChangeFF();
            waitTime = Random.Range(1.0f, 5.0f - timer.nowRound);
            bcState  = BCState.APPEAR;
            break;

        case BCState.APPEAR:
            spriteRenderer.sprite = sprites[(int)oi.NAME + 3];
            collider2d.enabled    = true;
            // spriteRenderer.sprite = sprites[(int)BCState.APPEAR];
            waitTime = Random.Range(1.0f, 3.0f - (timer.nowRound * 0.5f));
            bcState  = BCState.HIDE;
            break;

        case BCState.DIE:
            // 획득 재료 갱신
            UpdatingScore();
            spriteRenderer.sprite = sprites[(int)BCState.DIE];
            collider2d.enabled    = false;
            waitTime = 1.0f;
            bcState  = BCState.HIDE;
            break;

        default:
            Debug.Log("BCState에 예상치 못한 값이 들어왔거나 값이 없습니다.");
            break;
        }
        // Debug.Log(spriteRenderer.sprite);
        // Debug.Log("변경된 Time : " + Time.time.ToString("N1"));
    }
Esempio n. 9
0
    public string Debar(byte[] bar)
    {
        byte[] b    = new byte[10];
        int    temp = 256; //cpValue的值数组的大小

        BCState bc = Jy.SetServer(LogInfo.Constant.SCDCC_IP, LogInfo.Constant.SCDCC_Port);

        bc = Jy.DecodeScdcc(bar, bar.Length);
        if (bc != BCState.BCSuccess)
        {
            return("JY|");
        }

        System.Text.StringBuilder sb  = new System.Text.StringBuilder(256);
        System.Text.StringBuilder sb1 = new System.Text.StringBuilder();

        //BCAttrType.BCTCustomize
        //通用属性
        sb1.Append("JY");
        //for (int i = 0; i < 5; ++i)
        //{
        //    Jy.GetAttribute(BCAttrType.BCTGeneral, i, sb, 100);
        //    sb1.Append(sb.ToString());
        //}
        try
        {
            for (int i = 0; i < 5; i++)
            {
                sb.Remove(0, sb.Length);
                bc = Jy.GetAttribute(BCAttrType.BCTGeneral, i, sb, temp);
                if (bc != BCState.BCSuccess)
                {
                    throw new Exception("读取条码错误");
                }
                if (i == 0)
                {
                    if (sb.ToString().Length == 2)//2位
                    {
                        sb1.Append(sb.ToString());
                    }
                    else
                    {
                        throw new Exception("读取条码错误");
                    }
                }
                if (i == 1)
                {
                    if (sb.ToString().Length == 8)//8位
                    {
                        sb1.Append(sb.ToString());
                    }
                    else
                    {
                        throw new Exception("读取条码错误");
                    }
                }
                if (i == 2)
                {
                    if (sb.ToString().Length == 10)//10位
                    {
                        sb1.Append(sb.ToString());
                    }
                    else
                    {
                        throw new Exception("读取条码错误");
                    }
                }
                if (i == 3)
                {
                    if (sb.ToString().Length == 14)//14位
                    {
                        sb1.Append(sb.ToString());
                    }
                    else
                    {
                        throw new Exception("读取条码错误");
                    }
                }
                if (i == 4)
                {
                    if (sb.ToString().Length == 1)//1位
                    {
                        sb1.Append(sb.ToString());
                    }
                    else
                    {
                        throw new Exception("读取条码错误");
                    }
                }
            }

            sb1.Append("&");
            //专用属性
            for (int i = 1; i < 12; ++i)
            {
                sb.Remove(0, sb.Length);
                bc = Jy.GetAttribute(BCAttrType.BCTSpecial, i, sb, temp);
                if (bc == BCState.BCErrGetParam || bc == BCState.BCSuccess)
                {
                    sb1.Append(DeBarNode.EncodeBar(i, sb.ToString()));
                    sb1.Append("|");
                }
                else
                {
                    throw new Exception("读取条码错误");
                }
            }
            sb1.Append("&");
            //自定义属性
            for (int i = 1; i < 5; ++i)
            {
                sb.Remove(0, sb.Length);
                bc = Jy.GetAttribute(BCAttrType.BCTCustomize, i, sb, temp);
                if (bc == BCState.BCErrGetParam || bc == BCState.BCSuccess)//参数不全时不能抛出异常
                {
                    sb1.Append(DeBarNode.EncodeBar(i, sb.ToString()));
                    sb1.Append("|");
                }
                else
                {
                    throw new Exception("读取条码错误");
                }
            }
        }
        catch (Exception ex)
        {
            LogInfo.Log.WriteInfo(LogInfo.LogType.Warnning, "解析SCDCC条码出错:" + ex.ToString());
        }
        sb1.Append("|");
        return(sb1.ToString());
    }
    void ChangeFIT()
    {
        switch ((int)bcState)
        {
        case 0:     // HIDE
            delTime += Time.deltaTime;
            if (delTime >= spawnTime)
            {
                coll2D.enabled = true;
                bcState        = BCState.APPEAR;
                delTime        = 0.0f;                 // 소환 되는 타임 초기화
                spawnTime      = Random.Range(1.0f, maxSpawnTime);
                fit            = (FIT)rand.RC();       // 소환되는 종류 설정

                step = Random.Range(0, floorY.Length); // 몇번째 줄에 소환되는지 설정
                if (step == 0 && mgr.stepcheck[0] != true)
                {
                    this.transform.position = new Vector2(this.transform.position.x, floorY[step] + collHeightHalf);     // 소환되는 위치 설정
                    mgr.stepcheck[0]        = true;
                }
                else if (step == 1 && mgr.stepcheck[1] != true)
                {
                    this.transform.position = new Vector2(this.transform.position.x, floorY[step] + collHeightHalf);     // 소환되는 위치 설정
                    mgr.stepcheck[1]        = true;
                }
                else if (step == 2 && mgr.stepcheck[2] != true)
                {
                    this.transform.position = new Vector2(this.transform.position.x, floorY[step] + collHeightHalf);     // 소환되는 위치 설정
                    mgr.stepcheck[2]        = true;
                }
            }
            break;

        case 1:     // APPEAR
            if (this.transform.position.x <= -4)
            {
                bcState = BCState.DIE;
            }
            else
            {
                transform.Translate((-1) * speed, 0, 0);     // 실질적 이동
            }
            break;

        case 2:     // DIE
            this.transform.position = spawnPos;
            coll2D.enabled          = false;
            if (step == 0 && mgr.stepcheck[0] != false)
            {
                mgr.stepcheck[0] = false;
            }
            else if (step == 1 && mgr.stepcheck[1] != false)
            {
                mgr.stepcheck[1] = false;
            }
            else if (step == 2 && mgr.stepcheck[2] != false)
            {
                mgr.stepcheck[2] = false;
            }
            bcState = BCState.HIDE;
            break;
        }
    }