public NodeGetWeapon(float minDistance, Transform target, NavMeshAgent navMeshAgent, VariableBool gotWeapon) { this.minDistance = minDistance; this.target = target; this.navMeshAgent = navMeshAgent; this.gotWeapon = gotWeapon; }
public Node_AcquireWeapon(Transform target, NavMeshAgent navAgent, float interactionDistance, VariableBool weaponAcquired) { this.target = target; this.navAgent = navAgent; this.interactionDistance = interactionDistance; this.weaponAcquired = weaponAcquired; }
public NewPieceHolder(VariableBool holding, int pieceLayer, PieceRespawner pieceRespawner, NewPiecePlacement piecePlacement, Camera camera) { m_holding = holding; m_pieceLayer = pieceLayer; m_pieceRespawner = pieceRespawner; m_piecePlacement = piecePlacement; m_camera = camera; }
void Start() { isCasting = new VariableBool(() => ((Statue)entity).isCasting); #if UNITY_EDITOR if (LevelEditor.S != null) { EditorStart(); } #endif }
private void Start() { target = ( VariableGameObject )ScriptableObject.CreateInstance("VariableGameObject"); weaponAvailable = ( VariableBool )ScriptableObject.CreateInstance("VariableBool"); weaponAvailable.Value = false; // Patrol Behaviour Node_Patrol node_Patrol = new Node_Patrol(waypointsManager, agent); Node_TargetVisible node_TargetVisible = new Node_TargetVisible(agent.transform, target, fov); Invertor node_TargetVisibleInvertor = new Invertor(node_TargetVisible); Node_TargetAvailable node_TargetAvailable = new Node_TargetAvailable(target, active); Invertor node_TargetAvailableInvertor = new Invertor(node_TargetAvailable); Sequence sequence_Patrol = new Sequence(new List <BTBaseNode> { node_TargetAvailableInvertor, node_Patrol, node_TargetVisibleInvertor }, "Guard Sequence: Patrol"); // Chase & Attack Behaviour Node_Bool node_WeaponAvailable = new Node_Bool(weaponAvailable); Node_MoveToTransform node_MoveToTransform = new Node_MoveToTransform(GameObject.FindGameObjectWithTag("Weapon").transform, agent, 2f); // Again... Not optimal, but it works! Node_AcquireWeapon node_AcquireWeapon = new Node_AcquireWeapon(GameObject.FindGameObjectWithTag("Weapon").transform, agent, 2f, weaponAvailable); Node_Chase node_Chase = new Node_Chase(1, 15f, target, agent, true); Node_Attack node_Attack = new Node_Attack(attackRange.Value, agent, target); Sequence sequence_AcquireWeapon = new Sequence(new List <BTBaseNode> { node_MoveToTransform, node_AcquireWeapon }, "Guard Sequence: Acquire Weapon"); Selector selector_HasWeapon = new Selector(new List <BTBaseNode> { node_WeaponAvailable, sequence_AcquireWeapon }); Sequence sequence_Chase = new Sequence(new List <BTBaseNode> { node_TargetAvailable, selector_HasWeapon, node_Chase, node_Attack }, "Guard Sequence: Chasing"); tree = new Selector(new List <BTBaseNode> { sequence_Patrol, sequence_Chase }); if (Application.isEditor) { gameObject.AddComponent <ShowNodeTreeStatus>().AddConstructor(transform, tree); } }
private void Start() { target = (VariableTransform)ScriptableObject.CreateInstance("VariableTransform"); hasWeapon = (VariableBool)ScriptableObject.CreateInstance("VariableBool"); hasWeapon.Value = false; //Create your Behaviour Tree here! #region patrolling // Create target that can be changed by other nodes NodePatrol nodePatrol = new NodePatrol(0.5f, patrolPoints, agent); NodeSeeTarget nodeSeeTarget = new NodeSeeTarget(GetComponent <FieldOfView>(), agent, transform, target); Invertor invertorSeeTarget = new Invertor(nodeSeeTarget); NodeHasTarget nodeHasTarget = new NodeHasTarget(target); Invertor invertorNodeHasTarget = new Invertor(nodeHasTarget); // Patrol group Sequence sequencePatrolling = new Sequence(invertorNodeHasTarget, nodePatrol, invertorSeeTarget); #endregion #region chasing NodeCheckBool nodeHasWeapon = new NodeCheckBool(hasWeapon); NodeGoToTransform nodeGoToTransform = new NodeGoToTransform(1f, GameObject.FindWithTag("Weapon").transform, agent); NodeGetWeapon nodeGetWeapon = new NodeGetWeapon(1f, GameObject.FindWithTag("Weapon").transform, agent, hasWeapon); NodeChase nodeChase = new NodeChase(1f, 5, target, agent, 5f, true); NodeAttack nodeAttack = new NodeAttack(1f, agent, target); Sequence sequenceC1 = new Sequence(nodeGoToTransform, nodeGetWeapon); Selector selectorC1 = new Selector(new List <Node>() { nodeHasWeapon, sequenceC1 }); // param Sequence sequenceChasing = new Sequence(nodeHasTarget, selectorC1, nodeChase, nodeAttack); #endregion tree = new Selector(new List <Node> { sequenceChasing, sequencePatrolling }); // Show NodeState in editor if (Application.isEditor) { gameObject.AddComponent <ShowNodeTreeStatus>().AddConstructor(transform, tree); } }
void Start() { if (G.IsInUnityEditMode()) { isLit = new VariableBool() { value = false } } ; else { isLit = new VariableBool(() => ((Rune)entity).isLit); } renderer = transform.GetChild(0).GetComponent <SpriteRenderer>(); origMaterial = renderer.sharedMaterial; }
void Start() { if (!G.IsInUnityEditMode() && !G.S.isEditMode) { isOpen = new VariableBool(() => ((Door)entity).isOpen); } bool _ = isOpen.IsNew; openProgress = isOpen.value ? 1 : 0; SetOpenClosePosition(); #if UNITY_EDITOR if (LevelEditor.S != null) { EditorStart(); } #endif }
void Start() { if (G.IsInUnityEditMode()) { isPressed = new VariableBool() { value = false } } ; else { isPressed = new VariableBool(() => ((PressPlate)entity).isPressed); } #if UNITY_EDITOR if (LevelEditor.S != null) { EditorStart(); } #endif }
public BTCheckBool(VariableBool condition, bool desierdCondition) { this.condition = condition; this.desierdCondition = desierdCondition; }
// Start is called before the first frame update private void Awake() { inCombat = VariableBool.CreateInstance("VariableBool") as VariableBool; }
public Node_TargetAvailable(VariableGameObject target, VariableBool ownerActive) { this.target = target; this.ownerActive = ownerActive; }
public Node_Bool(VariableBool value) { this.value = value; }