internal BridgeTowers( BridgeTemplate template, Player owner, GameContext gameContext, Matrix4x4 worldMatrix, float startX, float startY, float endX, float endY, Quaternion rotation) { void CreateTower(ObjectDefinition objectDefinition, float x, float y) { var tower = gameContext.GameObjects.Add(objectDefinition, owner); var translation = Vector3.Transform( new Vector3(x, y, 0), worldMatrix); tower.UpdateTransform(translation, rotation); } CreateTower(template.TowerObjectNameFromLeft.Value, startX, startY); CreateTower(template.TowerObjectNameFromRight.Value, endX, startY); CreateTower(template.TowerObjectNameToLeft.Value, startX, endY); CreateTower(template.TowerObjectNameToRight.Value, endX, endY); }
public BridgeTowers( BridgeTemplate template, GameObjectCollection gameObjects, Matrix4x4 worldMatrix, float startX, float startY, float endX, float endY, Quaternion rotation) { void CreateTower(ObjectDefinition objectDefinition, float x, float y) { var tower = gameObjects.Add(objectDefinition); tower.Transform.Translation = Vector3.Transform( new Vector3(x, y, 0), worldMatrix); tower.Transform.Rotation = rotation; } CreateTower(template.TowerObjectNameFromLeft.Value, startX, startY); CreateTower(template.TowerObjectNameFromRight.Value, endX, startY); CreateTower(template.TowerObjectNameToLeft.Value, startX, endY); CreateTower(template.TowerObjectNameToRight.Value, endX, endY); }
private Bridge( ContentManager contentManager, HeightMap heightMap, BridgeTemplate template, in Vector3 startPosition,