Exemple #1
0
    public bool Release(ResourceComponent res, out MarketRow row)
    {
        ResourceRow <Market> fromParent = null;
        bool released = _Release(res, out fromParent);

        row = fromParent as MarketRow;
        return(released);
    }
Exemple #2
0
        public bool Release(ResourceComponent res, out WarehouseRow row)
        {
            ResourceRow <Warehouse> fromParent = null;
            bool released = _Release(res, out fromParent);

            row = fromParent as WarehouseRow;
            return(released);
        }
            public ResourceRow AddResourceRow(string File, string Key, string DefaultValue, string Value)
            {
                ResourceRow rowResourceRow = ((ResourceRow)(this.NewRow()));

                object[] columnValuesArray = new object[] {
                    File,
                    Key,
                    DefaultValue,
                    Value
                };
                rowResourceRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowResourceRow);
                return(rowResourceRow);
            }
Exemple #4
0
    protected bool _Release(ResourceComponent res, out ResourceRow <T> row)
    {
        row = this;

        if (IndexMap.ContainsKey(res))
        {
            int index = IndexMap[res];
            IndexMap.Remove(res);
            parent.RemoveFromGlobalList(res);
            stack[index] = null;
            return(true);
        }
        else
        {
            return(false);
        }
    }
Exemple #5
0
        private void CreateResourceMap()
        {
            foreach (var p in this._package)
            {
                foreach (var t in p.TypeTable)
                {
                    Dictionary <Int32, ArscApi.Res_value> refKeys1 = new Dictionary <Int32, ArscApi.Res_value>();
                    foreach (var simple in t.Simple)
                    {
                        ResourceRow row = null;
                        switch (simple.Value.Value.dataType)
                        {
                        case ArscApi.DATA_TYPE.STRING:
                            row = new ResourceRow(simple.Value.Value, this._valueStringPool.Strings[simple.Value.Value.data]);
                            break;

                        case ArscApi.DATA_TYPE.REFERENCE:
                            refKeys1.Add(simple.Key, simple.Value.Value);
                            break;

                        default:
                            row = new ResourceRow(simple.Value.Value, null);
                            break;
                        }

                        if (row != null)
                        {
                            this.AddToMap(simple.Key, row);
                        }
                    }

                    List <ResourceRow> values;
                    foreach (var refResource in refKeys1)
                    {
                        if (this._resourceMap.TryGetValue(refResource.Value.data, out values))
                        {
                            this.AddToMap(refResource.Key, values.ToArray());
                        }
                    }
                }
            }
        }
Exemple #6
0
 /// Should listen to changes in Faction resources
 public override void OnRaise(Faction data)
 {
     if (data is PlayerFaction)
     {
         FactionResources resources = data.Resources;
         foreach (var(resource, quantity) in resources.GetResources())
         {
             /// Instantiates Resource Row if not already present
             /// Later, this could be used for refined resources
             /// so that they would not be displayed at the start of the game
             /// when the player is far from obtaining them
             if (!this.resourceRows.ContainsKey(resource))
             {
                 ResourceRow row = Instantiate(this.resourceRowPrefab) as ResourceRow;
                 row.transform.SetParent(this.resourceRowsParent, false);
                 this.resourceRows[resource] = row;
                 this.resourceRows[resource].UpdateResourceNameLabel(resource.Name);
             }
             this.resourceRows[resource].UpdateAmountLabel(quantity);
         }
     }
 }
 public ResourceRowChangeEvent(ResourceRow row, global::System.Data.DataRowAction action)
 {
     this.eventRow    = row;
     this.eventAction = action;
 }
 public void RemoveResourceRow(ResourceRow row)
 {
     this.Rows.Remove(row);
 }
 public void AddResourceRow(ResourceRow row)
 {
     this.Rows.Add(row);
 }
 public ResourceRowChangeEvent(ResourceRow row, global::System.Data.DataRowAction action) {
     this.eventRow = row;
     this.eventAction = action;
 }
 public void RemoveResourceRow(ResourceRow row) {
     this.Rows.Remove(row);
 }
 public void AddResourceRow(ResourceRow row) {
     this.Rows.Add(row);
 }