コード例 #1
0
 private void Load(EntityCard.Data data, object obj, System.Type type)
 {
     if (dataParsers.ContainsKey(type))
     {
         dataParsers[type].Invoke(data, obj);
     }
 }
コード例 #2
0
 public void OnReceviedData(EntityCard.Data data)
 {
     if (data.CanCast <float>(TargetData))
     {
         HandleInput(data.GetData <float>(TargetData));
     }
 }
コード例 #3
0
    private void LoadObject(EntityCard.Data data, object obj)
    {
        System.Type objType = obj.GetType();

        PollType(objType);

        foreach (System.Type type in typesToLoad[objType])
        {
            Load(data, obj, type);
        }
    }
コード例 #4
0
    private void InitializeData(IEnumerable <Entity> selectedEntities)
    {
        EntityCard.Data data = new EntityCard.Data(selectedEntities);

        foreach (Entity entity in selectedEntities)
        {
            LoadObject(data, entity);
        }

        card.Initialize(data);
    }
コード例 #5
0
    private static void EntityParser(EntityCard.Data data, object obj)
    {
        Entity entity = obj as Entity;

        data.Name = (data.Name == entity.Name || !data.HasData(EntityCard.DataTypes.Name)) ? entity.Name : "Various";

        data.MinCurrentHealth = (data.MinCurrentHealth > entity.Health || !data.HasData(EntityCard.DataTypes.MinCurrentHealth)) ? (int)entity.Health : data.MinCurrentHealth;
        data.MaxCurrentHealth = (data.MaxCurrentHealth < entity.Health || !data.HasData(EntityCard.DataTypes.MaxCurrentHealth)) ? (int)entity.Health : data.MaxCurrentHealth;

        data.MinMaxHealth = (data.MinMaxHealth > entity.MaxHealth || !data.HasData(EntityCard.DataTypes.MinMaxHealth)) ? entity.MaxHealth : data.MinMaxHealth;
        data.MaxMaxHealth = (data.MaxMaxHealth < entity.MaxHealth || !data.HasData(EntityCard.DataTypes.MaxMaxHealth)) ? entity.MaxHealth : data.MaxMaxHealth;
    }
コード例 #6
0
    public void Initialize(EntityCard.Data data)
    {
        if (data.HasData(DataType))
        {
            Enable();

            InitializeData(data);
        }
        else if (_disableIfEmpty)
        {
            Disable();
        }

        if (OnReceviedData != null)
        {
            OnReceviedData.Invoke(data);
        }
    }
コード例 #7
0
    public void Initialize(EntityCard.Data data)
    {
        if (data.HasData(FirstValue) && data.HasData(SecondValue) && data.HasData(RelativeValue))
        {
            Enable();

            float firstValue  = data.GetData <int>(FirstValue);
            float secondValue = data.GetData <int>(SecondValue);
            float relative    = data.GetData <int>(RelativeValue);

            MinValue = Mathf.Min(firstValue, secondValue);
            MaxValue = Mathf.Max(firstValue, secondValue);

            _bottomSlider.fillAmount = MaxValue / relative;
            _topSlider.fillAmount    = MinValue / relative;

            if (_textElement != null)
            {
                if (MinValue == relative)
                {
                    _textElement.text = string.Format("{0}", relative);
                }
                else
                {
                    _textElement.text = string.Format("{0} / {1} / {2}", MinValue, MaxValue, relative);
                }
            }
        }
        else if (_disableIfEmpty)
        {
            Disable();
        }

        if (OnReceviedData != null)
        {
            OnReceviedData.Invoke(data);
        }
    }
コード例 #8
0
 protected abstract void InitializeData(EntityCard.Data data);
コード例 #9
0
 private static void ObjectParser(EntityCard.Data data, object obj)
 {
     data.EntityCount++;
 }
コード例 #10
0
 protected override void InitializeData(EntityCard.Data data)
 {
     textElement.text = string.Format(format, data.GetData <object>(DataType).ToString());
 }