public Item(int number) { NR = number; NR_IN_DS = number + 1; NAME = "item" + NR_IN_DS; EFFECT_NR = number; isActive = false; onscreen = false; x = -5; y = -5; switch (number) { case 0: // Turn duration = 200; break; case 1: // Move up border duration = 90; break; case 2: // Siren duration = 200; break; case 3: // Eraser duration = 600; break; case 4: // Flash duration = 200; break; } collectSound = new Sound("item" + NR + "_collect"); // Get Class ID DsAPI.DsGetClassID("solidModelClass", out solidModelClassId); // Get Attribute Index DsAPI.DsGetClassAttrIndex(solidModelClassId, "position", out positionAttrIndex); // Get Class Attribut ID DsAPI.DsGetClassAttrEnumID(solidModelClassId, positionAttrIndex, out solidModelClassPositionId); // Get Object DsAPI.DsGetObjectID("item" + NR_IN_DS, out objId); positionValueSph.PositionMode = 2; // Set the position mode to spherical if (number == 1) // border item { DsAPI.DsGetObjectID("item" + NR_IN_DS + "_warning", out objIdWarning); DsAPI.DsGetObjectID("item" + NR_IN_DS + "_border", out objIdBorder); } }
// This method contains things that are set when a player is created ... meaning all CONSTANTS ... public Player(int number) { NR = number; NR_IN_DS = number + 1; NAME = "snake" + NR_IN_DS; switch (number) { case 0: RED = 14; GREEN = 74; BLUE = 100; break; case 1: RED = 100; GREEN = 89; BLUE = 0; break; case 2: RED = 95; GREEN = 24; BLUE = 25; break; case 3: RED = 0; GREEN = 95; BLUE = 2; break; case 4: RED = 50; GREEN = 0; BLUE = 100; break; case 5: RED = 100; GREEN = 55; BLUE = 7; break; case 6: RED = 100; GREEN = 65; BLUE = 75; break; case 7: RED = 100; GREEN = 100; BLUE = 79; break; } // Get Class ID DsAPI.DsGetClassID("emptyClass", out emptyClassId); // Get Attribute Index DsAPI.DsGetClassAttrIndex(emptyClassId, "position", out positionAttrIndex); // Get Object DsAPI.DsGetObjectID("snake" + NR_IN_DS, out objId); positionValue.PositionMode = 2; // Set the position mode to spherical }
// Initialization ------------------------------ public void Init() { // Moving to the project folder while (currentFolder != "SNICE") { path = Path.GetDirectoryName(path); currentFolder = Path.GetFileName(path); } // Add Backslash once we're in the right path path += "\\"; Script = new DsScripts(); Script.PlaySkript(Properties.Resources.SystemReset); DsAPI.DsSendStringCommand("eye int 0"); Script.PlaySkript(Properties.Resources.InitBG); Script.PlaySkript(Properties.Resources.InitCounter); Script.PlaySkript(Properties.Resources.InitItemEffect); Script.PlaySkript(Properties.Resources.InitPoints); Script.PlaySkript(Properties.Resources.InitSelectPlayer); Script.PlaySkript(Properties.Resources.InitWinners); Script.PlaySkript(Properties.Resources.InitLabel); Script.PlaySkript(Properties.Resources.InitSound); Script.PlaySkript(Properties.Resources.InitSnakes); Script.PlaySkript(Properties.Resources.InitTrails); Script.PlaySkript(Properties.Resources.InitItem); Script.PlaySkript(Properties.Resources.InitMenu); Thread.Sleep(2200); // Sound Refs ..... menuLoop = new Sound("menuLoop"); gameLoop = new Sound("gameLoop"); deathSound = new Sound("death"); menuSelectSound = new Sound("menuSelectSound"); menuMoveSound = new Sound("menuMoveSound"); winSound = new Sound("winSound"); countdown = new Sound("countdown"); DsAPI.DsSendStringCommand("eye int 100 duration 2"); menuLoop.loop(); menuLoop.setVolume(70, 2); // Initialize Controllers numberOfControllers = 0; foreach (var deviceInstance in directInput.GetDevices(DeviceType.Gamepad, DeviceEnumerationFlags.AllDevices)) { controllerGuids[numberOfControllers] = deviceInstance.InstanceGuid; // Find a guid controllers[numberOfControllers] = new Joystick(directInput, controllerGuids[numberOfControllers]); // Instantiate Joystick controllers[numberOfControllers].Acquire(); // acquire joystick numberOfControllers++; } InitSections(); for (int i = 0; i < MenuElements.Length; i++) { MenuElements[i] = new MenuElement(i); } for (int i = 0; i < items.Length; i++) { items[i] = new Item(i); } double startingElevation = 2.5; double startingAzimuth = -174.38; for (int i = 0; i < itemYValues.Length; i++) { itemYValues[i] = startingElevation; startingElevation += 5; } for (int i = 0; i < itemXValues.Length; i++) { itemXValues[i] = startingAzimuth; startingAzimuth += 11.25; } // Set Position mode to sph positionValue.PositionMode = 2; // Get Ds Ids and stuff // SolidModelClass DsAPI.DsGetClassID("solidModelClass", out solidModelClassId); // Position DsAPI.DsGetClassAttrIndex(solidModelClassId, "position", out smcPosAttrIndex); // Scale DsAPI.DsGetClassAttrIndex(solidModelClassId, "scale", out smcScaleAttrIndex); // Intenstiy DsAPI.DsGetClassAttrIndex(solidModelClassId, "intensity", out smcIntAttrIndex); Thread.Sleep(1200); // Get Object IDs from DS DsAPI.DsGetObjectID("winners", out winnersObjId); DsAPI.DsGetObjectID("pointsTotal", out pointsTotalObjId); for (int i = 1; i <= numberOfControllers; i++) { DsAPI.DsGetObjectID("player" + i, out playerObjId[i - 1]); DsAPI.DsGetObjectID("snake" + i, out snakeObjId[i - 1]); DsAPI.DsGetObjectID("points" + i, out pointsObjId[i - 1]); DsAPI.DsGetObjectID("startlabel" + i, out startlabelObjId[i - 1]); DsAPI.DsGetObjectID("counter" + i, out counterObjId[i - 1]); DsAPI.DsGetObjectID("trail" + i, out trailObjId[i - 1]); } // Text2Class DsAPI.DsGetClassID("text2Class", out text2ClassId); // Attr DsAPI.DsGetClassAttrIndex(text2ClassId, "text", out t2cTextAttrIndex); DsAPI.DsGetClassAttrIndex(text2ClassId, "intensity", out t2cIntAttrIndex); DsAPI.DsGetClassAttrIndex(text2ClassId, "position", out t2cPosAttrIndex); DsAPI.DsGetClassAttrIndex(text2ClassId, "color", out t2cColAttrIndex); // Trail Class DsAPI.DsGetClassID("trailClass", out trailClassId); DsAPI.DsGetClassAttrIndex(trailClassId, "color", out trailColAttrIndex); }