public WorldModelFEAR_DST(Character character, Pair <int[], Pair <int, int>[]> worldObjects, int[] possessedItems, HandleableEquipment handEquipped, float cycle, int[] cycleInfo, List <ActionDST> availableActions, WorldModelDST parent) : base(character, cycle, cycleInfo, availableActions, parent) { this.WorldObjects = worldObjects.Item1; this.WorldObjectsPos = worldObjects.Item2; this.PossessedItems = possessedItems; this.HandEquipped = handEquipped; }
public WorldModelFEAR_DST(PreWorldState preWorldState) : base(preWorldState) { //Getting Inventory from PreWorldState int size1 = preWorldState.Inventory.Count; this.PossessedItems = new int[POSSESSED_ITEMS_NUM]; for (int i = 0; i < size1; i++) { if (PossessedItemsIndex.ContainsKey(preWorldState.Inventory[i].Item1)) { this.PossessedItems[PossessedItemsIndex[preWorldState.Inventory[i].Item1]] = preWorldState.Inventory[i].Item3; } } //Getting Equipped items from PreWorldState this.HandEquipped = preWorldState.Equipped.Count > 0 ? (HandleableEquipment)WorldObjectsIndex[preWorldState.Equipped[0].Item1] : HandleableEquipment.none; //Getting WorldObjects from PreWorldState's Entities int size3 = preWorldState.Entities.Count; this.WorldObjects = new int[WORLD_ITEMS_NUM]; this.WorldObjectsPos = new Pair <int, int> [WORLD_ITEMS_NUM]; for (int i = 0; i < size3; i++) { if (WorldObjectsIndex.ContainsKey(preWorldState.Entities[i].Prefab)) { this.WorldObjects[WorldObjectsIndex[preWorldState.Entities[i].Prefab]] = preWorldState.Entities[i].Quantity; this.WorldObjectsPos[WorldObjectsIndex[preWorldState.Entities[i].Prefab]] = preWorldState.Entities[i].Position; } } //Getting Available Actions getActions(); PrintWorldObjects(CheckWorldObjects()); PrintInventory(); }
public override void RemoveFromEquipped(string item) { this.HandEquipped = HandleableEquipment.none; }
public override void AddToEquipped(string item) { this.HandEquipped = (HandleableEquipment)PossessedItemsIndex[item]; }