public PartySilverGainedEvent(Dictionary <byte, object> parameters) : base(parameters) { try { Debug.Print($"--- PartySilverGained (Event) ---"); foreach (var parameter in parameters) { Debug.Print($"{parameter}"); } if (parameters.ContainsKey(0)) { TimeStamp = new GameTimeStamp(parameters[0].ObjectToLong() ?? 0); } if (parameters.ContainsKey(1)) { TargetEntityId = parameters[1].ObjectToLong(); } if (parameters.ContainsKey(2)) { SilverNet = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); } if (parameters.ContainsKey(3)) { SilverPreTax = FixPoint.FromInternalValue(parameters[3].ObjectToLong() ?? 0); } } catch (Exception e) { Debug.Print(e.Message); } }
/* * private Dictionary<DayTime, Color> dayTimeColors = new Dictionary<DayTime, Color>{ * {DayTime.MIDNIGHT, BLACK}, * {DayTime.MORNING, WHITE}, * {DayTime.AFTERNOON, WHITE}, * {DayTime.NIGHT, BLACK} * }; */ public static void updateDayTime(Image overlayPanel, GameTimeStamp gTimeStamp) { switch (gTimeStamp.hours) { case int h when(h >= 0 && h <= 5): // MIDNIGHT break; case int h when(h == 6): // SUNRISE break; case int h when(h >= 7 && h <= 17): // DAY break; case int h when(h == 18): // SUNSET break; case int h when(h >= 19 && h <= 23): // NIGHT default: // SOMETHING WENT WRONG break; } }
public HealthUpdateEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { if (parameters.ContainsKey(0)) { ObjectId = parameters[0].ObjectToLong() ?? throw new ArgumentNullException(); } if (parameters.ContainsKey(1)) { TimeStamp = new GameTimeStamp(parameters[1].ObjectToLong() ?? 0); } if (parameters.ContainsKey(2)) { HealthChange = parameters[2].ObjectToDouble(); } if (parameters.ContainsKey(3)) { NewHealthValue = parameters[3].ObjectToDouble(); } if (parameters.ContainsKey(4)) { EffectType = (EffectType)(parameters[4] as byte? ?? 0); } if (parameters.ContainsKey(5)) { EffectOrigin = (EffectOrigin)(parameters[5] as byte? ?? 0); } if (parameters.ContainsKey(6)) { CauserId = parameters[6].ObjectToLong() ?? throw new ArgumentNullException(); } if (parameters.ContainsKey(7)) { CausingSpellType = parameters[7].ObjectToShort(); } } catch (ArgumentNullException ex) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, ex); Log.Error(MethodBase.GetCurrentMethod().DeclaringType, ex); } catch (Exception e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); Log.Error(MethodBase.GetCurrentMethod().DeclaringType, e); } }
void updateGameMinutes(int gameMinutes) { gameMinutesElapsed += gameMinutes; // foreach(Flower f in flowers){ // f.updateGameMinutes(gameMinutes); // } GameTimeStamp gTimeStamp = ClockTextController.gameMinutesElapsedToGameTimeStamp(gameMinutesElapsed); ClockTextController.updateClockText(clockText, gTimeStamp); DayTimeController.updateDayTime(overlayPanel, gTimeStamp); }
public static void updateClockText(TextMeshProUGUI clockText, GameTimeStamp gTimeStamp) { int hours = gTimeStamp.hours; string amPm = ""; if (twelveHourClock) { amPm = gTimeStamp.hours < 12 ? "AM" : "PM"; hours %= 12; hours = hours == 0 ? 12 : hours; } clockText.text = $"{gTimeStamp.weekDay}, {hours}:{gTimeStamp.minutes:D2} {amPm}"; }
public void SendHealthUpdate(long objectId, GameTimeStamp timeStamp, float healthChange, float newHealthValue, EffectType effectType, EffectOrigin effectOrigin, long causerId, int causingSpellType) { Broadcast(new WsCombatEvent { objectId = objectId, timeStamp = timeStamp.Ticks, healthChange = healthChange, newHealthValue = newHealthValue, effectType = effectType, effectOrigin = effectOrigin, causerId = causerId, causingSpell = _gameData.SpellData.GetByType(causingSpellType)?.Name }); }
public static GameTimeStamp gameMinutesElapsedToGameTimeStamp(int gameMinutesElapsed) { int gameMins = gameMinutesElapsed; GameTimeStamp gts = new GameTimeStamp(); while (gameMins >= DAY_DURATION) { gameMins -= DAY_DURATION; gts.weekDay = gts.weekDay.Next(); } while (gameMins >= HOUR_DURATION) { gameMins -= HOUR_DURATION; gts.hours++; } gts.minutes = gameMins; return(gts); }
public void HealthUpdate( long objectId, GameTimeStamp TimeStamp, double HealthChange, double NewHealthValue, EffectType EffectType, EffectOrigin EffectOrigin, long CauserId, int CausingSpellType ) { OnHealthUpdate?.Invoke( objectId, TimeStamp, HealthChange, NewHealthValue, EffectType, EffectOrigin, CauserId, CausingSpellType ); }
public void HealthUpdate( long objectId, GameTimeStamp packageTimeStamp, float packageHealthChange, float packageNewHealthValue, EffectType packageEffectType, EffectOrigin packageEffectOrigin, long packageCauserId, int packageCausingSpellType ) { OnHealthUpdate?.Invoke( objectId, packageTimeStamp, packageHealthChange, packageNewHealthValue, packageEffectType, packageEffectOrigin, packageCauserId, packageCausingSpellType ); }
public PartySilverGainedEvent(Dictionary <byte, object> parameters) : base(parameters) { ConsoleManager.WriteLineForNetworkHandler(GetType().Name, parameters); try { foreach (var parameter in parameters) { Debug.Print($"{parameter}"); } if (parameters.ContainsKey(0)) { TimeStamp = new GameTimeStamp(parameters[0].ObjectToLong() ?? 0); } if (parameters.ContainsKey(1)) { TargetEntityId = parameters[1].ObjectToLong(); } if (parameters.ContainsKey(2)) { SilverNet = FixPoint.FromInternalValue(parameters[2].ObjectToLong() ?? 0); } if (parameters.ContainsKey(3)) { SilverPreTax = FixPoint.FromInternalValue(parameters[3].ObjectToLong() ?? 0); } } catch (Exception e) { ConsoleManager.WriteLineForError(MethodBase.GetCurrentMethod().DeclaringType, e); } }
public void DamageMeterUpdate(long objectId, GameTimeStamp timeStamp, double healthChange, double newHealthValue, EffectType effectType, EffectOrigin effectOrigin, long causerId, int causingSpellType) { CombatController.AddDamageAsync(causerId, healthChange); }
public float GetCooldownPercent(GameTimeStamp A_0) => _internal.j((GameTimeStamp)A_0);
private bool TryToCastSpell(SpellTarget target, SpellCategory category, bool checkCastState) { try { //if (checkCastState && _localPlayerCharacterView.IsCasting()) // return true; if (checkCastState && _localPlayerCharacterView.IsCasting()) { return(false); } var spells = _combatSpells.Target(target).Category(category); // Core.Log($"{_localPlayerCharacterView.IsCasting()}"); SpellSlot spellToCast; if (spells.Count() > 1) { Random random = new Random(DateTime.Now.Millisecond); spellToCast = spells.ElementAt(random.Next(0, spells.Count())); } else { //var spellToCast = spells.Any() ? spells.First() : null; spellToCast = spells.Any() ? spells.First() : null; } if (spellToCast == null) { return(false); } var spellName = "Unknown"; try { spellName = spellToCast.GetSpellDescriptor().TryGetName(); Core.Log($"[Casting {spellName}]"); var spellSlot = spellToCast.Slot; castStart1 = _localPlayerCharacterView.GetCastStartTime(); castStart2 = _localPlayerCharacterView.GetChannelingStartTimeStamp(); castEnd = _localPlayerCharacterView.GetCastEndTime(); castEnd2 = _localPlayerCharacterView.GetCastFinishedEndTimeStamp(); switch (target) { case (SpellTarget.Self): _localPlayerCharacterView.CastOnSelf(spellSlot); break; case (SpellTarget.Enemy): _localPlayerCharacterView.CastOn(spellSlot, _combatTarget); break; case (SpellTarget.Ground): _localPlayerCharacterView.CastAt(spellSlot, _combatTarget.GetPosition()); break; default: Core.Log($"[SpellTarget {target} is not supported. Spell skipped]"); return(false); } _combatCooldown = 0.1f; return(true); } catch (Exception e) { Core.Log($"[Error while casting {spellName} ({target}/{category}/{checkCastState})]"); Core.Log(e); return(false); } } catch (Exception e) { Core.Log($"[Generic casting error ({target}/{category}/{checkCastState})]"); Core.Log(e); return(false); } }
public HealthUpdateEvent(Dictionary <byte, object> parameters) : base(parameters) { try { //Debug.Print($"----- HealthUpdate (Event) -----"); //foreach (var parameter in parameters) //{ // Debug.Print($"{parameter}"); //} if (parameters.ContainsKey(0)) { ObjectId = parameters[0].ObjectToLong(); } if (parameters.ContainsKey(1)) { TimeStamp = new GameTimeStamp(parameters[1].ObjectToLong() ?? 0); } if (parameters.ContainsKey(2)) { HealthChange = parameters[2].ObjectToDouble(); } if (parameters.ContainsKey(3)) { NewHealthValue = parameters[3].ObjectToDouble(); } if (parameters.ContainsKey(4)) { EffectType = (EffectType)(parameters[4] as byte? ?? 0); } if (parameters.ContainsKey(5)) { EffectOrigin = (EffectOrigin)(parameters[5] as byte? ?? 0); } if (parameters.ContainsKey(6)) { CauserId = parameters[6].ObjectToLong(); } if (parameters.ContainsKey(7)) { CausingSpellType = parameters[7].ObjectToShort(); } //Debug.Print($"---------------------------"); //Debug.Print($"ObjectId: {ObjectId}"); //Debug.Print($"TimeStamp: {TimeStamp}"); //Debug.Print($"HealthChange: {HealthChange}"); //Debug.Print($"NewHealthValue: {NewHealthValue}"); //Debug.Print($"EffectType: {EffectType}"); //Debug.Print($"EffectOrigin: {EffectOrigin}"); //Debug.Print($"CauserId: {CauserId}"); //Debug.Print($"CausingSpellType: {CausingSpellType}"); } catch (Exception e) { Log.Error(nameof(UpdateMoneyEvent), e); } }