public void CancelRemove()
    {
        this.RemoveComponent(this.m_RemoveComponent);
        this.m_RemoveComponent        = null;
        this.m_Data.BuilderBuildingNO = null;
        this.m_Data.RemainingWorkload = null;
        CancelRemoveRequestParameter request = new CancelRemoveRequestParameter();

        request.RemovableObjectNo = this.m_Data.RemovableObjectNo;
        CommunicationUtility.Instance.CancelRemoveObject(request);
    }
    private void ObjectRemoveTimeUp(float remainingSeconds)
    {
        if (this.RemoveTimeUp != null)
        {
            this.RemoveTimeUp(this.m_Data.RemovableObjectNo);
        }
        this.m_RemoveComponent        = null;
        this.m_Data.BuilderBuildingNO = null;
        RemoveTimeUpRequestParameter request = new RemoveTimeUpRequestParameter();

        request.RemovableObjectNo = this.m_Data.RemovableObjectNo;
        request.OperateTick       = LogicTimer.Instance.GetServerTick(remainingSeconds);
        CommunicationUtility.Instance.TimeUpRemoveOject(request);
    }
 private void AddRemoveComponent()
 {
     this.m_RemoveComponent = new RemoveLogicComponent(this.m_Data);
     this.AddComponent(this.m_RemoveComponent);
     this.m_RemoveComponent.RemoveFinish += ObjectRemoveTimeUp;
 }