`
duoerbasilu
  • 浏览: 1485476 次
文章分类
社区版块
存档分类
最新评论

Targetting

 
阅读更多
using UnityEngine;
using System.Collections;
using System.Collections.Generic;	// which include Generic

public class Targetting : MonoBehaviour {
	public List<Transform> targets;
	public Transform selectedTarget;
	
	private Transform myTransform;
	
	// Use this for initialization
	void Start () {
		targets = new List<Transform>();
		selectedTarget = null;
		myTransform = transform;
		
		AddAllEnemies();
	}
	
	// Get a list of enemies
	public void AddAllEnemies () {
		GameObject[] go = GameObject.FindGameObjectsWithTag("Enemy");
		
		foreach(GameObject enemy in go)
			AddTarget(enemy.transform);
	}
	
	public void AddTarget(Transform enemy) {
		targets.Add(enemy);
	}
	
	// Sort by distance in descending order
	private void SortTargetsByDistance () {
		targets.Sort(delegate(Transform t1, Transform t2) {
					return Vector3.Distance(t1.position, myTransform.position).CompareTo(Vector3.Distance(t2.position, myTransform.position));			
				});
	}
	
	// Some sets
	private void TargetEnemy () {
		if (selectedTarget == null) {
			SortTargetsByDistance();
			selectedTarget = targets[0];
		}
		else {
		// Loop switcher in List<Transform> targets
			int index = targets.IndexOf(selectedTarget);
			
			if (index < targets.Count - 1)
				index++;
			else
				index = 0;
			
			DselectTarget();
			selectedTarget = targets[index];	
		}
		SelectTarget();
	}
	
	// Render the selectedTarget
	private void SelectTarget () {
		selectedTarget.renderer.material.color = Color.red;
	}

	private void DselectTarget () {
		selectedTarget.renderer.material.color = Color.blue;
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetKeyDown(KeyCode.Tab)) {
			TargetEnemy();
		}
	}
}


分享到:
评论

相关推荐

    C#的Multi-Targetting

    C#的Multi-Targetting的应用实例,VS2022开发,.net6框架

    MinGW -w64 编译器

    文件原下载地址是https://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-win32/sjlj/x86_64-8.1.0-release-win32-sjlj-rt_v6-rev0.7z...

    asp.net知识库

    技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 ...

    pci-host-generic.rar_generic

    Simple, generic PCI host controller driver targetting firmware-initialised.

    vscode 配置 C/C++ 编译环境的详细图文教程

    MinGW-W64 GCC下载地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe 离线下载地址:...

    vscode 配置 C/C++编译环境(完整教程)

    MinGW-W64 GCC下载地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe 离线下载地址:...

    MinGW-w64-7.1.0-release-posix-seh

    MinGW-w64 7.1.0 posix seh v1 源地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/7.1.0/threads-posix/seh/

    middleman-s3_redirect:简化了通过Middleman在S3上设置重定向的过程

    Middleman :: S3Redirect AWS S3允许直接从S3对象进行重定向。 此gem可自动将AWS S3配置为从一个... bucket = 'my.bucket.com' # The name of the S3 bucket you are targetting. This is globally unique. config .

    WinGW64_8.1.0

    下载网址https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z/download

    mingw-w64-v9.0.0.zip,mingw库

    mingw库,是Minimalist GNUfor Windows的缩写。...MinGW-w64 - for 32 and 64 bit Windows - Browse /Toolchains targetting Win64/Personal Builds/mingw-builds/8.1.0/threads-posix/seh at SourceForge.net

    x86_64-4.9.1-release-posix-seh-rt_v3-rev0.7z

    https://astuteinternet.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.1/threads-posix/seh/x86_64-4.9.1-release-posix-seh-rt_v3-rev0.7z

    Android代码-Yotsuba Droid

    develop a decent 4chan viewing application for Android devices, targetting Ice Cream Sandwich and above. This application is released under the GNU General Public Licence, version 3. The full text of ...

    Fluorescent and quantitative mitochondrial redox imaging of tumor targeted by Octa-RGD probe

    Developing simple integrin-targetting probe and monitoring tumor metabolism will give opportunities to find ways for cancer treatment, however, the investigation of tumor metabolism with integrin ...

    Miunie是一个社区开发的有态度的机器人。-控制网/ Miunie

    Miunie Core is a Discord bot framework targetting 2.0. We use Miunie Core in the following front-end projects: Useful links Built With .NET Standard 2.0 - Discord API wrapper library :blue_heart: ...

Global site tag (gtag.js) - Google Analytics