private void _SetAttackBox(StateMachineInfo.AttackBox attackBox, StateMachineInfo.Effect hit, int snapShotIndex = -1) { m_attackBox = attackBox; m_hitEff = hit; m_hitEff.markedHit = true; m_bulletAttackInfo = m_attackBox.bulletAttackInfo; m_attackInfo = m_attackBox.attackInfo; gameObject.SetActive(!m_attackBox.isEmpty); if (m_attackBox.isEmpty) { return; } if (m_attackBox.type == StateMachineInfo.AttackBox.AttackBoxType.Box) { var off = m_attackBox.start + m_attackBox.size * 0.5; if (!m_forward) { off.x = -off.x; } offset = off; boxSize = m_attackBox.size; radius = 0; } else { var off = m_attackBox.start; if (!m_forward) { off.x = -off.x; } boxSize = Vector2_.zero; sphereOffset = off; radius = m_attackBox.size.x; } #region Debug log #if (DEVELOPMENT_BUILD || UNITY_EDITOR) && DETAIL_BATTLE_LOG if (creature) { Logger.LogWarning("[{4}:{5}-{6}], Creature {0} attack box set to [{1},{2},{3},{7}], snap [{8},{9}]", creature.name, m_attackBox.attackInfo, m_attackBox.type, m_forward, Level.levelTime, creature.frameTime, creature.frameCount, snapShotIndex, enableSnapshot, m_snapShotCount); } #endif #if AI_LOG Module_AI.LogBattleMsg(creature, "[attack box set to [{0},{1},{2},{3}], snap [{4},{5}]", m_attackBox.attackInfo, m_attackBox.type, m_forward, snapShotIndex, enableSnapshot, m_snapShotCount); #endif #endregion }
public void SetAttackBox(StateMachineInfo.AttackBox attackBox, StateMachineInfo.Effect hit, bool forward) { Clear(); m_forward = forward; attackBox.start *= 0.1; attackBox.size *= 0.1; _SetAttackBox(attackBox, hit); CreateSnapShot(); }
private void _Clear() { m_targetCount = 0; m_attackBox = StateMachineInfo.AttackBox.empty; m_hitEff = StateMachineInfo.Effect.empty; m_bulletAttackInfo = 0; m_attackInfo = 0; m_forward = true; gameObject.SetActive(false); m_cols?.Clear(); }
public void Set(StateMachineInfo.AttackBox _attackBox, StateMachineInfo.Effect _hit, bool _isForward) { attackBox = _attackBox; hit = _hit; isForward = _isForward; }