示例#1
0
        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));
    }
示例#3
0
        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();
    }