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