protected override void Init() { base.Init(); m_DirectID = database.GetDataId("direct"); database.SetData <Vector2>(m_DirectID, new Vector2(1, 0)); m_timeWaitId = database.GetDataId("timeWait"); database.SetData <float>(m_timeWaitId, 0); CheckPlayer _checkPlayer = new CheckPlayer(m_Find); CheckAllowAttack _checkAllowAttack = new CheckAllowAttack(m_timeWaitId, timeAttack); BTPrecondition2 con = new BTPrecondition2(_checkPlayer, _checkAllowAttack, BTPrecondition2.BTPrecondition2Param.And); _root = new BTPrioritySelector(); BTParallel moveAttack = new BTParallel(BT.BTParallel.ParallelFunction.Or, con); float maxX, maxY; maxX = distance.position.x - transform.position.x; maxY = 0; moveAttack.AddChild(new Move(speed, new Vector2(1, 0), transform.position, maxX, maxY, m_DirectID, null, true)); moveAttack.AddChild(new Shoot(bulletObject, shooter, new Vector2(0, -1), m_timeWaitId)); _root.AddChild(moveAttack); _root.AddChild(new Move(speed, new Vector2(1, 0), transform.position, maxX, maxY, m_DirectID, null, true)); }
protected override void Init() { base.Init(); float time = 0; float timeAttack = m_MaxTimeAttack + 1; m_timeWaitId = database.GetDataId("timeWait"); database.SetData <float>(m_timeWaitId, time); m_timeAttackId = database.GetDataId("timeAttack"); database.SetData <float>(m_timeAttackId, timeAttack); _root = new BTPrioritySelector(); CheckPlayer _checkPlayer = new CheckPlayer(m_Find); CheckAllowAttack _checkAllowAttack = new CheckAllowAttack(m_timeWaitId, m_TimeAttackCooldown); CheckAttacking _checkAttacking = new CheckAttacking(m_timeAttackId, m_MaxTimeAttack); BTPrecondition2 con1 = new BTPrecondition2(_checkAllowAttack, _checkAttacking, BTPrecondition2.BTPrecondition2Param.Or); BTPrecondition2 con2 = new BTPrecondition2(_checkPlayer, con1, BTPrecondition2.BTPrecondition2Param.And); _root.AddChild(new PlayAnimation("attack", con2)); _root.AddChild(new PlayAnimation("stand")); }
protected override void Init() { base.Init(); float time = 0; float timeAttack = m_MaxTimeAttack + 1; Vector2 direct = new Vector2(0, 1); m_DirectID = database.GetDataId("direct"); database.SetData <Vector2>(m_DirectID, direct); m_timeWaitId = database.GetDataId("timeWait"); database.SetData <float>(m_timeWaitId, time); m_timeAttackId = database.GetDataId("timeAttack"); database.SetData <float>(m_timeAttackId, timeAttack); _root = new BTPrioritySelector(); CheckPlayer _checkPlayer = new CheckPlayer(m_Find); CheckAllowAttack _checkAllowAttack = new CheckAllowAttack(m_timeWaitId, m_TimeAttackCooldown); CheckAttacking _checkAttacking = new CheckAttacking(m_timeAttackId, m_MaxTimeAttack); BTPrecondition2 con1 = new BTPrecondition2(_checkAllowAttack, _checkAttacking, BTPrecondition2.BTPrecondition2Param.Or); BTPrecondition2 con2 = new BTPrecondition2(_checkPlayer, con1, BTPrecondition2.BTPrecondition2Param.And); BTParallel moveAttack = new BTParallel(BT.BTParallel.ParallelFunction.Or); moveAttack.AddChild(new Move(m_Speed, direct, transform.position, 1000f, 0.2f, m_DirectID)); BTPrioritySelector fight = new BTPrioritySelector(); fight.AddChild(new PlayAnimation("attack", con2)); fight.AddChild(new PlayAnimation("fly")); moveAttack.AddChild(fight); _root.AddChild(moveAttack); }