Esempio n. 1
0
    // 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>());
        }
    }
Esempio n. 2
0
    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;
        }
    }
Esempio n. 3
0
    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);
            }
        }
    }
Esempio n. 4
0
    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);
            }
        }
    }