随机道具池, 开发中
1 parent 0fa96f7 commit 1668111ee0037ee659273904ba793bf5b229dbde
@小李xl 小李xl authored on 22 Jan 2024
Showing 9 changed files
View
2
■■■
DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start/Preinstall.json
[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":true,"WaveList":[[{"Position":{"X":39,"Y":8},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":-16,"Y":-18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":52,"Y":65},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"$RandomProp","Weight":100,"Attr":null,"Altitude":16,"VerticalSpeed":0}]}],[{"Position":{"X":59,"Y":-5},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"$RandomGun","Weight":100,"Attr":null,"Altitude":16,"VerticalSpeed":0}]},{"Position":{"X":11,"Y":-46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"$RandomProp","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]}]]}]
[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":true,"WaveList":[[{"Position":{"X":39,"Y":8},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":-16,"Y":-18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":52,"Y":65},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"$RandomProp","Weight":100,"Attr":null,"Altitude":16,"VerticalSpeed":0}]}],[{"Position":{"X":59,"Y":-5},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"$RandomGun","Weight":100,"Attr":null,"Altitude":16,"VerticalSpeed":0}]},{"Position":{"X":11,"Y":-46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"$RandomProp","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":72,"Y":-39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"$RandomEnemy","Weight":100,"Attr":null,"Altitude":0,"VerticalSpeed":0}]}]]}]
View
12
DungeonShooting_Godot/src/framework/map/DungeonTileMap.cs
 
/// <summary>
/// 根据 startRoom 和 config 数据自动填充 tileMap 参数中的地图数据, 该函数为协程函数
/// </summary>
public IEnumerator AutoFillRoomTile(AutoTileConfig config, RoomInfo startRoomInfo, SeedRandom random)
public IEnumerator AutoFillRoomTile(AutoTileConfig config, RoomInfo startRoomInfo, World world)
{
_connectNavigationItemList.Clear();
yield return _AutoFillRoomTile(config, startRoomInfo, random);
yield return _AutoFillRoomTile(config, startRoomInfo, world);
}
private IEnumerator _AutoFillRoomTile(AutoTileConfig config, RoomInfo roomInfo, SeedRandom random)
private IEnumerator _AutoFillRoomTile(AutoTileConfig config, RoomInfo roomInfo, World world)
{
foreach (var info in roomInfo.Next)
{
yield return _AutoFillRoomTile(config, info, random);
yield return _AutoFillRoomTile(config, info, world);
}
//铺房间
if (roomInfo.RoomSplit == null) //自动填充的矩形房间, 现已经弃用
}
else
{
var weights = roomInfo.RoomSplit.Preinstall.Select(info => info.Weight).ToArray();
var index = random.RandomWeight(weights);
var index = world.Random.RandomWeight(weights);
preinstallInfo = roomInfo.RoomSplit.Preinstall[index];
}
}
var roomPreinstall = new RoomPreinstall(roomInfo, preinstallInfo);
roomInfo.RoomPreinstall = roomPreinstall;
//执行预处理操作
roomPreinstall.Pretreatment(random);
roomPreinstall.Pretreatment(world);
}
 
// yield break;
//铺过道
View
DungeonShooting_Godot/src/framework/map/RandomPool.cs 0 → 100644
View
DungeonShooting_Godot/src/framework/map/preinstall/ActivityMark.cs
View
DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs
View
DungeonShooting_Godot/src/game/GameApplication.cs
View
DungeonShooting_Godot/src/game/room/DungeonManager.cs
View
DungeonShooting_Godot/src/game/room/World.cs
View
DungeonShooting_Godot/src/game/ui/mapEditorSelectObject/MapEditorSelectObjectPanel.cs