示例#1
0
 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]));
                 //  }
             }
         }
     }
 }
示例#2
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();//我们就可以获取到他的防御等级,(虽然并没有什么卵用)
        }
    }