public JunkShip(Game1 game, Vector3 pos) { this.game = game; this.pos = pos; minigame = game.minigame; instance = new MgInstance(game, minigame); ship = game.ship; dir.X = Utilities.nextFloat() * 2 - 1; dir.Z = Utilities.nextFloat() * 2 - 1; dir.Normalize(); successAtActivate = -1; interactRange = new CircleCollider(this.pos + dir*4, 2); cols = new List<OOBB>(); cols.Add(new OOBB(this.pos + dir * 1.5f, dir, 1, 4, dir)); cols.Add(new OOBB(this.pos + dir * -1.5f, dir, 1, 4, -dir)); cols.Add(new OOBB(this.pos + Vector3.Cross(dir, Vector3.Up) * -1.5f, dir, 1, 4, Vector3.Cross(-dir, Vector3.Up))); cols.Add(new OOBB(this.pos + Vector3.Cross(-dir, Vector3.Up) * -1.5f, dir, 1, 4, Vector3.Cross(dir, Vector3.Up))); col = new OOBB(this.pos+dir*1.5f, dir, 1, 4, dir); model = new JunkShipModel(this, game); game.modelManager.addObject(model); nodePos = new Vector2((int)((this.pos.X / 30) + 0.5f), (int)((this.pos.Z / 30) + 0.5f)); destroying = false; }
public Minigame(Game1 game) : base(game) { this.game = game; manager = new MgManager(this, game); screen = new MgScreen(this, manager, game); manager.screen = screen; hudMg = game.hud.hudMg; active = false; successCount = 0; maxBeats = 12; maxDubs = 4; holdTime = 0; displayer = new MgDisplayer(this, manager, game); game.modelManager.addEffect(displayer); models = new MgModelManager(game, this); defaultInstance = new MgInstance(game, this); defaultInstance.generateNew(); manager.loadInstance(defaultInstance); manager.reset(); game.hud.expSelect.setMinigame(this); triggeredHelp = false; }
public JsConsole(Game1 game, Vector3 pos, Vector3 dir) : base() { this.game = game; this.pos = pos; minigame = game.minigame; instance = new MgInstance(game, minigame); ship = game.ship; this.dir = dir; successAtActivate = -1; interactRange = new CircleCollider(this.pos + dir * 16, 3); interestRange = new CircleCollider(this.pos + dir * 16, 20); model = new JsConsoleModel(this, game); game.modelManager.addObject(model); nodePos = new Vector2((int)((this.pos.X / 30) + 0.5f), (int)((this.pos.Z / 30) + 0.5f)); destroying = false; cardCount = 0; consolePos = pos + dir * 15; consolePos.Y = 4.5f; cols = new List<OOBB>(); cols.Add(new OOBB(consolePos + dir*1, dir, 5, 1, dir)); cols.Add(new OOBB(consolePos + dir*-1, dir, 5, 1, -dir)); cols.Add(new OOBB(consolePos + Vector3.Cross(dir, Vector3.Up) * -2f, dir, 2, 1, Vector3.Cross(-dir, Vector3.Up))); cols.Add(new OOBB(consolePos + Vector3.Cross(-dir, Vector3.Up) * -2f, dir, 2, 1, Vector3.Cross(dir, Vector3.Up))); cols.Add(new OOBB(pos + dir * 13, dir, 30, 1, dir)); if(dir.Equals(Vector3.Left) || dir.Equals(Vector3.Right)) { forcefield = new ForcefieldDrill(game, pos + dir * 13, 1); } else { forcefield = new ForcefieldDrill(game, pos + dir * 13, 0); } game.modelManager.addAdditive(forcefield); }
public void loadInstance(MgInstance instance) { this.instance = instance; }