- using UnityEngine;
- using System.Collections;
- public class BarNPC: MonoBehaviour {
- public TweenPosition questTween;
- public bool isInTask = false;
- public int killCount = 0;
- public UILabel desLabel;
- public GameObject acceptBtn;
- public GameObject okBtn;
- public GameObject cancelBtn;
- private PlayerStatus status;
- // Use this for initialization
- void Start() {
- status = GameObject.FindGameObjectWithTag(Tags.player).GetComponent < PlayerStatus > ();
- }
- // Update is called once per frame
- void Update() {
- }
- void OnTriggerEnter(Collider isPlayer) {
- if (isPlayer.tag == Tags.player) {
- ShowQuest();
- if (isInTask) {
- ShowTaskProgress();
- } else {
- ShowTaskDes();
- }
- }
- }
- void ShowQuest() {
- questTween.gameObject.SetActive(true);
- questTween.PlayForward();
- }
- public void OnCloseButtonClick() {
- HideQuest();
- }
- void HideQuest() {
- questTween.PlayReverse();
- }
- public void OnAcceptButtonClick() {
- isInTask = true;
- ShowTaskProgress();
- }
- public void OnOkButtonClick() {
- if (killCount >= 10) {
- status.GetCoint(1000);
- killCount = 0;
- HideQuest();
- //任务完成
- isInTask = false;
- } else {
- //没有完成任务
- HideQuest();
- }
- }
- public void OnCancelButtonClick() {
- isInTask = false;
- HideQuest();
- }
- void ShowTaskDes() {
- desLabel.text = "任务:\n杀死10只小野狼\n\n奖励:\n1000金币";
- acceptBtn.SetActive(true);
- cancelBtn.SetActive(true);
- okBtn.SetActive(false);
- }
- void ShowTaskProgress() {
- desLabel.text = "任务:\n你已经杀死了" + killCount + "/10只小野狼\n\n奖励:\n1000金币";
- acceptBtn.SetActive(false);
- cancelBtn.SetActive(false);
- okBtn.SetActive(true);
- }
- }
来源: http://lib.csdn.net/snippet/unity3d/42247