public void SetupDungeon() { CAMap(0.465f, 2, 4, 5); Print(map_draft); List <MapTile> region = FindLargestRegion(map_draft); playerEntity = Instantiate(actorEntityPrefab); playerEntity.Setup(); RenderComponent rc = playerEntity.GetComponent <RenderComponent>(); rc.SetSprite(spriteManager.GetSpriteByName("knight")); rc.GetComponent <RenderComponent>().SetColor(new Color(0.964f, 0.839f, 0.741f, 1f)); playerEntity.AddComponent(playerEntity.gameObject.AddComponent <MeleeCombatComponent>()); playerEntity.AddComponent(playerEntity.gameObject.AddComponent <PlayerComponent>()); NameComponent nc = playerEntity.GetComponent <NameComponent>(); nc.SetData("Player", "c3a38a"); playerEntity.AddComponent(nc); playerEntity.AddComponent("OrganicCreature"); CameraTrackObject.instance.trackObject = playerEntity.gameObject; EquipSlotsComponent esc = playerEntity.GetComponent <EquipSlotsComponent>(); esc.AddSlot("LeftHand"); esc.AddSlot("Chest"); entityList.Add(playerEntity); MapTile start = region[Random.Range(0, region.Count)]; map.PutEntityAt(playerEntity, start.x, start.y); playerEntity.PropagateEvent(new FEvent(FEventCodes.ENTITY_SPAWN, "x", start.x, "y", start.y)); FEntity sword = GambitPrototypes.instance.SpawnPrototype("sword", -1, -1); sword.PropagateEvent(new FEvent(FEventCodes.PICKED_UP, "carrier", playerEntity)); playerEntity.PropagateEvent(new FEvent(FEventCodes.RECEIVE_ITEM, "item", sword)); playerEntity.PropagateEvent(new FEvent(FEventCodes.EQUIP_ITEM, "item", sword, "slotName", "LeftHand")); FEntity armor = GambitPrototypes.instance.SpawnPrototype("armor", -1, -1); //Player can't die. armor.AddComponent("InvulnerableComponent"); armor.PropagateEvent(new FEvent(FEventCodes.PICKED_UP, "carrier", playerEntity)); playerEntity.PropagateEvent(new FEvent(FEventCodes.RECEIVE_ITEM, "item", armor)); playerEntity.PropagateEvent(new FEvent(FEventCodes.EQUIP_ITEM, "item", armor, "slotName", "Chest")); nonPlayerAgents = new List <FEntity>(); for (int i = 0; i < 10; i++) { start = region[Random.Range(0, region.Count)]; SpawnPrototypeAt("skeleton_fighter", start.x, start.y); } for (int i = 0; i < 5; i++) { start = region[Random.Range(0, region.Count)]; SpawnPrototypeAt("healingpotion", start.x, start.y); } for (int i = 0; i < 20; i++) { start = region[Random.Range(0, region.Count)]; SpawnPrototypeAt("grass", start.x, start.y); } }