public void Finished() { LogicClientAvatar playerAvatar = this.m_level.GetPlayerAvatar(); if (!playerAvatar.IsMissionCompleted(this.m_data)) { playerAvatar.SetMissionCompleted(this.m_data, true); playerAvatar.GetChangeListener().CommodityCountChanged(0, this.m_data, 1); this.AddRewardUnits(); LogicResourceData rewardResourceData = this.m_data.GetRewardResourceData(); if (rewardResourceData != null) { playerAvatar.AddMissionResourceReward(rewardResourceData, this.m_data.GetRewardResourceCount()); } int rewardXp = this.m_data.GetRewardXp(); if (rewardXp > 0) { playerAvatar.XpGainHelper(rewardXp); } } this.m_finished = true; }