public World() { setupIslandManager(); pathingProfile = new WorldPathingProfile(islandManager); actorManager = new ActorManager(); actorProfile = new ActorStateProfile(actorManager); gameDirector = new GameDirector(); }
public override Job getJobWhenClicked(Character nWorker, IslandPathingProfile profile, ActorStateProfile actorState) { IslandGame.GameWorld.CharactersAndAI.CompleteTaskJob getInBoat = new IslandGame.GameWorld.CharactersAndAI.CompleteTaskJob(nWorker, new CharacterTask.GetInBoat(this)); Path path = new PathHandler(). getPathToSingleBlock(profile, new BlockLoc(nWorker.getFootLocation()), profile, new BlockLoc(getFootLocation()), 2); TravelAlongPath travel = new TravelAlongPath(path, getInBoat); return(travel); }
public virtual Job getJobWhenClicked(Character nWorker, IslandPathingProfile profile, ActorStateProfile nActorProfile) { return(new UnemployedJob()); }
public override Job getJobWhenClicked(Character nWorker, IslandPathingProfile pathingProfile, ActorStateProfile actorState) { if (areHostile(nWorker.getFaction(), getFaction())) { return(new AttackActorJob(this, pathingProfile, actorState, nWorker)); } else { return(new UnemployedJob()); } }
public void addCharacterAt(Vector3 location, Actor.Faction faction, IslandPathingProfile islandPathingProfile, ActorStateProfile actorStateProfile) { Character character = new Character(new AxisAlignedBoundingBox(location + new Vector3(), .6f, .6f, 1.8f), faction); if (faction == Actor.Faction.enemy) { character.setJobAndCheckUseability(new AggressiveStanceJob(character)); } actors.Add(character); }
public AttackActorJob(Actor nTarget, IslandPathingProfile nPathingProfile, ActorStateProfile nActorStateProfile, Character nCharacter) { target = nTarget; character = nCharacter; setJobType(JobType.combat); }
public WanderAroundJob(IslandPathingProfile nPathingProfile, ActorStateProfile nActorStateProfile, Character nCharacter) { pathingProfile = nPathingProfile; actorProfile = nActorStateProfile; character = nCharacter; }