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")); }
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; } }