示例#1
0
 public bool TryGetData(MyStringHash state, MyInventoryItemDefinition itemDef, out Data res)
 {
     if (_lootTableByItem.TryGetValue(new DefinitionKey(state, itemDef.Id), out res))
     {
         return(true);
     }
     foreach (var tag in itemDef.Tags)
     {
         if (_lootTableByTag.TryGetValue(new TagKey(state, tag), out res))
         {
             return(true);
         }
     }
     return(false);
 }
示例#2
0
 public bool TryHarvest(MyInventoryItemDefinition item, out EquiHarvestableComponentDefinition.Data info)
 {
     return(Definition.TryGetData(_stateComponent.CurrentState, item, out info) &&
            (info.DestinationState == MyStringHash.NullOrEmpty || _stateComponent.TransitionTo(info.DestinationState)));
 }
示例#3
0
 public bool CanHarvest(MyInventoryItemDefinition item, out EquiHarvestableComponentDefinition.Data info)
 {
     return(Definition.TryGetData(_stateComponent.CurrentState, item, out info));
 }