/*---------------------------------------------------- AWAKE ----------------------------------------------------*/ void Awake() { powerManager = GameObject.Find("GameManager").GetComponent<PowerManager>(); anim = transform.FindChild("Animation").GetComponent<Animator>(); effectorCollider1 = transform.FindChild("AreaEffectors").GetChild(0).GetComponent<BoxCollider2D>(); effectorCollider2 = transform.FindChild("AreaEffectors").GetChild(1).GetComponent<BoxCollider2D>(); effectorCollider3 = transform.FindChild("AreaEffectors").GetChild(2).GetComponent<BoxCollider2D>(); consoleViewImage = transform.FindChild("ConsoleView").GetComponent<SpriteRenderer>(); powerCost = GetComponent<Power>().powerCost; GameObject fanDistance = transform.FindChild("FanDistance").gameObject; float difference = Vector2.Distance(transform.position, fanDistance.transform.position); effectorCollider1.size = new Vector2(difference-1, effectorCollider1.size.y); effectorCollider1.offset = new Vector2(difference / 2, 0); effectorCollider2.size = new Vector2(difference - 1, effectorCollider2.size.y); effectorCollider2.offset = new Vector2(difference / 2, 1.7f); effectorCollider3.size = new Vector2(difference - 1, effectorCollider3.size.y); effectorCollider3.offset = new Vector2(difference / 2, -1.7f); }
public PowerBinWidget( [ObjectCreator.Param] World world ) { this.world = world; if (world.LocalPlayer != null) power = world.LocalPlayer.PlayerActor.Trait<PowerManager>(); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { //Need in range selected target if (pp.Target == null || pm.fx.getDistance(pp.User.Position, pp.Target.Position) > pm.meleeRange) { yield break; } yield return 200; //Synchronize with weapon swing //pp.Message.Field6.Field0 = swing side if(pp.SwingSide == 3) { pm.fx.PlayEffectGroupActorToActor(18671, pp.User, pp.Target); } else { pm.fx.PlayEffectGroupActorToActor(18672, pp.User, pp.Target); } IList<Actor> hits = pm.FindActorsInFront(pp.User, pp.Target.Position, 180f, 10f); foreach (Actor actor in hits) { //Must not be other player either will need fix if(actor.DynamicID != pp.User.DynamicID) pm.DoDamage(actor, 20, FloatingNumberMessage.FloatType.White); } //Regenerate ressource pm.generateRessource(pp.User, 4); //Flush all player buffer pm.flushAll(pp.User); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { if (pm.fx.getDistance(pp.User.Position, pp.Target.Position) > pm.meleeRange) { pm.fx.PlayHitEffect(HitEffect.Flash, pp.User, pp.Target); pm.DoDamage(pp.Target, 25f, FloatingNumberMessage.FloatType.White); } yield break; }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /*fx.SpawnEffect(pp.User, 86790, pp.TargetPosition); yield return 2000; fx.SpawnEffect(pp.User, 86769, pp.TargetPosition); fx.SpawnEffect(pp.User, 90364, pp.TargetPosition, -1, 4000); IList<Actor> hits = fx.FindActorsInRadius(pp.TargetPosition, 13f); fx.DoDamage(pp.User, hits, 150f, 0);*/ yield break; }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { yield return 150; pm.fx.PlayEffectGroupActorToActor(18685, pp.User, pp.User); //Regenerate ressource pm.generateRessource(pp.User, 15); List<Actor> targetList = pp.User.World.GetActorsInRange(pp.User.Position, 17f); //Add stunt effect foreach (Actor actor in targetList) { if (actor.DynamicID != pp.User.DynamicID) { pm.DoDamage(actor, 20f, FloatingNumberMessage.FloatType.White); actor.setAttribute(GameAttribute.Stunned, new GameAttributeValue(true)); } } //Set skill on Colldown pp.User.setAttribute(GameAttribute.Power_Disabled, new GameAttributeValue(true), Skills.Skills.Barbarian.FuryGenerators.GroundStomp); pm.SendDWordTick(pp.User.InGameClient); pm.flushAll(pp.User); yield return 3000; //Remove stunt effect after 3sec foreach (Actor actor in targetList) { if (actor.DynamicID != pp.User.DynamicID) { actor.setAttribute(GameAttribute.Stunned, new GameAttributeValue(false)); } } pm.SendDWordTick(pp.User.InGameClient); yield return 9000; //Remove skill cooldown pp.User.setAttribute(GameAttribute.Power_Disabled, new GameAttributeValue(false), Skills.Skills.Barbarian.FuryGenerators.GroundStomp); pm.SendDWordTick(pp.User.InGameClient); pm.flushAll(pp.User); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /*if (pp.Message.Field5 == 0) fx.PlayEffectGroupActorToActor(96176, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); else if (pp.Message.Field5 == 1) fx.PlayEffectGroupActorToActor(96176, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); else if (pp.Message.Field5 == 2) fx.PlayEffectGroupActorToActor(96178, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); if (fx.WillHitMeleeTarget(pp.User, pp.Target)) { fx.PlayHitEffect(2, pp.User, pp.Target); fx.DoDamage(pp.User, pp.Target, 25f, 0); }*/ yield break; }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { // HACK: made up spell, not real magic missile /*for (int step = 1; step < 10; ++step) { var spos = new Vector3D(); spos.X = pp.User.Position.X + ((pp.TargetPosition.X - pp.User.Position.X) * (step * 0.10f)); spos.Y = pp.User.Position.Y + ((pp.TargetPosition.Y - pp.User.Position.Y) * (step * 0.10f)); spos.Z = pp.User.Position.Z + ((pp.TargetPosition.Z - pp.User.Position.Z) * (step * 0.10f)); fx.SpawnEffect(pp.User, 61419, spos); IList<Actor> hits = fx.FindActorsInRadius(spos, 6f); fx.DoDamage(pp.User, hits, 60f, 0); yield return 100; }*/ yield break; }
/// <summary> /// Called when the activity is first created. </summary> protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Get an instance of the SensorManager mSensorManager = (SensorManager)GetSystemService(SENSOR_SERVICE); // Get an instance of the PowerManager mPowerManager = (PowerManager)GetSystemService(POWER_SERVICE); // Get an instance of the WindowManager mWindowManager = (IWindowManager)GetSystemService(WINDOW_SERVICE); mDisplay = mWindowManager.GetDefaultDisplay(); // Create a bright wake lock mWakeLock = mPowerManager.NewWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, this.GetType().Name); // instantiate our simulation view and set it as the activity's content mSimulationView = new SimulationView(this); SetContentView(mSimulationView); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { //Need in range selected target if (pp.Target == null || pm.fx.getDistance(pp.User.Position, pp.Target.Position) > pm.meleeRange) { yield break; } yield return 100; //Synchronize with weapon swing and give time to player position to update //Add 20% knockback chance if (pm._rand.Next(0, 100) < 60) { pm.fx.DoKnockback(pp.User, pp.Target, 1); } //Effect may depend on rune/gender not implemented for the moment pm.fx.PlayEffectGroupActorToActor(18662, pp.User, pp.User); pm.fx.PlayHitEffect(HitEffect.Flash, pp.Target, pp.User); //Tmp dmg pm.DoDamage(pp.Target, 30f, FloatingNumberMessage.FloatType.White); //Regenerate ressource pm.generateRessource(pp.User, 6); //Flush all player buffer pm.flushAll(pp.User); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /*fx.RegisterChannelingPower(pp.User, 150); fx.ActorLookAt(pp.User, pp.TargetPosition); // if throttling only update proxy if needed, then exit if (pp.ThrottledCast) { if (pp.Target == null) fx.GetChanneledProxy(pp.User, 0, pp.TargetPosition); yield break; } IList<Actor> targets; if (pp.Target == null) { targets = new List<Actor>(); fx.PlayRopeEffectActorToActor(0x78c0, pp.User, fx.GetChanneledProxy(pp.User, 0, pp.TargetPosition)); } else { targets = fx.FindActorsInRadius(pp.TargetPosition, 15f, 1); targets.Insert(0, pp.Target); Actor effect_source = pp.User; foreach (Actor actor in targets) { fx.PlayHitEffect(2, effect_source, actor); fx.PlayRopeEffectActorToActor(0x78c0, effect_source, actor); effect_source = actor; } } fx.DoDamage(pp.User, targets, 12, 0);*/ yield break; }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /*Vector3D startpos; if (pp.Target == null) startpos = pp.User.Position; else startpos = pp.TargetPosition; for (int n = 0; n < 7; ++n) { IList<Actor> nearby = fx.FindActorsInRadius(startpos, 20f, 1); if (nearby.Count > 0) { fx.SpawnEffect(pp.User, 99063, nearby[0].Position); fx.DoDamage(pp.User, nearby[0], 100f, 0); yield return 100; } else { break; } }*/ yield break; }
// Called to start executing a power // return yield an int to specify in milliseconds how long to wait before continuing. public abstract IEnumerable<int> Run(PowerParameters pp, PowerManager fx);
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { //Add start effect pm.fx.PlayEffectGroupActorToActor(18701, pp.User, pp.User); pm.userRessource(pp.User, 20); pm.flushAll(pp.User); yield break; }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { //Add start effect pm.fx.PlayEffectGroupActorToActor(70614, pp.User, pp.User); IList<Actor> targets = pp.User.World.GetActorsInRange(pp.User.Position, 9f); foreach (Actor target in targets) { pm.fx.PlayEffectGroupActorToActor(70804, pp.Target, pp.Target); pm.DoDamage(target, 20f, FloatingNumberMessage.FloatType.Red); pm.SendDWordTick(pp.User.InGameClient); } pm.userRessource(pp.User, 20); yield return 1000; foreach (Actor target in targets) { pm.DoDamage(target, 20f, FloatingNumberMessage.FloatType.White); pm.SendDWordTick(pp.User.InGameClient); } pm.flushAll(pp.User); yield return 1000; foreach (Actor target in targets) { pm.DoDamage(target, 20f, FloatingNumberMessage.FloatType.Red); pm.SendDWordTick(pp.User.InGameClient); } pm.flushAll(pp.User); yield break; }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { //Add start effect pm.fx.PlayEffectGroupActorToActor(18705, pp.User, pp.User); IList<Actor> targets = pp.User.World.GetActorsInRange(pp.User.Position, 25f); foreach (Actor actor in targets) { //Must not be other player either will need fix if (actor.DynamicID != pp.User.DynamicID) actor.setAttribute(GameAttribute.Damage_Reduction_Current, new GameAttributeValue(0.5f)); } //Regenerate ressource pm.userRessource(pp.User, 20); //Flush all player buffer pm.flushAll(pp.User); yield return 15000; //Remove debuff after 15 sec foreach (Actor actor in targets) { actor.setAttribute(GameAttribute.Damage_Reduction_Current, new GameAttributeValue(0f)); } pm.flushAll(pp.User); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { IList<Actor> inlineMonster = pm.FindActorsInFront(pp.User, pp.TargetPosition.Position, 20, pm.fx.getDistance(pp.User.Position, pp.TargetPosition.Position)); //Add start effect pm.fx.PlayEffectGroupActorToActor(18680, pp.User, pp.User); //Play charge anim pm.fx.PlayAnimation(pp.User, 116118); //Move targe pm.fx.MoveActorNormal(pp.User, pp.User, pp.TargetPosition.Position, pm.fx.getRadian(pp.TargetPosition.Position, pp.User.Position)); //Play end effect pm.fx.PlayEffectGroupActorToActor(18679, pp.User, pp.User); foreach (Actor target in inlineMonster) { pm.DoDamage(target, 20f, FloatingNumberMessage.FloatType.White); } foreach (Actor target in pp.User.World.GetActorsInRange(pp.TargetPosition.Position, 10f)) { pm.DoDamage(target, 20f, FloatingNumberMessage.FloatType.White); pm.fx.DoKnockback(pp.User, target, 2); } //Play charge anim pm.fx.PlayAnimation(pp.User, 116117); //Regenerate ressource pm.generateRessource(pp.User, 15); //Set skill on Colldown pp.User.setAttribute(GameAttribute.Power_Disabled, new GameAttributeValue(true), Skills.Skills.Barbarian.FuryGenerators.FuriousCharge); pm.SendDWordTick(pp.User.InGameClient); pm.flushAll(pp.User); yield return 15000; //Set skill on Colldown pp.User.setAttribute(GameAttribute.Power_Disabled, new GameAttributeValue(true), Skills.Skills.Barbarian.FuryGenerators.FuriousCharge); pm.SendDWordTick(pp.User.InGameClient); pm.flushAll(pp.User); }
public TrayAccess() { // BUILD UI Tray = new NotifyIcon { Text = System.Windows.Forms.Application.ProductName + "!", // Tooltip so people know WTF I am. Icon = System.Drawing.Icon.ExtractAssociatedIcon(System.Reflection.Assembly.GetExecutingAssembly().Location) // is this really the best way? }; Tray.BalloonTipText = Tray.Text; Tray.Disposed += (object sender, EventArgs e) => { Tray = null; }; if (Taskmaster.Trace) { Log.Verbose("Generating tray icon."); } ms = new ContextMenuStrip(); menu_windowopen = new ToolStripMenuItem("Open", null, RestoreMainWindow); menu_rescan = new ToolStripMenuItem("Rescan", null, (o, s) => { menu_rescan.Enabled = false; RescanRequest?.Invoke(this, null); menu_rescan.Enabled = true; }); menu_configuration = new ToolStripMenuItem("Configuration"); var menu_configuration_autopower = new ToolStripMenuItem("Power auto-adjust", null, ShowPowerConfig); var menu_configuration_folder = new ToolStripMenuItem("Open in file manager", null, ShowConfigRequest); menu_configuration.DropDownItems.Add(menu_configuration_autopower); menu_configuration.DropDownItems.Add(new ToolStripSeparator()); menu_configuration.DropDownItems.Add(menu_configuration_folder); menu_runatstart_reg = new ToolStripMenuItem("Run at start (RegRun)", null, RunAtStartMenuClick_Reg); menu_runatstart_sch = new ToolStripMenuItem("Schedule at login (Admin)", null, RunAtStartMenuClick_Sch); bool runatstartreg = RunAtStartRegRun(enabled: false, dryrun: true); bool runatstartsch = RunAtStartScheduler(enabled: false, dryrun: true); menu_runatstart_reg.Checked = runatstartreg; menu_runatstart_sch.Checked = runatstartsch; Log.Information("<Core> Run-at-start – Registry: {Enabled}, Scheduler: {Found}", (runatstartreg ? "Enabled" : "Disabled"), (runatstartsch ? "Found" : "Missing")); if (Taskmaster.PowerManagerEnabled) { power_auto = new ToolStripMenuItem("Auto", null, SetAutoPower); power_auto.Checked = false; power_auto.CheckOnClick = true; power_auto.Enabled = false; power_highperf = new ToolStripMenuItem(PowerManager.GetModeName(PowerInfo.PowerMode.HighPerformance), null, (s, e) => { ResetPower(PowerInfo.PowerMode.HighPerformance); }); power_balanced = new ToolStripMenuItem(PowerManager.GetModeName(PowerInfo.PowerMode.Balanced), null, (s, e) => { ResetPower(PowerInfo.PowerMode.Balanced); }); power_saving = new ToolStripMenuItem(PowerManager.GetModeName(PowerInfo.PowerMode.PowerSaver), null, (s, e) => { ResetPower(PowerInfo.PowerMode.PowerSaver); }); power_manual = new ToolStripMenuItem("Manual override", null, SetManualPower) { CheckOnClick = true }; } ToolStripMenuItem menu_restart = null; menu_restart = new ToolStripMenuItem("Restart", null, (o, s) => { menu_restart.Enabled = false; Taskmaster.ConfirmExit(restart: true); menu_restart.Enabled = true; }); menu_exit = new ToolStripMenuItem("Exit", null, (o, s) => { menu_restart.Enabled = false; Taskmaster.ConfirmExit(restart: false); menu_restart.Enabled = true; }); ms.Items.Add(menu_windowopen); ms.Items.Add(new ToolStripSeparator()); ms.Items.Add(menu_rescan); ms.Items.Add(new ToolStripSeparator()); ms.Items.Add(menu_configuration); ms.Items.Add(menu_runatstart_reg); ms.Items.Add(menu_runatstart_sch); if (Taskmaster.PowerManagerEnabled) { ms.Items.Add(new ToolStripSeparator()); var plab = new ToolStripLabel("--- Power Plan ---"); plab.ForeColor = System.Drawing.SystemColors.GrayText; ms.Items.Add(plab); ms.Items.Add(power_auto); ms.Items.Add(power_highperf); ms.Items.Add(power_balanced); ms.Items.Add(power_saving); ms.Items.Add(power_manual); } ms.Items.Add(new ToolStripSeparator()); ms.Items.Add(menu_restart); ms.Items.Add(menu_exit); Tray.ContextMenuStrip = ms; if (Taskmaster.Trace) { Log.Verbose("Tray menu ready"); } if (!RegisterExplorerExit()) { throw new InitFailure("<Tray> Explorer registeriong failed; not running?"); } ms.Enabled = false; // Tray.Click += RestoreMainWindow; Tray.MouseClick += ShowWindow; // TODO: Toast Notifications if (Tray.Icon == null) { Log.Fatal("<Tray> Icon missing, setting system default."); Tray.Icon = System.Drawing.SystemIcons.Application; } Microsoft.Win32.SystemEvents.SessionEnding += SessionEndingEvent; // depends on messagepump if (Taskmaster.Trace) { Log.Verbose("<Tray> Initialized"); } }
public void GetSystemPowerInformationTest() { var res = PowerManager.GetSystemPowerInformation(); res.DumpFields(); }
/// <summary> /// This will find a safe place to stand in both Kiting and Avoidance situations /// </summary> /// <param name="isStuck"></param> /// <param name="stuckAttempts"></param> /// <param name="dangerPoint"></param> /// <param name="shouldKite"></param> /// <param name="avoidDeath"></param> /// <returns></returns> internal static Vector3 FindSafeZone(bool isStuck, int stuckAttempts, Vector3 dangerPoint, bool shouldKite = false, IEnumerable <TrinityCacheObject> monsterList = null, bool avoidDeath = false) { // Handle The Butcher's Lair var butcherFloorPanels = CacheData.TimeBoundAvoidance.Where(aoe => DataDictionary.ButcherFloorPanels.Contains(aoe.ActorSNO)).ToList(); if (butcherFloorPanels.Any()) { foreach (var safePoint in DataDictionary.ButcherPanelPositions.OrderBy(p => p.Value.Distance2DSqr(Trinity.Player.Position))) { // Floor panel with fire animation was added to cache if (butcherFloorPanels.Any(p => p.ActorSNO == safePoint.Key && p.Position.Distance2DSqr(safePoint.Value) <= 15f * 15f)) { continue; } // floor panel position is in Butcher animation avoidance (charging, chain hook) if (CacheData.TimeBoundAvoidance.Any(aoe => aoe.Position.Distance2D(safePoint.Value) < aoe.Radius)) { continue; } // no avoidance object in cache, this point is safe return(safePoint.Value); } // Don't fall back to regular avoidance return(Vector3.Zero); } if (!isStuck) { if (shouldKite && DateTime.UtcNow.Subtract(lastFoundSafeSpot).TotalMilliseconds <= 1500 && lastSafeZonePosition != Vector3.Zero) { return(lastSafeZonePosition); } if (DateTime.UtcNow.Subtract(lastFoundSafeSpot).TotalMilliseconds <= 800 && lastSafeZonePosition != Vector3.Zero) { return(lastSafeZonePosition); } hasEmergencyTeleportUp = (!Player.IsIncapacitated && ( // Leap is available (CombatBase.CanCast(SNOPower.Barbarian_Leap)) || // Whirlwind is available (CombatBase.CanCast(SNOPower.Barbarian_Whirlwind) && ((Player.PrimaryResource >= 10 && !CombatBase.IsWaitingForSpecial) || Player.PrimaryResource >= Trinity.MinEnergyReserve)) || // Tempest rush is available (CombatBase.CanCast(SNOPower.Monk_TempestRush) && ((Player.PrimaryResource >= 20 && !CombatBase.IsWaitingForSpecial) || Player.PrimaryResource >= Trinity.MinEnergyReserve)) || // Teleport is available (CombatBase.CanCast(SNOPower.Wizard_Teleport) && Player.PrimaryResource >= 15) || // Archon Teleport is available (CombatBase.CanCast(SNOPower.Wizard_Archon_Teleport)) )); // Wizards can look for bee stings in range and try a wave of force to dispel them if (!shouldKite && Player.ActorClass == ActorClass.Wizard && CombatBase.CanCast(SNOPower.Wizard_WaveOfForce) && !Player.IsIncapacitated && CacheData.TimeBoundAvoidance.Count(u => u.ActorSNO == 5212 && u.Position.Distance(Player.Position) <= 15f) >= 2 && ( //HotbarSkills.PassiveSkills.Contains(SNOPower.Wizard_Passive_CriticalMass) || PowerManager.CanCast(SNOPower.Wizard_WaveOfForce))) { ZetaDia.Me.UsePower(SNOPower.Wizard_WaveOfForce, Vector3.Zero, Player.WorldDynamicID, -1); } } float highestWeight = 0f; if (monsterList == null) { monsterList = new List <TrinityCacheObject>(); } //Vector3 vBestLocation = FindSafeZone(dangerPoint, shouldKite, isStuck, monsterList, avoidDeath); Vector3 vBestLocation = MainFindSafeZone(dangerPoint, shouldKite, isStuck, monsterList, avoidDeath); highestWeight = 1; // Loop through distance-range steps if (highestWeight <= 0) { return(vBestLocation); } lastFoundSafeSpot = DateTime.UtcNow; lastSafeZonePosition = vBestLocation; return(vBestLocation); }
public override void OnReceive(Context context, Intent intent) { var powerManager = PowerManager.FromContext(context); var wakeLock = powerManager.NewWakeLock(WakeLockFlags.Partial, WakeLockTag); wakeLock.Acquire(); var dataStore = ServiceLocator.Instance.Get <IVplanDataStore>(); Task.Run(async() => { try { var diff = await dataStore.Refresh(); if (diff.NewBookmarkedChanges.Any() || diff.NewNewSchoolClassBookmarks.Any()) { string text; if (diff.NewBookmarkedChanges.Any()) { text = diff.NewBookmarkedChanges.Count() + " neue Einträge"; } else { text = diff.NewNewSchoolClassBookmarks.Count() + " neue Klassen"; } var notificationManager = NotificationManager.FromContext(context); if (Build.VERSION.SdkInt >= BuildVersionCodes.O) { var channel = new NotificationChannel(ChannelId, "Vertretungsplan", NotificationImportance.High); channel.EnableLights(true); channel.EnableVibration(true); notificationManager.CreateNotificationChannel(channel); } var resultIntent = new Intent(context, typeof(MainActivity)); var stackBuilder = Android.Support.V4.App.TaskStackBuilder.Create(context); stackBuilder.AddNextIntentWithParentStack(resultIntent); var pendingIntent = stackBuilder.GetPendingIntent(0, 0); var builder = new NotificationCompat.Builder(context, ChannelId) .SetContentTitle("Neuer Vertretungsplan verfügbar") .SetContentText(text) .SetSmallIcon(Resource.Mipmap.Icon) .SetPriority(NotificationCompat.PriorityMax) .SetSound(RingtoneManager.GetDefaultUri(RingtoneType.Notification)) .SetDefaults(NotificationCompat.DefaultVibrate | NotificationCompat.DefaultLights) .SetContentIntent(pendingIntent) .SetAutoCancel(true); notificationManager.Notify(NotificationId, builder.Build()); } } catch (Exception e) { } finally { wakeLock.Release(); } }); }
protected override void OnCreate(Bundle bundle) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Resource.Layout.Toolbar; base.Window.RequestFeature(WindowFeatures.ActionBar); base.OnCreate(bundle); mContext = this; Instance = this; try { var width = Resources.DisplayMetrics.WidthPixels; var height = Resources.DisplayMetrics.HeightPixels; var density = Resources.DisplayMetrics.Density; //屏幕密度 App.ScreenWidth = width / density; //屏幕宽度 App.ScreenHeight = height / density; //屏幕高度 } catch (System.Exception) { } //返回此活动是否为任务的根 if (!IsTaskRoot) { Finish(); return; } PowerManager pm = (PowerManager)GetSystemService(Context.PowerService); isPause = pm.IsScreenOn; if (handler == null) { handler = new Handler(); } //注册广播,屏幕点亮状态监听,用于单独控制音乐播放 if (screenStateReceiver == null) { screenStateReceiver = new ScreenStateReceiver(); var intentFilter = new IntentFilter(); intentFilter.AddAction("_ACTION_SCREEN_OFF"); //熄屏 intentFilter.AddAction("_ACTION_SCREEN_ON"); //点亮 intentFilter.AddAction("_ACTION_BACKGROUND"); //后台 intentFilter.AddAction("_ACTION_FOREGROUND"); //前台 RegisterReceiver(screenStateReceiver, intentFilter); } Window.AddFlags(WindowManagerFlags.KeepScreenOn); if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { Window.ClearFlags(WindowManagerFlags.TranslucentStatus); Window.AddFlags(WindowManagerFlags.TranslucentNavigation); TranslucentStatubar.Immersive(Window); Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds); Window.ClearFlags(WindowManagerFlags.Fullscreen); } //在andrioid m之后,必须在运行时请求权限 GetPersimmions(); //图片裁切 BitImageEditor.Droid.Platform.Init(this, bundle); //初始 Popup Popup.Init(this); //版本更新配置 AutoUpdate.Init(this, "com.dcms.clientv3.fileprovider"); //初始 Xamarin.Forms 实验性标志 Forms.SetFlags("Shell_Experimental", "SwipeView_Experimental", "CarouselView_Experimental", "RadioButton_Experimental", "IndicatorView_Experimental", "Expander_Experimental", "Visual_Experimental", "CollectionView_Experimental", "FastRenderers_Experimental"); #region //初始 FFImageLoading CachedImageRenderer.Init(true); CachedImageRenderer.InitImageViewHandler(); ImageCircleRenderer.Init(); var config = new FFImageLoading.Config.Configuration() { VerboseLogging = false, VerbosePerformanceLogging = false, VerboseMemoryCacheLogging = false, VerboseLoadingCancelledLogging = false, }; ImageService.Instance.Initialize(config); #endregion Forms.Init(this, bundle); //初始 对话框组件 UserDialogs.Init(this); //初始 ZXing ZXingPlatform.Platform.Init(); LoadApplication(new App(new AndroidInitializer())); }
public ShowWholeMap(ActorInitializer init, ShowWholeMapInfo info) : base(info) { self = init.Self; this.info = info; powerMgr = self.Owner.PlayerActor.Trait <PowerManager>(); }
void Awake() { _instance = this; }
private void App_OnExit(object sender, ExitEventArgs e) { DisposeMutex(); PowerManager?.Dispose(); HotKeyManager?.Dispose(); }
public void GetGetLastSleepTimeTest() { var res = PowerManager.GetLastSleepTime(); res.DumpValue(); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /*if (pp.Message.Field5 == 0) fx.PlayEffectGroupActorToActor(18987, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); else if (pp.Message.Field5 == 1) fx.PlayEffectGroupActorToActor(18988, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); else if (pp.Message.Field5 == 2) fx.PlayEffectGroupActorToActor(96519, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); if (pp.Message.Field5 != 2) { if (fx.WillHitMeleeTarget(pp.User, pp.Target)) { fx.PlayHitEffect(6, pp.User, pp.Target); fx.DoDamage(pp.User, pp.Target, 25f, 0); } } else { IList<Actor> hits = fx.FindActorsInRadius(pp.User.Position, 10); foreach (Actor hit in hits) { fx.PlayHitEffect(6, pp.User, hit); fx.DoDamage(pp.User, hit, 25f, 0); } }*/ yield break; }
public ProductionItem(ProductionQueue queue, string item, int time, int cost, PowerManager pm, Action onComplete) { if (time <= 0) { time = 1; } Item = item; RemainingTime = TotalTime = time; RemainingCost = TotalCost = cost; OnComplete = onComplete; Queue = queue; this.pm = pm; //Log.Write("debug", "new ProductionItem: {0} time={1} cost={2}", item, time, cost); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /*yield return 350; fx.PlayEffectGroupActorToActor(19356, pp.User, fx.SpawnTempProxy(pp.User, pp.User.Position)); IList<Actor> hits = fx.FindActorsInRadius(pp.User.Position, 20); foreach (Actor actor in hits) { fx.DoKnockback(pp.User, actor, 10f); fx.DoDamage(pp.User, actor, 20, 0); }*/ yield break; }
public PowerManagerCom() { _powerManager = new PowerManager(); }
public SelfConstructingProductionItem(ProductionQueue queue, Actor actor, int cost, PowerManager pm, Action onComplete) : base(queue, actor.Info.Name, cost, pm, onComplete) { Actor = actor; }
public BasicBatteryBlock() : base("Basic Battery", false) { this.IsPlaceable = true; PowerManager.ValidateBlockID(this.TypeName, new BasicBattery()); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { yield return 200; //Add start effect pm.fx.PlayEffectGroupActorToActor(158731, pp.User, pp.User); IList<Actor> hits = pm.FindActorsInFront(pp.User, pp.Target.Position, 180f, 15f); foreach (Actor actor in hits) { //Must not be other player either will need fix if (actor.DynamicID != pp.User.DynamicID) { //15% crit chance if (pm._rand.Next(0, 100) < 15) { pm.DoDamage(actor, 40, FloatingNumberMessage.FloatType.White); } else { pm.DoDamage(actor, 40, FloatingNumberMessage.FloatType.WhiteCritical); } } pm.SendDWordTick(pp.User.InGameClient); } //Regenerate ressource pm.userRessource(pp.User, 20); //Flush all player buffer pm.flushAll(pp.User); }
public void Initialize() { powerManager = new PowerManager(); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager pm) { //Add start effect pm.fx.PlayEffectGroupActorToActor(18664, pp.User, pp.User); //Add crit //pp.User.setAttribute(GameAttribute.Crit_Percent_Cap, new GameAttributeValue(pp.User.Attributes.GetAttributeValue(GameAttribute.Crit_Percent_Cap, null).Value + 4)); //Add dmg //pp.User.setAttribute(GameAttribute.Crit_Percent_Cap, new GameAttributeValue(pp.User.Attributes.GetAttributeValue(GameAttribute.Crit_Percent_Cap, null).Value + 4)); //Regenerate ressource pm.userRessource(pp.User, 20); //Flush all player buffer pm.flushAll(pp.User); yield break; }
public override void OnCreate() { base.OnCreate(); this.disposable = new CompositeDisposable(); this.wakeLock = PowerManager.FromContext(this).NewWakeLock(WakeLockFlags.Partial, "espera-wake-lock"); this.wifiLock = WifiManager.FromContext(this).CreateWifiLock(WifiMode.Full, "espera-wifi-lock"); NetworkMessenger.Instance.WhenAnyValue(x => x.IsConnected).Where(x => x) .Subscribe(x => this.NotifyNetworkMessengerConnected()) .DisposeWith(this.disposable); NetworkMessenger.Instance.Disconnected.Subscribe(x => this.NotifyNetworkMessengerDisconnected()) .DisposeWith(this.disposable); var userSettings = Locator.Current.GetService <UserSettings>(); NetworkMessenger.Instance.WhenAnyValue(x => x.IsConnected).SampleAndCombineLatest(userSettings .WhenAnyValue(x => x.Port).DistinctUntilChanged(), (connected, _) => connected) .Where(x => x) .Subscribe(x => NetworkMessenger.Instance.Disconnect()) .DisposeWith(this.disposable); AndroidVolumeRequests.Instance.VolumeDown.CombineLatest(NetworkMessenger.Instance.WhenAnyValue(x => x.IsConnected), NetworkMessenger.Instance.WhenAnyValue(x => x.AccessPermission), (_, connected, permission) => connected && permission == NetworkAccessPermission.Admin) .Where(x => x) .SelectMany(_ => NetworkMessenger.Instance.GetVolume().ToObservable().SwallowNetworkExceptions()) .Where(currentVolume => currentVolume > 0) .Select(currentVolume => Math.Max(currentVolume - 0.1f, 0)) .Select(volume => NetworkMessenger.Instance.SetVolume(volume).ToObservable().SwallowNetworkExceptions()) .Concat() .Subscribe() .DisposeWith(this.disposable); AndroidVolumeRequests.Instance.VolumeUp.CombineLatest(NetworkMessenger.Instance.WhenAnyValue(x => x.IsConnected), NetworkMessenger.Instance.WhenAnyValue(x => x.AccessPermission), (_, connected, permission) => connected && permission == NetworkAccessPermission.Admin) .Where(x => x) .SelectMany(_ => NetworkMessenger.Instance.GetVolume().ToObservable().SwallowNetworkExceptions()) .Where(currentVolume => currentVolume < 1) .Select(currentVolume => Math.Min(currentVolume + 0.1f, 1)) .Select(volume => NetworkMessenger.Instance.SetVolume(volume).ToObservable().SwallowNetworkExceptions()) .Concat() .Subscribe() .DisposeWith(this.disposable); var androidSettings = Locator.Current.GetService <AndroidSettings>(); NetworkMessenger.Instance.WhenAnyValue(x => x.IsConnected).CombineLatest(androidSettings.WhenAnyValue(x => x.SaveEnergy), (connected, saveEnergy) => { if (connected && !saveEnergy) { this.wakeLock.Acquire(); this.wifiLock.Acquire(); } else if (!connected) { this.ReleaseWakeLocks(); } return(Unit.Default); }) .Subscribe() .DisposeWith(this.disposable); }
public void SleepTest() { PowerManager.Sleep(); }
public InfiltrateForPowerOutage(Actor self, InfiltrateForPowerOutageInfo info) { this.info = info; playerPower = self.Owner.PlayerActor.Trait <PowerManager>(); }
public void RemoveHibernationFileTest() { PowerManager.RemoveHibernationFile(); }
void INotifyOwnerChanged.OnOwnerChanged(Actor self, Player oldOwner, Player newOwner) { playerPower = self.Owner.PlayerActor.Trait <PowerManager>(); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { // TODO: make buffs disappear so skill can be implemented //if (pp.Message.Field5 == 0) // fx.PlayEffectGroupActorToActor(73953, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); //else if (pp.Message.Field5 == 1) // fx.PlayEffectGroupActorToActor(73953, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); //else if (pp.Message.Field5 == 2) // fx.PlayEffectGroupActorToActor(73953, pp.User, fx.SpawnTempProxy(pp.User, pp.TargetPosition)); yield break; }
void Start() { // Get Objects scoreManager = GameObject.FindObjectOfType <ScoreManager>(); powerManager = GameObject.FindObjectOfType <PowerManager>(); }
public PowerBarWidget(World world) { pm = world.LocalPlayer.PlayerActor.Trait<PowerManager>(); tooltipContainer = Lazy.New(() => Widget.RootWidget.GetWidget<TooltipContainerWidget>(TooltipContainer)); }
public BlankScreen(LayoutSettings layoutSettings, PowerManager powerManager) { _powerManager = powerManager; BackgroundForm = new BackgroundForm(layoutSettings); }
static Color GetPowerColor(PowerManager pm) { if (pm.PowerState == PowerState.Critical) return Color.Red; if (pm.PowerState == PowerState.Low) return Color.Orange; return Color.LimeGreen; }
public void GetSystemBatteryStateTest() { var res = PowerManager.GetSystemBatteryState(); res.DumpFields(); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /*fx.RegisterChannelingPower(pp.User); // TODO: hit effects Effect pid = fx.GetChanneledProxy(pp.User, 0, pp.TargetPosition); if (! pp.UserIsChanneling) { fx.PlayRopeEffectActorToActor(30888, pp.User, pid); } // TODO: beam damage //DoDamage(user, target, 12, 0);*/ yield break; }
public void PowerManagementRegistration(Window window, ISystemState systemState) { SystemState = systemState; PowerManager.RegisterMonitorStatusChange(window); HwndSource.FromHwnd(new WindowInteropHelper(window).Handle).AddHook(WndProc); }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { /* fx.RegisterChannelingPower(pp.User, 200); if (!pp.UserIsChanneling) { Actor targetProxy = fx.GetChanneledProxy(pp.User, 0, pp.TargetPosition); Actor userProxy = fx.GetChanneledProxy(pp.User, 1, pp.User.Position); fx.ActorLookAt(userProxy, pp.TargetPosition); fx.PlayEffectGroupActorToActor(97385, userProxy, userProxy); fx.PlayEffectGroupActorToActor(134442, userProxy, targetProxy); } if (!pp.ThrottledCast) { yield return 800; // update proxy target location laggy if (fx.ChannelingCanceled(pp.User)) fx.GetChanneledProxy(pp.User, 0, pp.TargetPosition); fx.SpawnEffect(pp.User, 97821, pp.TargetPosition); fx.DoDamage(pp.User, fx.FindActorsInRadius(pp.TargetPosition, 6f), 20, 0); }*/ yield break; }
public void HibernateTest() { PowerManager.Hibernate(); }
public PowerBarWidget(World world) { pm = world.LocalPlayer.PlayerActor.Trait <PowerManager>(); tooltipContainer = Lazy.New(() => Ui.Root.GetWidget <TooltipContainerWidget>(TooltipContainer)); }
public void Redraw() { if (Player.SelectedUnit != null && Player.SelectedUnit is Tower) { Tower tower = (Tower)Player.SelectedUnit; PowerManager power = tower._powerManager; // Needs history data still. // Currently, it still will call IO even if it doesn't need to, with the value being unchanged. Hence wasted effort. // first, check how expensive set and get are // Then experiment to see how expensive it is to just store last tick's data, to compare with. { // Highlight the buttons corresponding to which ability is active. bool shortSelected = (InputManager.Active.MouseState == InputManager.MOUSE_STATE.ADD_SHORT_LINK); bool longSelected = (InputManager.Active.MouseState == InputManager.MOUSE_STATE.ADD_LONG_LINK); bool removeSelected = (InputManager.Active.MouseState == InputManager.MOUSE_STATE.REMOVE_LINK); if (shortSelected || longSelected || removeSelected) { if (shortSelected) { TextShortLink.color = COLOR_SELECTED; } else { TextShortLink.color = COLOR_NOT_SELECTED; } if (longSelected) { TextLongLink.color = COLOR_SELECTED; } else { TextLongLink.color = COLOR_NOT_SELECTED; } if (removeSelected) { TextRemoveLink.color = COLOR_SELECTED; } else { TextRemoveLink.color = COLOR_NOT_SELECTED; } } else { TextShortLink.color = COLOR_NORMAL; TextLongLink.color = COLOR_NORMAL; TextRemoveLink.color = COLOR_NORMAL; } } if (tower._prototype._upgradesTo != null) { int price = tower._prototype._upgradesTo._price - tower._prototype._price; TextUpgrade.text = "Upgrade (" + price + ") (Q)"; if (Player.Active._gold >= price) { TextUpgrade.color = COLOR_NORMAL; } else { TextUpgrade.color = COLOR_NOT_SELECTED; } } else { TextUpgrade.text = "----"; } TextSell.text = "Sell (" + tower._prototype._price + ") (W)"; TextSell.color = COLOR_NORMAL; if (true) // Is not consumer. { TextShortLink.text = "Short Link (A)"; } if (true) // Is Transfer Tower. { TextLongLink.text = "Long Link (S)"; } if (true) // Is not Consumer { TextRemoveLink.text = "Remove Link (D)"; } } else { TextUpgrade.color = COLOR_NOT_SELECTED; TextSell.color = COLOR_NOT_SELECTED; TextShortLink.color = COLOR_NOT_SELECTED; TextLongLink.color = COLOR_NOT_SELECTED; TextRemoveLink.color = COLOR_NOT_SELECTED; TextUpgrade.text = "----"; TextSell.text = "----"; TextShortLink.text = "----"; TextLongLink.text = "----"; TextRemoveLink.text = "----"; } }
public override IEnumerable<int> Run(PowerParameters pp, PowerManager fx) { // HACK: made up demonic meteor spell, not real hydra /*fx.SpawnEffect(pp.User, 185366, pp.TargetPosition); yield return 400; IList<Actor> hits = fx.FindActorsInRadius(pp.TargetPosition, 10f); fx.DoDamage(pp.User, hits, 100f, 0);*/ yield break; }
protected override void Created(Actor self) { playerPower = self.Owner.PlayerActor.TraitOrDefault <PowerManager>(); }
// Use this for initialization void Start() { player = GetComponent<Player>(); m_power = GetComponent<PowerManager>(); m_tiles = GameObject.FindGameObjectWithTag("GameController").GetComponent<TileManager>(); m_units = GameObject.FindGameObjectWithTag("GameController").GetComponent<UnitManager>(); m_hud = GameObject.FindGameObjectWithTag("GameController").GetComponent<HUDManager>(); tilesInPower = new List<Tile>(); unitsInPower = new List<Unit>(); }
private void StartForeground() { Notification notification = null; NotificationCompat.Builder notificationBuilder = null; Intent intentNotif = new Intent(this, typeof(MainActivity)); intentNotif.SetFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop); PendingIntent pendingIntent = PendingIntent.GetActivity(this, 0, intentNotif, 0); int sdk = (int)Android.OS.Build.VERSION.SdkInt; if (sdk >= 26) { NotificationChannel chan1 = new NotificationChannel( "dkpositiontracking", "service", NotificationImportance.Default); chan1.LightColor = Color.Transparent; chan1.LockscreenVisibility = NotificationVisibility.Secret; chan1.Importance = NotificationImportance.Low; var notificationManager = NotificationManager.FromContext(Application.Context); notificationManager.CreateNotificationChannel(chan1); notificationBuilder = new NotificationCompat.Builder(Application.Context, "dkpositiontracking"); } else { notificationBuilder = new NotificationCompat.Builder(Application.Context); } notificationBuilder.SetSmallIcon(Resource.Drawable.ic_stat_onesignal_default) .SetContentTitle(Constants.APPTITLE) .SetContentText("GPS Location tracking is active.") .SetContentIntent(pendingIntent); if ((int)Android.OS.Build.VERSION.SdkInt >= 19) { notificationBuilder.SetLargeIcon(BitmapFactory.DecodeResource(Application.Context.Resources, Resource.Drawable.ic_notification)); } notificationBuilder.SetPriority(NotificationCompat.PriorityDefault); if ((int)Android.OS.Build.VERSION.SdkInt >= 16) { notification = notificationBuilder.Build(); } else { notification = notificationBuilder.Notification; } StartForeground(NotificationId, notification); PowerManager pm = (PowerManager)GetSystemService(Context.PowerService); wl = pm.NewWakeLock(WakeLockFlags.Partial, "PositionTrackingLock"); wl.Acquire(); }
public PowerBarWidget( [ObjectCreator.Param] World world ) { pm = world.LocalPlayer.PlayerActor.Trait<PowerManager>(); tooltipContainer = new Lazy<TooltipContainerWidget>(() => Widget.RootWidget.GetWidget<TooltipContainerWidget>(TooltipContainer)); }
public PlayerPowerProperties(ScriptContext context, Player player) : base(context, player) { pm = player.PlayerActor.Trait <PowerManager>(); }
void Awake(){ _instance = this; }
public override RunStatus Tick(object context) { if (!Hotbar.HasPower(Power)) { return(RunStatus.Failure); } if (ContextChangeHandler != null && context == null) { CombatTargeting.Instance.Pulse(); context = ContextChangeHandler(null); } if (context == null) { return(RunStatus.Failure); } bool minReqs = ExtraCondition == null || ExtraCondition(context); if (!minReqs) { return(RunStatus.Failure); } if (!_isSpamming) { using (new PerformanceLogger(BelphegorSettings.Instance.Debug.IsDebugCanCastLogging, "CanCast")) { bool canCast = PowerManager.CanCast(Power); if (!canCast) { return(RunStatus.Failure); } } } Vector3 clickPosition = PositionRetriever != null?PositionRetriever(context) : Vector3.Zero; int worldId = DynamicWorldIdRetriever != null?DynamicWorldIdRetriever(context) : 0; int acdGuid = TargetGuidRetriever != null?TargetGuidRetriever(context) : -1; bool keepSpamming = KeepSpamming != null && KeepSpamming(context); bool castSucceeded = ZetaDia.Me.UsePower(Power, clickPosition, worldId, acdGuid); if (!castSucceeded) { return(RunStatus.Failure); } if (BelphegorSettings.Instance.Debug.IsDebugCastLoggingActive && !keepSpamming) { CastLogSw.Stop(); string castOn = acdGuid == -1 ? "at location " + clickPosition : "on Unit " + acdGuid.ToString(CultureInfo.InvariantCulture); Log.InfoFormat("Using Power: {0} {1}, delay from last cast is {2}ms", Power.ToString(), castOn, CastLogSw.ElapsedMilliseconds); CastLogSw.Restart(); } if (!_isSpamming && SucceedRunner != null) { SucceedRunner(context); } if (keepSpamming) { _isSpamming = true; if (BelphegorSettings.Instance.Debug.IsDebugCastLoggingActive) { CastLogSw.Stop(); string castOn = acdGuid == -1 ? "at location " + clickPosition : "on Unit " + acdGuid.ToString(CultureInfo.InvariantCulture); Log.InfoFormat("Using Power: Is Spamming {0} {1}, delay from last cast is {2}ms", Power.ToString(), castOn, CastLogSw.ElapsedMilliseconds); CastLogSw.Restart(); } return(RunStatus.Running); } _isSpamming = false; return(RunStatus.Success); }