// Use this for initialization void Awake() {//这里不能改动,一定只能在Awake函数里 // UnityEventCenter.Register<DestroyEvent>(this); UnityEventCenter.Register <SpawnEvent>(this); // UnityEventCenter.Register<ScoreEvent>(this); UnityEventCenter.Register <MineMoutainSpawnerEvent>(this); rm = GetComponent <AIDetector>(); GameObject[] gos = GameObject.FindGameObjectsWithTag(Tags.RAILWAY_POINT); foreach (GameObject x in gos) { rps.Add(x.GetComponent <RoadPoint>()); } }
private void initSpeed(float speed) { Roadmovable rm = spawner.gameObject.GetComponent <Roadmovable>(); RailwayMovable rwm = spawner.gameObject.GetComponent <RailwayMovable>(); if (rm != null) { rm.speed = speed; } if (rwm != null) { rwm.speed = speed; } }
public RoadPoint getNextPoint(RailwayMovable obj) { bool b = false; if (canReach != null) { return(canReach(obj, out b)); } else { //默认行为是得到所有能到达的点中非玩家到来的那个点 RoadPoint from = obj.fromPoint; //获取到玩家的来到的点 RoadPoint next = null; foreach (RoadPoint p in reachList) { if (!p.Equals(from)) { if (obj.Tag == this.Tag && p.active) { next = p; } } } if (next == null) { //为空证明找不到可用点,这时候需要回头 return(from); } else { return(next); } } }
public RoadPoint getNextPoint(RailwayMovable obj, out bool flag) { if (canReach != null) { return(canReach(obj, out flag)); } else { //默认行为是得到所有能到达的点中非玩家到来的那个点 RoadPoint from = obj.fromPoint;//获取到玩家的来到的点 RoadPoint next = null; //print(from.transform.position); foreach (RoadPoint p in reachList) { if (!p.Equals(from)) { if (obj.Tag == this.Tag && p.active) { next = p; } } } if (next == null) { //为空证明找不到可用点,这时候需要回头 flag = false; return(from); } else { flag = true; return(next); } } }