public void DeployStateReady(Tile tile) { PlayercontrolledCharacter CharacterToUse = charactersForStartOfDay[0]; CharacterToUse.characterCoaster = monoPool.GetCharacterCoasterInstance(); CharacterToUse._monoPool = monoPool; CharacterToUse.TilePawnIsOn = tile; CharacterToUse.NeedsRemoval = false; AddPlayerControlledCharacterToList(CharacterToUse); CharacterToUse.characterCoaster.SetArtForFacing(EnumHolder.Facing.Down); charactersForStartOfDay.Remove(CharacterToUse); if (charactersForStartOfDay.Count == 0) { SortList(); DeactivateAllTiles(); StartNextCharactersTurn(); } else { characterDisplay.ChangeCharacterArt(charactersForStartOfDay[0].characterArt); } }
public void AddPlayerControlledCharacterToList(PlayercontrolledCharacter character) { character.onStartTurn = OnPlayerControlledStart; character.PutCharacterBack = _characterRoster.AddCharacterBackToList; character.onTurnEnd = EndTurn; character.characterCoaster.OnStartMoving = SetCameraToFollowCurentCharacter; character.onTrade = OpenTradeMenu; AddTimeInfluencedToList(character); }
public override void GetTargeter(Character character) { if (character is PlayercontrolledCharacter) { PlayercontrolledCharacter temp = (PlayercontrolledCharacter)character; SetName(); SpaceContextualActions.Clear(); SpaceContextualActions.Add(new TradeItemCommand(temp, this)); //PickUpItem(this, character, 0)); } }
public override void GetTargeter(Character character) { SpaceContextualActions.Clear(); if (character is PlayercontrolledCharacter) { PlayercontrolledCharacter giver = (PlayercontrolledCharacter)character; if (character.cariedObjects.Count > 0) { //SpaceContextualActions.Add(new TradeItemCommand(giver, this)); // Make a serve food } } }
public override List <Command> GetAllActionsFromTile() { List <Command> ListToReturn = new List <Command>(); foreach (Tile neighbor in TilePawnIsOn.neighbors) { if (neighbor.IsTargetableOnTile) { neighbor.TargetableOnTile.GetTargeter(this); for (int i = 0; i < neighbor.TargetableOnTile.GetCommands().Count; i++) { if (!ListToReturn.Exists(x => x.GetType() == neighbor.TargetableOnTile.GetCommands()[i].GetType())) { if (neighbor.TargetableOnTile.GetCommands()[i].typeOfCommand == null) { TransferMenuCommand temp = new TransferMenuCommand(LoadCommands); neighbor.TargetableOnTile.GetCommands()[i].typeOfCommand = temp; } ListToReturn.Add(neighbor.TargetableOnTile.GetCommands()[i]); } } if (neighbor.TargetableOnTile is PlayercontrolledCharacter) { PlayercontrolledCharacter temp = (PlayercontrolledCharacter)neighbor.TargetableOnTile; if (temp.cariedObjects.Count > 0 || cariedObjects.Count > 0) { ListToReturn.Add(new TradeItemCommand(this, temp)); } } } } //if (isTargetableOnTile) //{ // ListToReturn.Add(new GiveItem(this, 0)); //} ListToReturn.AddRange(CariedObjectCommands); return(ListToReturn); }
public override void GetTargeter(Character character) { SpaceContextualActions.Clear(); if (character is PlayercontrolledCharacter) { PlayercontrolledCharacter temp = (PlayercontrolledCharacter)character; List <iCaryable> heldFood = new List <iCaryable>(); for (int i = 0; i < character.cariedObjects.Count; i++) { // if (character.cariedObjects[i] is Supply) // { // Supply supply = (Supply)character.cariedObjects[i]; //heldFood.Add(supply.FoodThisSupplyMakes); // } if (character.cariedObjects[i] is Food) { Food food = (Food)character.cariedObjects[i]; heldFood.Add(food); } } heldFood.AddRange(cariedObjects); for (int j = 0; j < recipiesThatCanBeCreated.Count; j++) { if (recipiesThatCanBeCreated[j].CanCraftFood(heldFood)) { SpaceContextualActions.Add(new CraftFood(this, character, recipiesThatCanBeCreated[j])); } } if (cariedObjects.Count > 0) { SpaceContextualActions.Add(new TradeItemCommand(temp, this)); } } }
public ShowEmployeeStats(StaffSetup staffSetup, PlayercontrolledCharacter pcc) { _staffSetup = staffSetup; _pcc = pcc; CommandName = _pcc.Name; }
public void AddCharacterBackToList(PlayercontrolledCharacter characterToAdd) { employedCharacters.Add(characterToAdd); }