public void Handle(SpawnEvent message) { //游戏单位建造事件 //Debug.Log(message.getObject());//获取建造出来的单位 //更多详细信息的话,比如 if (message.hasRoadEnd())//对象是否是人,如果是人就会有目的地距离啥的 { characterList.Add(message.getObject()); } else { vehicleList.Add(message.getObject()); } message.getDistance(delegate(float d) { print("距离 : " + d); }); if (message.hasRoadEnd() && message.getObjectOwner() != owner) { //if (IDs.getIDByName(Tags.Character.GATEWORKER) == message.getObjectID()) { Vector3 tempv = message.getObject().GetComponent <Roadmovable>().getTargetPosition(); print("坐标: " + tempv); if (tempv.z > 135) { gameID = IDs.getIDByName(Tags.Character.GUNNER); if (cdAndGoldIsOK(gameID)) { UnityEvent.UnityEventCenter.SendMessage <CreateUnitEvent>(new CreateUnitEvent(gameID, new Vector3(15.5f, 0, 13.2f) + subPos, owner, mineList[0])); // } } } } }
public void Handle(SpawnEvent message) { //游戏单位建造事件 Debug.Log(message.getSubject()); //获取建造的生成器 Debug.Log(message.getObject()); //获取建造出来的单位 //更多详细信息的话,比如 message.getDistance(delegate(float f) { print(f + ""); }); message.hasRoadEnd();//对象是否是人,如果是人就会有目的地距离啥的 message.getSpeed(); //更多的信息的话,要自己去获取,如 BaseTramcarGuard b = message.getObject().GetComponent <BaseTramcarGuard>();//我们试图去获取下这个组件,如果有这个组件,那就是基础运输矿车. if (b != null) { b.getGuardLevel();//我们就可以获取到他的防御等级,(虽然并没有什么卵用) } }