public override void Use(Character character) { Collider2D[] collisions = AttackType.GetColliders(character); foreach (Collider2D collision in collisions) { if (collision == character.Body.Collider) { continue; } Strikeable strikeable = collision.gameObject.GetComponent <Strikeable>(); if (strikeable) { StrikeData strike = new StrikeData( DamageType.Name, Damage, character.Entity, Time.time ); strikeable.Strike(strike); } } }
void SetStrikeData(Whose whose, Boat boat, StrikeResult result) { StrikeData newStrikeData = new StrikeData(whose, boat, result); this.strikeData = newStrikeData; UpdateText(); SceneMaster.instance.Async(delegate { if (this.strikeData == newStrikeData) { this.strikeData = null; UpdateText(); } }, GetTimeout(result)); }
internal void LigtningStrikeEvt(string json) { JavaScriptSerializer serializer = new JavaScriptSerializer(); try { // evt[0] = timestamp // evt[1] = distance (km) // evt[2] = energy StrikeObj = serializer.Deserialize <StrikeData>(json); WeatherFlowNS.NS.RaiseLightningEvent(this, new LightningEventArgs(StrikeObj)); } catch (Exception ex) { WFLogging.Error("Failed to deserialize strike event: " + ex.Message); } }
void OnEnable() { strikeData = null; whoseTurn = Whose.Nobody; firing = false; loser = Whose.Nobody; reticleAimingAtGrid = false; fireCount = 0; Game.instance.OnGameStateChange += UpdateGameState; BattleController.instance.OnBattleState += UpdateBattleState; BattleController.instance.OnReticleAim += UpdateAimAtGrid; BattleController.instance.OnStrikeOccurred += UpdateStrikeOccurred; UpdateText(); }