public void patrolling(GameObject patrol) { Vector3 patrollCenter = new Vector3(patrol.GetComponent <PatrolData>().rangeX + 10, 0, patrol.GetComponent <PatrolData>().rangeZ + 10); PatrolAction action = PatrolAction.getSSAction(patrollCenter); this.RunAction(patrol, action, this); }
public static PatrolAction GetSSAction(GameObject player) { PatrolAction action = CreateInstance <PatrolAction>(); action.player = player; return(action); }
private PatrolData data; // 巡逻兵的数据 public static PatrolAction GetAction(Vector3 location) { PatrolAction action = CreateInstance <PatrolAction>(); action.pos_x = location.x; action.pos_z = location.z; return(action); }
public static PatrolAction getAction(Vector3 direction, float speed) { PatrolAction action = CreateInstance <PatrolAction>(); action.direction = direction; action.speed = speed; return(action); }
public static PatrolAction GetAction(Vector3 pos) { PatrolAction action = CreateInstance <PatrolAction>(); action.x = pos.x; action.z = pos.z; return(action); }
//private Vector3 towards = new Vector3(0,0,0); public static PatrolAction getSSAction(Vector3 curLoc) { PatrolAction action = ScriptableObject.CreateInstance <PatrolAction>(); action.posX = curLoc.x; action.posZ = curLoc.z; action.stepLength = Random.Range(14, 20); return(action); }
// Use this for initialization protected void Start() { SceneController = (FirstController)SSDirector.GetInstance().CurrentSceneController; foreach (GameObject i in SceneController.Patrols) { action = PatrolAction.GetSSAction(); this.RunAction(i, action, this); } }
public static PatrolAction getSSAction(Vector3 location) { PatrolAction action = CreateInstance <PatrolAction>(); action.posX = location.x; action.posZ = location.z; action.moveLength = UnityEngine.Random.Range(4, 7); return(action); }
public static PatrolAction GetAction(Vector3 location) { PatrolAction action = CreateInstance <PatrolAction>(); action.distination = location; action.speed = Random.Range(0.8f, 1.8f); return(action); }
protected new void Start() { sceneController = Director.getInstance().currentSceneController as FirstSceneController; sceneController.patrolActionManager = this; player = sceneController.getPlayer(); patrolAction = PatrolAction.getAction(new Vector3(Random.Range(-1, 1f), Random.Range(-1, 1f)), speed); catchAction = CatchAction.getAction(player, speed); }
public void SSActionEvent(SSAction source, int intParam = 0, GameObject objectParam = null) { if (intParam == 0) { action = PatrolFollowAction.GetSSAction(); } else if (intParam == 1) { action = PatrolAction.GetSSAction(); } this.RunAction(objectParam, action, this); }
public void SSActionEvent(SSAction source, int intParam = 0, GameObject objectParam = null) { if (intParam == 0) { TrackAction follow = TrackAction.GetAction(objectParam.gameObject.GetComponent <PatrolInfo>().player); this.RunAction(objectParam, follow, this); } else { PatrolAction move = PatrolAction.GetAction(objectParam.gameObject.GetComponent <PatrolInfo>().start_position); this.RunAction(objectParam, move, this); } }
public void SSActoinEvent(SSAction source, int param = 0, GameObject objParam = null) { if (param == 0) { FollowAction followAction = FollowAction.getSSAction(objParam.gameObject.GetComponent <PatrolData>().player); this.RunAction(objParam, followAction, this); } else { PatrolAction patrolAction = PatrolAction.getSSAction(objParam.gameObject.GetComponent <PatrolData>().start_position); this.RunAction(objParam, patrolAction, this); Singleton <GameEventManager> .Instance.playerEscape(); } }
public void SSActionEvent(SSAction source, int intParam, GameObject objectParam) { if (intParam == 0) { PatrolFollowAction follow = PatrolFollowAction.getSSAction(objectParam); this.RunAction(objectParam, follow, this); } else { PatrolAction move = PatrolAction.getSSAction(objectParam.transform.position); this.RunAction(objectParam, move, this); } }
public void Start() { goToPoint = transform.position; mRigidbody = GetComponent <Rigidbody>(); if (debugDst != null) { goToPosition(debugDst); } patrolAction = new PatrolAction(this, this); crowlAction = new CrowlAction(this, this); walkAction = new WalkAction(this, this); AddAction(patrolAction); // AddAction(crowlAction); base.Start(); }
private void BuildPatrolState(State inTargetState, NpcController inNpcController, NpcDataHolder inNpcData, State inIdleState, State inAttackState, State inDieState) { // -------------------------------------------------------------------------------- // 1- Setup Actions // -------------------------------------------------------------------------------- var patrolAction = new PatrolAction(inNpcController, inNpcData.patrolRange, inNpcData.patrolDuration); // -------------------------------------------------------------------------------- // 2- Setup decisions // -------------------------------------------------------------------------------- var attackDecision = new AttackDecision(inNpcController); var idleDecision = new IdleDecision(patrolAction); var dieDecision = new DieDecision(inNpcController.gameView as IDestructible); // -------------------------------------------------------------------------------- // 3- Setup Transitions // -------------------------------------------------------------------------------- var transitionToAttack = new Transition() { hasFalseState = false, decision = attackDecision, trueState = inAttackState }; var transitionToIdle = new Transition() { hasFalseState = false, decision = idleDecision, trueState = inIdleState }; var transitionToDie = new Transition() { hasFalseState = false, decision = dieDecision, trueState = inDieState }; // -------------------------------------------------------------------------------- // 4- Define State // -------------------------------------------------------------------------------- inTargetState.Define( Color.cyan, new Action[] { patrolAction }, new [] { transitionToDie, transitionToAttack, transitionToIdle } ); }
private void Awake() { Animator = GetComponent <Animator>(); unit = GetComponent <Unit>(); //Create the Finite State Machine fsm = new FSM("AI Controller FSM"); //Create the states and actions idleState = fsm.AddState(CharacterStates.STATE_IDLE); followState = fsm.AddState(CharacterStates.STATE_FOLLOW); attackState = fsm.AddState(CharacterStates.STATE_ATTACK); patrolState = fsm.AddState(CharacterStates.STATE_PATROL); idleAction = new IdleAction(idleState, this); followMoveAction = new MoveAction(followState, this); patrolMoveAction = new MoveAction(patrolState, this); patrolAction = new PatrolAction(patrolState, this); attackAction = new AttackAction(attackState, this); //Add actions to the states idleState.AddAction(idleAction); followState.AddAction(followMoveAction); attackState.AddAction(attackAction); patrolState.AddAction(patrolAction); patrolState.AddAction(patrolMoveAction); //Add transitions to the states idleState.AddTransition("ToFollow", followState); followState.AddTransition("ToIdle", idleState); followState.AddTransition("ToAttack", attackState); attackState.AddTransition("ToIdle", idleState); attackState.AddTransition("ToFollow", followState); patrolState.AddTransition("ToIdle", idleState); patrolState.AddTransition("ToFollow", followState); //ScanForObjects(gameObject.transform.position, m_DetectionRadius); }
private PatrolAction go_patrol; //巡逻兵巡逻 public void GoPatrol(GameObject patrol) { go_patrol = PatrolAction.GetAction(patrol.transform.position); this.RunAction(patrol, go_patrol, this); }
public void GoPatrol(GameObject patrol) { patrolAction = PatrolAction.getSSAction(patrol.transform.position); this.RunAction(patrol, patrolAction, this); }
public void Patrol(GameObject patrol) { patrolAction = PatrolAction.getAction(new Vector3(Random.Range(-1, 1f), 0, Random.Range(-1, 1f)), speed); this.RunAction(patrol, patrolAction, this); }
public void beginPatrol(GameObject patrolman) { patrol = PatrolAction.GetSSAction(player); RunAction(patrolman, patrol, this); }
public IdleDecision(PatrolAction inPatrolAction) { _targetAction = inPatrolAction; }
void setAction() //调用PatrolAction中的函数实现patrol的移动 { patrolAc = PatrolAction.getAction(); patrolAc.setPatrolInfo(this); Singleton <CCActionManager> .Instance.RunAction(patrol, patrolAc, null); }
void setAction() { patrolAc = PatrolAction.getAction(); patrolAc.setChaserInfo(this); Singleton <CCActionManager> .Instance.RunAction(chaser, patrolAc, null); }
// 巡逻 public void Patrol(GameObject ptrl) { this.patrol = PatrolAction.GetAction(ptrl.transform.position); Debug.Log("PatrolActionManager.Patrol()"); this.RunAction(ptrl, patrol, this); }
// 巡逻 public void Patrol(GameObject ptrl) { this.patrol = PatrolAction.GetAction(ptrl.transform.position); this.RunAction(ptrl, patrol, this); }
public static PatrolAction GetSSAction() { PatrolAction action = ScriptableObject.CreateInstance <PatrolAction>(); return(action); }