// Use this for initialization void Start() { states = new List <State>(); //Patroll state List <Transition> patrolltrans = new List <Transition>(); patrolltrans.Add(new SeeMonsterTrans(gameObject)); PatrollState patroll = new PatrollState(gameObject, patrolltrans); states.Add(patroll); //Scream state List <Transition> screamtrans = new List <Transition>(); screamtrans.Add(new SeeMonsterTrans(gameObject)); screamtrans.Add(new SeeAngerTrans(gameObject)); screamtrans.Add(new TimePassTrans(gameObject, 25f, "sleep")); ScreamState scream = new ScreamState(gameObject, screamtrans, 10f); states.Add(scream); //Sleep state List <Transition> sleeptrans = new List <Transition>(); sleeptrans.Add(new TimePassTrans(gameObject, 40f, "patroll")); SleepState sleep = new SleepState(gameObject, sleeptrans); states.Add(sleep); initialState = patroll; currentState = patroll; triggeredTransition = null; gameObject.GetComponent <GraphPathFollowing>().astar_target = null; //Set to null just in case initialSpeed = gameObject.GetComponent <Agent>().maxSpeed; }
// Use this for initialization void Start() { states = new List <State>(); //Patroll state List <Transition> patrolltrans = new List <Transition>(); patrolltrans.Add(new SeeMonsterTrans(gameObject)); patrolltrans.Add(new PushedTrans(gameObject)); //is being pushed patrolltrans.Add(new TimePassTrans(gameObject, 30f, "patrollonce")); PatrollState patroll = new PatrollState(gameObject, patrolltrans); states.Add(patroll); //Patroll once state List <Transition> patrolloncetrans = new List <Transition>(); patrolloncetrans.Add(new SeeMonsterTrans(gameObject)); patrolloncetrans.Add(new PushedTrans(gameObject)); //is being pushed patrolloncetrans.Add(new TimePassTrans(gameObject, 15f, "patroll")); PatrollOnceState patrollonce = new PatrollOnceState(gameObject, patrolloncetrans); states.Add(patrollonce); //Flee state List <Transition> fleetrans = new List <Transition>(); fleetrans.Add(new SeeMonsterTrans(gameObject)); fleetrans.Add(new PushedTrans(gameObject)); //is being pushed fleetrans.Add(new TimePassTrans(gameObject, 15f, "patroll")); FleeState flee = new FleeState(gameObject, fleetrans, 10f); states.Add(flee); //Waypoint decision state List <Transition> waypointtrans = new List <Transition>(); waypointtrans.Add(new PushedTrans(gameObject)); waypointtrans.Add(new StopAndTimePassTrans(gameObject, 7f, "flee")); WaypointState waypoint = new WaypointState(gameObject, waypointtrans, 12f); states.Add(waypoint); //Dizzy state List <Transition> dizzytrans = new List <Transition>(); dizzytrans.Add(new StopAndTimePassTrans(gameObject, 1f, "waypoint")); DizzyState dizzy = new DizzyState(gameObject, dizzytrans, 3f); states.Add(dizzy); initialState = patroll; currentState = patroll; triggeredTransition = null; gameObject.GetComponent <GraphPathFollowing>().astar_target = null; //Set to null just in case initialSpeed = gameObject.GetComponent <Agent>().maxSpeed; }
// Use this for initialization void Start() { states = new List <State>(); //Transitions for patroll state List <Transition> patrolltrans = new List <Transition>(); patrolltrans.Add(new GetSignalTrans(gameObject)); patrolltrans.Add(new SeeMonsterTrans(gameObject)); PatrollState patroll = new PatrollState(gameObject, patrolltrans); states.Add(patroll); //Transitions for pursue state List <Transition> pursuetrans = new List <Transition>(); pursuetrans.Add(new GetSignalTrans(gameObject)); pursuetrans.Add(new StopSeeMonsterTrans(gameObject)); PursueState pursue = new PursueState(gameObject, pursuetrans, 12f); states.Add(pursue); //Transitions for look for state List <Transition> looktrans = new List <Transition>(); looktrans.Add(new GetSignalTrans(gameObject)); looktrans.Add(new SeeMonsterTrans(gameObject)); looktrans.Add(new TimePassTrans(gameObject, 7f, "patroll")); LookForState look = new LookForState(gameObject, looktrans, 10f); states.Add(look); //Transitions for eat state List <Transition> eattrans = new List <Transition>(); eattrans.Add(new FoodDisappearsTrans(gameObject)); GoToSignalState eat = new GoToSignalState(gameObject, eattrans, 9f); states.Add(eat); initialState = patroll; currentState = patroll; triggeredTransition = null; gameObject.GetComponent <GraphPathFollowing>().astar_target = null; //Set to null just in case initialSpeed = gameObject.GetComponent <Agent>().maxSpeed; }
// Use this for initialization void Start() { states = new List <State>(); //Patroll state List <Transition> patrolltrans = new List <Transition>(); patrolltrans.Add(new SeeMonsterTrans(gameObject)); patrolltrans.Add(new GetSignalTrans(gameObject)); //patrolltrans.Add(new HearNoiseTrans(gameObject)); PatrollState patroll = new PatrollState(gameObject, patrolltrans); states.Add(patroll); //Search noise state (not active) //List<Transition> searchnoisetrans = new List<Transition>(); //searchnoisetrans.Add(new SeeMonsterTrans(gameObject)); //searchnoisetrans.Add(new GetSignalTrans(gameObject)); //searchnoisetrans.Add(new StopAndTimePassTrans(gameObject,3f,"patroll")); //SearchNoiseState search = new SearchNoiseState(gameObject, searchnoisetrans,9f); //states.Add(search); //Search Disgust (go to signal state) List <Transition> searchdisgusttrans = new List <Transition>(); searchdisgusttrans.Add(new SeeMonsterTrans(gameObject)); searchdisgusttrans.Add(new StopAndTimePassTrans(gameObject, 1f, "searchlocation")); GoToSignalState gotosignal = new GoToSignalState(gameObject, searchdisgusttrans, 10f); states.Add(gotosignal); //Search location state List <Transition> searchlocationtrans = new List <Transition>(); searchlocationtrans.Add(new SeeMonsterTrans(gameObject)); searchlocationtrans.Add(new GetSignalTrans(gameObject)); searchlocationtrans.Add(new StopAndTimePassTrans(gameObject, 2f, "patroll")); //No hay nadie en el punto SearchLocationState searchLocation = new SearchLocationState(gameObject, searchlocationtrans, 10f); states.Add(searchLocation); //Pursue state List <Transition> pursuetrans = new List <Transition>(); pursuetrans.Add(new StopSeeMonsterTrans(gameObject)); pursuetrans.Add(new ReachTrans(gameObject)); PursueState pursue = new PursueState(gameObject, pursuetrans, 11f); states.Add(pursue); //Look for state List <Transition> looktrans = new List <Transition>(); looktrans.Add(new SeeMonsterTrans(gameObject)); looktrans.Add(new TimePassTrans(gameObject, 7f, "pursuerwaypoint")); LookForState look = new LookForState(gameObject, looktrans, 11f); states.Add(look); //Push Fear state List <Transition> pushtrans = new List <Transition>(); pushtrans.Add(new StopSeeMonsterTrans(gameObject)); //pushtrans.Add(new TimePassTrans(gameObject,3f,"patroll")); PushState push = new PushState(gameObject, pushtrans); states.Add(push); //Nearest pursuer waypoint state List <Transition> waypointtrans = new List <Transition>(); waypointtrans.Add(new SeeMonsterTrans(gameObject)); waypointtrans.Add(new StopAndTimePassTrans(gameObject, 2f, "patroll")); PursuerWaypointState pursuerwaypoint = new PursuerWaypointState(gameObject, waypointtrans, 11f); states.Add(pursuerwaypoint); initialState = patroll; currentState = patroll; //TEST //currentState = push; // triggeredTransition = null; gameObject.GetComponent <GraphPathFollowing>().astar_target = null; //Set to null just in case initialSpeed = gameObject.GetComponent <Agent>().maxSpeed; }