public override void iterateTask() { Vector3 cupPlacementVector = TableEnvironment.getCupPosition(moduleRandom); foreach (Unit unit in units) { TableEnvironment te = unit.environment as TableEnvironment; te.placeCup(cupPlacementVector); te.initialPositions[11] = te.members[11].transform.position; } }
public override Unit buildUnit(int unitId, string unitName) { Unit unit = base.buildUnit(unitId, unitName); TableEnvironment environment = createObject(typeof(TableEnvironment), unit.gameObject) as TableEnvironment; Telebot robot = createObject(typeof(Telebot), unit.gameObject) as Telebot; Controller controller = createObject(typeof(Controller), unit.gameObject) as Controller; PlaceCupInCrate task = createObject(typeof(PlaceCupInCrate), unit.gameObject) as PlaceCupInCrate; unit.constructUnit(environment, controller, robot, task); environment.initializeEnvironment(); robot.initializeRobot(); controller.initializeController(unitId, ag.seed); // Task Essentials List <GameObject> importantParts = new List <GameObject>(); importantParts.Add(robot.parts[0]); List <GameObject> importantMembers = new List <GameObject>(); importantMembers.Add(environment.members[6]); // Crate Bottom importantMembers.Add(environment.members[11]); // Cup importantMembers.Add(environment.members[7]); // The crate sides importantMembers.Add(environment.members[8]); // The crate sides importantMembers.Add(environment.members[9]); // The crate sides importantMembers.Add(environment.members[10]); // The crate sides task.initializeTask(importantParts, importantMembers, ""); controller.isActive = true; return(unit); }