示例#1
0
        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;
        }