void CastBolts(HandModel leftHand, HandModel rightHand ){ if (!IsCastingStarted && !spellControl.SpellCasting()) { Vector3 middle = leftHand.GetPalmPosition () + rightHand.GetPalmPosition (); currentThunderBolt = GameObject.Instantiate (thunderBoltPrefab, middle, gameObject.transform.rotation) as ThunderBolt; currentThunderBolt.SetPosition (leftHand.GetPalmPosition (), rightHand.GetPalmPosition ()); IsCastingStarted = true; spellControl.GrabCastingControl (); } }
public static void Main() { _lcdshield = new DfRobotLcdShield(20, 4); // Create a custom degrees symbol (°), store it on the LCD for later use with the lat/long display _lcdshield.CreateChar(7, new byte[] { 0x0, 0x4, 0xa, 0x4, 0x0, 0x0, 0x0, 0x0 }); _thunderbolt = new ThunderBolt("COM1", AngleUnits.Degrees, AltitudeUnits.Meters, new OutputPort(Pins.GPIO_PIN_D13, false)); _ntpServer = new NtpServer(); _lcdshield.OnButtonPressed += LcdshieldOnOnButtonPressed; DisplaySplash(); TestLeds(); _thunderbolt.Open(); _thunderbolt.TimingMode = TimingModes.UTC; Thread.Sleep(1500); _ntpServer.Start(); //_thunderbolt.TimeChanged += ThunderboltOnTimeChanged; while (true) { if (_thunderbolt.IsSerialDataBeingReceived) { if (!_isSurveyInProgress && _thunderbolt.IsSurveyInProgress()) { // Survey has just started. Jump to the page displaying survey progress. _previousPageNumber = _pageNumber; // Take note of the page we were on so we can switch back later. _isSurveyInProgress = true; _pageNumber = 2; // Set the new page to jump to. } else if (_isSurveyInProgress && !_thunderbolt.IsSurveyInProgress()) { // Survey has just finished. Jump to the previous page we were displaying. _pageNumber = _previousPageNumber; _isSurveyInProgress = false; } switch (_pageNumber) { case 1: DisplayScreenOne(); break; case 2: DisplayScreenTwo(); break; case 3: DisplayScreenThree(); break; case 4: DisplayScreenFour(); break; case 5: DisplayScreenFive(); break; default: DisplayScreenOne(); break; } UpdateAlarmIndicators(); } else { DisplayNoSerialDataScreen(); } Thread.Sleep(100); } }
public Spells() { Items = new List <BaseSpell>(); goblinWave = new GoblinWave(); Items.Add(goblinWave); wolfPack = new WolfPack(); Items.Add(wolfPack); siege = new Siege(); Items.Add(siege); orcWave = new OrcWave(); Items.Add(orcWave); trollWave = new TrollWave(); Items.Add(trollWave); blackHorsemen = new BlackHorsemen(); Items.Add(blackHorsemen); giant = new Giant(); Items.Add(giant); dragon = new Dragon(); Items.Add(dragon); spark = new Spark(); Items.Add(spark); eletroCharge = new EletroCharge(); Items.Add(eletroCharge); lightning = new Lightning(); Items.Add(lightning); discharge = new Discharge(); Items.Add(discharge); thunderShock = new ThunderShock(); Items.Add(thunderShock); thunderBolt = new ThunderBolt(); Items.Add(thunderBolt); lightningStorm = new LightningStorm(); Items.Add(lightningStorm); thunder = new Thunder(); Items.Add(thunder); mudStrike = new MudStrike(); Items.Add(mudStrike); rockThrow = new RockThrow(); Items.Add(rockThrow); vineWhip = new VineWhip(); Items.Add(vineWhip); razorLeaf = new RazorLeaf(); Items.Add(razorLeaf); seedBombs = new SeedBombs(); Items.Add(seedBombs); rockBlast = new RockBlast(); Items.Add(rockBlast); photosynthesis = new Photosynthesis(); Items.Add(photosynthesis); earthQuake = new Earthquake(); Items.Add(earthQuake); wave = new Wave(); Items.Add(wave); whirlwind = new Whirlwind(); Items.Add(whirlwind); icyspikes = new IcySpikes(); Items.Add(icyspikes); ringoffrost = new RingOfFrost(); Items.Add(ringoffrost); frozenPillar = new FrozenPillar(); Items.Add(frozenPillar); frostWave = new FrostWave(); Items.Add(frostWave); storm = new Storm(); Items.Add(storm); blizzard = new Blizzard(); Items.Add(blizzard); fireball = new Fireball(); Items.Add(fireball); firewave = new Firewave(); Items.Add(firewave); imoloate = new Imoloate(); Items.Add(imoloate); fireblast = new FireBlast(); Items.Add(fireblast); ringoffire = new RingOfFire(); Items.Add(ringoffire); lavastrike = new LavaStrike(); Items.Add(lavastrike); dragonBreath = new DragonBreath(); Items.Add(dragonBreath); }
public static void Main() { WatchDog.Start(new TimeSpan(0, 0, 30)); MinorLed.SetDriveMode(GpioPinDriveMode.Output); MajorLed.SetDriveMode(GpioPinDriveMode.Output); _lcdShield = new DfRobotLcdShield(20, 4); // Create a custom degrees symbol (°), store it on the LCD for later use with the lat/long display _lcdShield.CreateChar(0, new byte[] { 0x0, 0x4, 0xa, 0x4, 0x0, 0x0, 0x0, 0x0 }); // 0 bars are not required as that would just require sending " " _lcdShield.CreateChar(1, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F }); _lcdShield.CreateChar(2, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x1F }); _lcdShield.CreateChar(3, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(4, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x1F, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(5, new byte[] { 0x0, 0x0, 0x0, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(6, new byte[] { 0x0, 0x0, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(7, new byte[] { 0x0, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }); // 8 bars are not required as that would just require sending byte 255. _thunderbolt = new ThunderBolt("COM1", AngleUnits.Degrees, AltitudeUnits.Meters, FEZ.GpioPin.D13); _lcdShield.OnButtonPressed += LcdShieldOnOnButtonPressed; DisplaySplash(); var pwmController = PwmController.FromName(FEZ.PwmChannel.Controller3.Id); pwmController.SetDesiredFrequency(10000); var backlight = pwmController.OpenChannel(FEZ.PwmChannel.Controller3.D10); backlight.SetActiveDutyCyclePercentage(LcdBrightness / 100d); backlight.Start(); TestLeds(); _thunderbolt.Open(); _thunderbolt.TimingMode = TimingModes.UTC; _thunderbolt.RequestManufacturingParameters(); _thunderbolt.RequestFirmwareVersion(); _thunderbolt.SetupUnitForDisciplining(); _thunderbolt.RequestTrackedSatelliteStatus(); _thunderbolt.TimeChanged += ThunderboltOnTimeChanged; Thread.Sleep(3000); DisplayVersion(); while (true) { WatchDog.Reset(); if (_thunderbolt.IsSerialDataBeingReceived) { if (!_isSurveyInProgress && _thunderbolt.IsSurveyInProgress()) { // Survey has just started. Jump to the page displaying survey progress. _previousPageNumber = _pageNumber; // Take note of the page we were on so we can switch back later. _isSurveyInProgress = true; _pageNumber = 2; // Set the new page to jump to. } else if (_isSurveyInProgress && !_thunderbolt.IsSurveyInProgress()) { // Survey has just finished. Jump to the previous page we were displaying. _pageNumber = _previousPageNumber; _isSurveyInProgress = false; } switch (_pageNumber) { case 1: DisplayScreenOne(); break; case 2: DisplayScreenTwo(); break; case 3: DisplayScreenThree(); break; case 4: DisplayScreenFour(); break; case 5: DisplaySatelliteSignalScreen(); break; case 6: DisplayPRNScreen(); break; case 7: DisplayDOPScreen(); break; default: DisplayScreenOne(); break; } UpdateAlarmIndicators(); } else { DisplayNoSerialDataScreen(); } } }
public static void Main() { _lcdShield = new DfRobotLcdShield(20, 4); // Create a custom degrees symbol (°), store it on the LCD for later use with the lat/long display _lcdShield.CreateChar(0, new byte[] { 0x0, 0x4, 0xa, 0x4, 0x0, 0x0, 0x0, 0x0 }); // 0 bars are not required as that would just require sending " " _lcdShield.CreateChar(1, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F }); _lcdShield.CreateChar(2, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x1F }); _lcdShield.CreateChar(3, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(4, new byte[] { 0x0, 0x0, 0x0, 0x0, 0x1F, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(5, new byte[] { 0x0, 0x0, 0x0, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(6, new byte[] { 0x0, 0x0, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }); _lcdShield.CreateChar(7, new byte[] { 0x0, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F }); // 8 bars are not required as that would just require sending byte 255. #if (NETDUINO) _thunderbolt = new ThunderBolt("COM1", AngleUnits.Degrees, AltitudeUnits.Meters, new OutputPort(Pins.GPIO_PIN_D13, false)); #endif #if (FEZLEMUR) _thunderbolt = new ThunderBolt("COM1", AngleUnits.Degrees, AltitudeUnits.Meters, new OutputPort(GHI.Pins.FEZLemur.Gpio.D13, false)); #endif #if (NTP) _ntpServer = new NtpServer(); #endif _lcdShield.OnButtonPressed += LcdshieldOnOnButtonPressed; DisplaySplash(); #if (NETDUINO) var backlight = new Microsoft.SPOT.Hardware.PWM(PWMChannels.PWM_PIN_D10, 10000, LcdBrightness / 100d, false); backlight.Start(); #endif TestLeds(); _thunderbolt.Open(); _thunderbolt.TimingMode = TimingModes.UTC; _thunderbolt.RequestManufacturingParameters(); _thunderbolt.RequestFirmwareVersion(); _thunderbolt.SetupUnitForDisciplining(); _thunderbolt.RequestTrackedSatelliteStatus(); _thunderbolt.TimeChanged += ThunderboltOnTimeChanged; Thread.Sleep(3000); DisplayVersion(); #if (NTP) _ntpServer.Start(); #endif while (true) { if (_thunderbolt.IsSerialDataBeingReceived) { if (!_isSurveyInProgress && _thunderbolt.IsSurveyInProgress()) { // Survey has just started. Jump to the page displaying survey progress. _previousPageNumber = _pageNumber; // Take note of the page we were on so we can switch back later. _isSurveyInProgress = true; _pageNumber = 2; // Set the new page to jump to. } else if (_isSurveyInProgress && !_thunderbolt.IsSurveyInProgress()) { // Survey has just finished. Jump to the previous page we were displaying. _pageNumber = _previousPageNumber; _isSurveyInProgress = false; } switch (_pageNumber) { case 1: DisplayScreenOne(); break; case 2: DisplayScreenTwo(); break; case 3: DisplayScreenThree(); break; case 4: DisplayScreenFour(); break; case 5: DisplaySatelliteSignalScreen(); break; case 6: DisplayPRNScreen(); break; case 7: DisplayDOPScreen(); break; #if (NTP) case 8: DisplayScreenNTP(); break; #endif default: DisplayScreenOne(); break; } UpdateAlarmIndicators(); } else { DisplayNoSerialDataScreen(); } } }
void ReleaseBolts(HandModel leftHand, HandModel rightHand){ if (currentThunderBolt ) { currentThunderBolt.Release ((leftHand.GetPalmDirection () + rightHand.GetPalmDirection ()).normalized, 5.0f); IsCastingStarted = false; spellControl.ReleaseCastingControl (); currentThunderBolt = null; } }