void ProduceStrangeRock(ref List<Powerpack> powerpacks, List<Resource> resources, ref Model[] strangeRockModels) { Vector3 powerpackPosition; PowerPackType powerType = PowerPackType.StrangeRock; //type 5 for strange rock Powerpack powerpack = new Powerpack(powerType); powerpackPosition = findResourcePowerpackPosition(Position, resources, powerpacks); powerpack.Model = strangeRockModels[random.Next(2)]; powerpack.LoadContent(powerpackPosition); powerpacks.Add(powerpack); }
public static void MouseOnWhichPowerPack(Cursor cursor, Camera gameCamera, List<Powerpack> powerPacks, ref Powerpack cursorOnPowerPack, ref Powerpack botOnPowerPack, HydroBot hydroBot) { bool foundBotOnPowerpack = false, foundCursorOnPowerpack = false; if (hydroBot == null) foundBotOnPowerpack = true; if (cursor == null) foundCursorOnPowerpack = true; BoundingSphere botPowerPackBoundingSphere = new BoundingSphere(); if (!foundBotOnPowerpack) botPowerPackBoundingSphere = new BoundingSphere(hydroBot.BoundingSphere.Center, 5); if (powerPacks == null) return; Ray cursorRay = new Ray(); if (cursor != null) cursorRay = cursor.CalculateCursorRay(gameCamera.ProjectionMatrix, gameCamera.ViewMatrix); foreach (Powerpack powerPack in powerPacks) { if (!foundBotOnPowerpack) { if (powerPack.BoundingSphere.Intersects(botPowerPackBoundingSphere)) { foundBotOnPowerpack = true; botOnPowerPack = powerPack; } } if (!foundCursorOnPowerpack) { if (RayIntersectsBoundingSphere(cursorRay, powerPack.BoundingSphere)) { foundCursorOnPowerpack = true; cursorOnPowerPack = powerPack; } } if (foundBotOnPowerpack && foundCursorOnPowerpack) return; } }
void producePowerPacks(ref List<Powerpack> powerpacks, List<Resource> resources, ref Model[] powerpackModels) { Vector3 powerpackPosition; int powerType = random.Next(4) + 1; Powerpack powerpack = new Powerpack(powerType); powerpackPosition = findResourcePowerpackPosition(Position, resources, powerpacks); powerpack.Model = powerpackModels[powerType]; powerpack.LoadContent(powerpackPosition); powerpacks.Add(powerpack); }