您的位置:首页 > 产品设计 > UI/UE

RPG黑暗之光(4)添加第一个NPC、NGUI实现任务发布

2015-08-26 04:08 281 查看

RPG黑暗之光(4)添加第一个NPC、NGUI实现任务系统

1、添加第一个NPC

略。

2、NGUI实现任务系统





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);
    }
}


逻辑比较简单。

==================================================================================

结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: