zoukankan      html  css  js  c++  java
  • 角色选择组件

    using UnityEngine;
    using System.Collections;
    /// <summary>
    /// 角色选择组件
    /// </summary>
    public class CharacterChoise : MonoBehaviour {
    	
    	public Occupation occupation;//职业信息
    	public Character character;//角色信息
    	public Transform perspective;//相机视角
    	public Transform look;//视点
    	Animator animator;//当前动画组件
    	
    	#region 高光组件
    	public HighlightableObject highLight;//高光组件
    	public Color highColor;//高光颜色
    	#endregion
    	
    	void Start() {
    		//获取移动点
    		perspective = GameObject.Find(occupation.ToString() + "_perspective").transform;
    		look = transform.Find("look");
    		
    		//初始化角色信息
    		if(character == null){
    			switch(occupation){
    				case Occupation.Assassin: character = new Assassin();initHighLight(Color.magenta); break;
    				case Occupation.Berserker: character = new Berserker();initHighLight(Color.blue); break;
    				case Occupation.Enchanter: character = new Enchanter();initHighLight(Color.yellow); break;
    				case Occupation.Paladin: character = new Paladin();initHighLight(Color.green); break;
    			}
    			character.initAtt();
    		}
    		animator = GetComponent<Animator>();
    	}
    	
    	/// <summary>
    	/// 摆姿势(选中)
    	/// </summary>
    	public void Pose(){
    		if(animator != null){
    			animator.SetBool("IsIdle",false);
    			animator.SetBool("IsPose",true);
    		}else{
    			animation.CrossFade("Attack");
    		}
    	}
    	
    	/// <summary>
    	/// 空闲(未选中)
    	/// </summary>
    	public void Idle(){
    		if(animator != null){
    			animator.SetBool("IsIdle",true);
    			animator.SetBool("IsPose",false);
    		}else{
    			animation.CrossFade("Idle");
    		}
    	}
    	
    	/// <summary>
    	/// 初始化高光组件
    	/// </summary>
    	void initHighLight(Color color){
    		highLight = gameObject.AddComponent<HighlightableObject>();
    		highColor = color;
    	}
    	
    	/// <summary>
    	/// 鼠标进入:高光
    	/// </summary>
    	void OnMouseEnter(){
    		highLight.ConstantOn(highColor);
    	}
    	
    	/// <summary>
    	/// 鼠标离开:无光
    	/// </summary>
    	void OnMouseExit(){
    		highLight.ConstantOff();
    	}
    }
    

      

  • 相关阅读:
    为什么要用webUI?
    探索WebKit内核(一)------ 菜鸟起步
    主进程退出的时候,杀死所有子进程
    那两年炼就的Android内功修养
    飞鸽---局域网聊天软件攻防战
    如何利用Fluxion诱惑目标用户获取WPA密码
    性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench
    解决maven编译错误:程序包com.sun.xml.internal.ws.spi不存在
    Apache-Flink深度解析-DataStream-Connectors之Kafka
    linux下find(文件查找)命令的用法总结
  • 原文地址:https://www.cnblogs.com/xiao-wei-wei/p/3547364.html
Copyright © 2011-2022 走看看