DIFF

class ReplaceItemWithNewLambdaBaseSource

base class for transformation operations (creating one item from another)

Constructors 1

void ReplaceItemWithNewLambdaBase(EntityAI old_item, string new_item_type)
References m_NewItemType, and m_OldItem

Members 6

protected bool m_RemoveFromLocationPassed = false
private bool m_RemoveNetworkObjectInfoPassed = false

Methods 17

void VerifyItemTypeBySlotType()
Referenced by CreateNewEntity()
protected bool WantCreateNewEntity()
Referenced by CreateNewEntity(), and Execute()
protected bool CanExecuteLambda()
Referenced by Execute()
protected void RemoveOldItemFromLocation()

Step B. - free location for new item @NOTE this operation does not delete the object, only removes it from inventory location

protected void UndoRemoveOldItemFromLocation()
Referenced by Execute()
protected void RemoveNetworkObjectInfo()

Step C. - remove network part of the object @NOTE this operation does not delete the object, only removes its network part (and deletes it on client)

protected void UndoRemoveNetworkObjectInfo()
protected void DeleteOldEntity()

Step F. - deletes physically old item

Referenced by Execute()
protected void CreateNetworkObjectInfo(EntityAI new_item)

Step G. - create NetworkObjectInfo for new item

@NOTE: new_item can be null if the lambda did not create any item (intentionaly)

protected void OnSuccess(EntityAI new_item)

Step H. - notification on finish

@NOTE: new_item can be null if the lambda did not create any item (intentionaly)

protected void OnAbort()

Step Out - notification on abort

@NOTE: new_item can be null if the lambda did not create any item (intentionaly)

References Print()