示例#1
0
        private void OnStatChangeHandler(short eventtype, StatChangeData data)
        {
            switch (data.StatFlag)
            {
            case StatFlag.Hp:
                HpText.text =
                    data.Value.ToString("0.0");
                break;

            case StatFlag.Velocity:
                VelocityText.text = data.Value.ToString("0.0");
                break;

            case StatFlag.AttackSpeed:
                AttackSpeedText.text =
                    data.Value.ToString("0.0");
                break;

            case StatFlag.BulletCount:
                BulletCountText.text =
                    data.Value.ToString("0.0");
                break;

            case StatFlag.Damage:
                DamageText.text =
                    data.Value.ToString("0.0");
                break;
            }
        }
        public HPChangeCommand(StatChangeData statChangeData, Signals.GameSignals.DamageReceiveSignal damageReceiveSignal,
                               CommandProcessor commandProcessor,
                               IFactory <StatChangeData, DieCommand> dieCommandFactory)
        {         //takes in this unit
            _statChangeData      = statChangeData;
            _damageReceiveSignal = damageReceiveSignal;
            _unit = _statChangeData.receiver.GetUnitModel();
            _dieCommandFactory = dieCommandFactory;
            _commandProcessor  = commandProcessor;

//			Debug.Log (_unit);
        }
示例#3
0
        public void Display(StatChangeData changeData = null)
        {
            if (changeData == null)
            {
                // Display normally
                displayText.color = defaultColour;
                displayText.text  = string.Format(defaultFormat, RPGsys.RPGStats.GetStatName(stat), character.CharaStats[stat], character.BaseStat(stat));
            }
            else
            {
                // Display change

                float change = 0;
                changeData.changes.TryGetValue(stat, out change);

                // If this is HP or MP don't show it being increased above maximum value
                if (stat == RPGStats.Stats.Hp || stat == RPGStats.Stats.Mp)
                {
                    change = Mathf.Min(change, character.BaseStat(stat) - character.CharaStats[stat]);
                }

                if (change != 0)
                {
                    if (change > 0)
                    {
                        displayText.color = increaseColour;
                    }
                    else
                    {
                        displayText.color = decreaseColour;
                    }
                    displayText.text = string.Format(changedFormat, RPGsys.RPGStats.GetStatName(stat), character.CharaStats[stat], character.CharaStats[stat] + change, character.BaseStat(stat));
                }
                else
                {
                    displayText.color = unimportantColour;
                    displayText.text  = string.Format(defaultFormat, RPGsys.RPGStats.GetStatName(stat), character.CharaStats[stat], character.BaseStat(stat));
                }
            }
        }
示例#4
0
 public ResurrectCommand(StatChangeData statChangeData)
 {         //takes in this unit
     _statChangeData = statChangeData;
     _unit           = _statChangeData.receiver.GetUnitModel();
     Debug.Log(_unit);
 }
 public DieCommand(StatChangeData data, TickService tick)
 {
     _tick       = tick;
     _damageData = data;
 }
示例#6
0
 public StatChangeCommand(IStatChange iStatChange, StatChangeData statChangeData)
 {                                  //takes in this unit
     _statChangeData = statChangeData;
     _iStatChange    = iStatChange; //this is actually bringing in the instance of the wrapper buff, not the "class" iBuff.
 }