public void MoveInventory(ResourceInventory OldInv, ResourceInventory NewInv) { ResourceData_Internal ResourceData = Data[OldInv]; RemoveInstance(OldInv); RegisterInstance_internal(OldInv, ResourceData); }
//register a new delegate to call when a resource is subtracted public void RegisterOnRemoveDelegate(ResourceInventory owner, ResourceModule.ResourceEventDelta newDelegate) { Debug.Assert(Data.ContainsKey(owner)); Data[owner] = new ResourceData_Internal(Data[owner].Min, Data[owner].Value, Data[owner].Max, Data[owner].OnAddResource, Data[owner].OnRemoveResource + newDelegate); }
private void RegisterInstance_internal(ResourceInventory owner, ResourceData_Internal RSData) { Data.Add(owner, RSData); }
//Set the current amount of resource in an inventory public void SetInstanceValue(ResourceInventory owner, float value) { Data[owner] = new ResourceData_Internal(Data[owner].Min, value, Data[owner].Max, Data[owner].OnAddResource, Data[owner].OnRemoveResource); }