public void Field_Order_Works_With_Inheritance() { var g = Guid.NewGuid(); var pc = new PatternC(g, 1000); var pd = new PatternD(g, 1000, 1234); Assert.IsTrue(pd.ToString().StartsWith(pc.ToString())); }
void Update() { //if (!NetworkObjectCheck()) // return; if (m_hp <= 0) { MapManager.Instance().AddObject(GamePath.EFFECT, transform.position); NetworkManager.Instance().SendOrderMessage(JSONMessageTool.ToJsonRemoveOrder(m_name, "Monster")); return; } if (Input.GetKeyUp(KeyCode.I)) { GameManager.Instance().SetCurrentEnemy(this); Damage(20); } // 방향설정 Vector3 p = GameManager.Instance().ROBO.transform.position - transform.position; p.Normalize(); m_angle = (Mathf.Atan2(p.x, p.y) * Mathf.Rad2Deg); m_angle = -m_angle - 85.0f; transform.eulerAngles = new Vector3(0, 0, m_angle); Vector2 p2 = new Vector2(transform.position.x - 10.0f, transform.position.y); Debug.DrawLine(transform.position, p2, Color.red); if (m_pattern != null) { m_pattern.Update(gameObject); } // 체력이 30% 이하로 떨어지면 if (m_hp <= m_fullHp * GameSetting.BOSS1_PATTERN_D_HP_CONDITION) { // 광폭화 모드가 아니라면 광폭화 모드다 !!!! if (!(m_pattern is PatternD)) { m_pattern = new PatternD(m_skeletonAnimation, ANI_CD_MOVE, null, m_name); } } else { if (!AttackAbleCheck()) { if (!PatternA_AbleCheck()) { if (!PatternB_AbleCheck()) { if (!PatternC_AbleCheck()) { m_attackableTick = 0.0f; m_patternATick = 0.0f; m_patternBTick = 0.0f; m_patternCTick = 0.0f; } } } } } // Move Move(); // 쿨타임 중이면 아~~무것도 안함 if (CoolTime()) { return; } SetCoolTime(Attack()); }