Beispiel #1
0
    void Start()
    {
        SSDirector director = SSDirector.GetInstance();

        director.CurrentScenceController = this;
        _PatorlFactory       = Singleton <PatorlFactory> .Instance;
        _PatrolActionManager = Singleton <PatrolActionManager> .Instance;

        LoadResources();
        _ScoreRecorder = Singleton <ScoreRecorder> .Instance;
    }
Beispiel #2
0
    void Start()
    {
        //这一块注意一下,关于实例化,和实例化的查找
        //首先director是单例模式,所以用GetInstance方法,即使没有实例也会创建实例,有实例就确保只有一个实例
        //那么_PatorlFactory和_PatrolActionManager是怎么回事
        //首先看到代码可以这样写,用Singleton,这个是直接查找有没有这个类,没有就报错了
        //所以使用这个有个前提条件,就是必须已经存在了,所以在游戏开始之前必须把代码绑定到对应的物体上
        //如果不采用这种方法怎么办,可以手动添加,用AddComponent就相当于把手动添加的部分,用代码实现了,就是注释掉的部分
        SSDirector director = SSDirector.GetInstance();

        director.CurrentScenceController = this;
        _PatorlFactory       = Singleton <PatorlFactory> .Instance;
        _PatrolActionManager = Singleton <PatrolActionManager> .Instance;
        //_PatrolActionManager = gameObject.AddComponent<PatrolActionManager>() as PatrolActionManager;

        //ISceneController接口中函数的实现
        LoadResources();
        //设置摄像机跟随的对象,也就是玩家,如果不用工厂模式的话,直接在场景中生成玩家,然后把玩家拖到摄像机的Targer就可以了
        //这一块也要注意,main_camera的位置必须在LoadResources之后,因为main_camera跟随的对象是player,如果player没有实例化就无法运行
        //所以如果一开始在场景中就有player的话,下面的代码位置就可以随便放。
        main_camera.GetComponent <CameraFlow>().follow = player;
        _ScoreRecorder = Singleton <ScoreRecorder> .Instance;
    }