Exemplo n.º 1
0
    void Start()
    {
        // Assign all references
        mReconstructionBehaviour  = FindObjectOfType <ReconstructionBehaviour>();
        mCylinderTrackableHandler = FindObjectOfType <CylinderTrackableEventHandler>();
        mSTEventHandler           = GameObject.FindObjectOfType <SmartTerrainEventHandler>();
        mSmartSurface             = GameObject.FindObjectOfType <SurfaceBehaviour>();
        mSTTrackableHandler       = GameObject.FindObjectOfType <SmartTerrainTrackableEventHandler>();

        // Register to events
        mCylinderTrackableHandler.CylinderTrackableFoundFirstTime += OnCylinderTrackableFoundFirstTime;

        // Load header textures for user instructions
        mPointDeviceTexture = Resources.Load <Texture2D>("UserInterface/header_pointdevice");
        mPullBackTexture    = Resources.Load <Texture2D>("UserInterface/header_pullbackslowly");
        mTapIceTexture      = Resources.Load <Texture2D>("UserInterface/header_tapice");
    }
    //初始化
    public void Initial()
    {
        //初始化英雄
        InitialHero();

        //对ImageTarget的追踪进行关闭
        Image.GetComponent <ImageTargetBehaviour>().enabled = false;

        //Smart Terrain
        //获取ReconstructionBehaviour
        ReconstructionBehaviour = smartTerrain.GetComponent <ReconstructionBehaviour>();
        //获取Event Handler
        STEventHandler = smartTerrain.GetComponent <SmartTerrainEventHandler>();

        //获取UI射线碰撞检测引用
        RaycastInCanvas = canvas.GetComponent <GraphicRaycaster>();

        //获取塔楼动画组件
        towerAnim = Image.GetComponentInChildren <MainTower>();

        //观察者模式
        //对图片识别进行订阅
        DT_ImageTargetEventHandler.OnFoundImage += ScanScene;

        //对surface识别进行订阅
        SmartTerrainEventHandler.OnFoundSurface += surfaceFound;

        //对场景动画播放完毕进行订阅
        SurroundingAniEvent.OnSceneAniFin += changjingAniFin;

        //对边塔动画播放完毕进行订阅
        grow.OnPlay += AniCompleted;

        //对主塔动画播放完毕进行订阅
        MainTower.OnTowerAniFin += StartGame;

        //对玩家的投掷动画帧事件进行订阅
        PlayerAniEvent.OnThrowPoint += CreateWeapon;

        //对远程怪物的投掷动画帧事件进行订阅
        MonsterAniEvent.OnSendArrow += CreateArrow;

        //对游戏失败事件进行订阅
        TowerTrigger.OnGameFail += GameFail;
    }
Exemplo n.º 3
0
    void Start()
    {
        mPopUpMsg = GetComponent<SampleInitErrorHandler>();
        if (!mPopUpMsg)
        {
            mPopUpMsg = gameObject.AddComponent<SampleInitErrorHandler>();

        }

        mPopUpMsg.InitPopUp();
        // register callback methods
        QCARAbstractBehaviour qcarBehaviour = (QCARAbstractBehaviour)FindObjectOfType(typeof(QCARAbstractBehaviour));
        if (qcarBehaviour)
        {
            qcarBehaviour.RegisterQCARStartedCallback(OnQCARStarted);
            qcarBehaviour.RegisterQCARInitErrorCallback(OnQCARInitializationError);
        }

        //Assign all references
        m_reconstructionBehaviour = FindObjectOfType(typeof(ReconstructionBehaviour)) as ReconstructionBehaviour;
        m_uiInput = new GUIInputManager();
        m_cylinderTrackableHandler = FindObjectOfType(typeof(CylinderTrackableEventHandler)) as CylinderTrackableEventHandler;
        m_smartTerrainEventHandler = GameObject.FindObjectOfType(typeof(SmartTerrainEventHandler)) as SmartTerrainEventHandler;
        m_smartSurface = GameObject.FindObjectOfType(typeof(SurfaceBehaviour)) as SurfaceBehaviour;
        m_smartTerrainTrackableHandler = GameObject.FindObjectOfType(typeof(SmartTerrainTrackableEventHandler)) as SmartTerrainTrackableEventHandler;
        //Register to events
        m_cylinderTrackableHandler.CylinderTrackableFoundFirstTime += OnCylinderTrackableFoundFirstTime;
        m_uiInput.TappedOnDoneButton += OnTappedOnDone;
        m_uiInput.TappedOnResetButton += OnTappedOnReset;
    }