Beispiel #1
0
 void Awake()
 {
     timerSlider = GameObject.Find("Timer").GetComponent <Slider>();
     textScore   = GameObject.Find("ScoreValue").GetComponent <Text>();
     mainCamera  = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>();
     sceneMng    = FindObjectOfType <SceneMng>();
     gameLogic   = FindObjectOfType <GameLogic>();
 }
Beispiel #2
0
    private void Awake()
    {
        Ins                     = this;
        Log                     = new Log();
        ActiveState             = new List <PersistState>();
        GameOverlay             = new GameOverlayDialogState();
        FightState              = new FightState();
        ReplayState             = new ReplayState();
        NickNameDialogState     = new NickNameDialogState();
        BattleStatusDialogState = new BattleStatusDialogState();
        PlayerDialogState       = new PlayerDialogState();
        ChatDialogState         = new ChatDialogState();
        PsdEditDialogState      = new PsdEditDialogState();
        RoomChatDialogState     = new RoomChatDialogState();
        LoadingEx               = new LoadingEXDialogState();
        ItemInfoDialogState     = new ItemInfoDialogState();
        GunShootDialogStatus    = new GunShootDialogStatus();
        //面板管理器.
        DialogStateManager = new MainDialogStateManager();
        //顺序排队弹出框.
        PopupStateManager = new MainPopupStateManager();
        //各类游戏数据.
        GameStateMgr    = new GameStateMgr();
        UpdateHelper    = new UpdateHelper();
        AppInfo         = new AppInfo();
        CombatData      = new CombatData();
        GameNotice      = new GameNotice();
        MeteorManager   = new MeteorManager();
        ScriptMng       = new ScriptMng();
        SFXLoader       = new SFXLoader();
        ActionInterrupt = new ActionInterrupt();

        BuffMng         = new BuffMng();
        EventBus        = new EventBus();
        NetWorkBattle   = new NetWorkBattle();
        SceneMng        = new SceneMng();
        FrameSync       = new FrameSync();
        MeteorBehaviour = new MeteorBehaviour();
        DropMng         = new DropMng();
        //原版相关资源的加载器.
        MenuResLoader    = new MenuResLoader();
        SkcLoader        = new SkcLoader();
        BncLoader        = new BncLoader();
        FMCLoader        = new FMCLoader();
        GMBLoader        = new GMBLoader();
        GMCLoader        = new GMCLoader();
        DesLoader        = new DesLoader();
        FMCPoseLoader    = new FMCPoseLoader();
        DataMgr          = new DataMgr();
        SfxMeshGenerator = new SfxMeshGenerator();
        RoomMng          = new RoomMng();
        SoundManager     = new SoundManager();
        ResMng           = new ResMng();
        DlcMng           = new DlcMng();

        DontDestroyOnLoad(gameObject);
        Log.WriteError(string.Format("GameStart AppVersion:{0}", Main.Ins.AppInfo.AppVersion()));
    }
Beispiel #3
0
 void Awake()
 {
     if (mInstance != null && mInstance != this)
     {
         Destroy(this.gameObject);
     }
     else
     {
         mInstance = this;
     }
 }
Beispiel #4
0
    void OnLoadFinishedEx(Level lev)
    {
        LevelScriptBase script = GetLevelScript(lev.goodList);

        //设置主角属性
        U3D.InitPlayer(script);;
        //先创建一个相机
        GameObject camera = GameObject.Instantiate(Resources.Load("CameraEx")) as GameObject;

        camera.name = "CameraEx";

        //角色摄像机跟随者着角色.
        CameraFollow followCamera = GameObject.Find("CameraEx").GetComponent <CameraFollow>();

        followCamera.Init();
        //摄像机完毕后
        SceneMng.OnLoad();//
        SoundManager.Instance.Enable(true);
        //加载场景配置数据
        SceneMng.OnEnterLevel(lev.ID);//原版功能不加载其他存档数据.
        //把音频侦听移到角色
        AudioListener listen = Startup.ins.gameObject.GetComponent <AudioListener>();

        if (listen != null)
        {
            DestroyImmediate(listen);
        }
        MeteorManager.Instance.LocalPlayer.gameObject.AddComponent <AudioListener>();
        FightWnd.Instance.Open();
        if (!string.IsNullOrEmpty(lev.BgmName))
        {
            SoundManager.Instance.PlayMusic(lev.BgmName);
        }

        //这个脚本暂时未调通,先放着
        //ScriptMng.ins.CallScript(lev.goodList);//负责关卡内物件的属性,及攻击收击逻辑等

        //等脚本设置好物件的状态后,根据状态决定是否生成受击盒,攻击盒等.
        GameBattleEx.Instance.Init(lev, script);

        //除了主角的所有角色,开始输出,选择阵营, 进入战场
        for (int i = 0; i < MeteorManager.Instance.UnitInfos.Count; i++)
        {
            if (MeteorManager.Instance.UnitInfos[i] == MeteorManager.Instance.LocalPlayer)
            {
                continue;
            }
            MeteorUnit unitLog = MeteorManager.Instance.UnitInfos[i];
            U3D.InsertSystemMsg(GetCampStr(unitLog));
        }
    }
Beispiel #5
0
    void Create()
    {
        Log = new Log();
        LayerManager.Init();
        //不受状态机控制,仅打开和关闭的
        PersistMgr = PersistDialogMgr.Ins;
        //面板管理器.
        DialogStateManager = new MainDialogMgr();
        //顺序排队弹出框.
        PopupStateManager = new MainPopupStateManager();
        //各类游戏数据.
        GameStateMgr  = GameStateMgr.Ins;
        AppInfo       = AppInfo.Ins;
        CombatData    = CombatData.Ins;
        GameNotice    = new GameNotice();
        MeteorManager = MeteorManager.Ins;
        ScriptMng     = ScriptMng.Ins;

        ActionInterrupt = ActionInterrupt.Ins;

        BuffMng       = BuffMng.Ins;
        EventBus      = new EventBus();
        NetWorkBattle = NetWorkBattle.Ins;
        SceneMng      = SceneMng.Ins;

        //FrameSyncLocal = FrameSyncLocal.Ins;
        FrameSyncServer = FrameSyncServer.Ins;

        MeteorBehaviour = MeteorBehaviour.Ins;
        DropMng         = DropMng.Ins;
        //原版相关资源的加载器.
        MenuResLoader    = MenuResLoader.Ins;
        SkcLoader        = SkcLoader.Ins;
        BncLoader        = BncLoader.Ins;
        FMCLoader        = FMCLoader.Ins;
        GMBLoader        = GMBLoader.Ins;
        GMCLoader        = GMCLoader.Ins;
        DesLoader        = DesLoader.Ins;
        FMCPoseLoader    = FMCPoseLoader.Ins;
        SFXLoader        = SFXLoader.Ins;
        AmbLoader        = AmbLoader.Ins;
        DataMgr          = DataMgr.Ins;
        SfxMeshGenerator = SfxMeshGenerator.Ins;
        RoomMng          = RoomMng.Ins;
        SoundManager     = SoundManager.Ins;
        DlcMng           = DlcMng.Ins;
        PathMng          = PathMng.Ins;
        DownloadManager  = DownloadManager.Ins;
        DontDestroyOnLoad(gameObject);
        Log.WriteError(string.Format("GameStart AppVersion:{0}", Main.Ins.AppInfo.AppVersion()));
    }
Beispiel #6
0
    public static MeteorUnit InitPlayer(LevelScriptBase script)
    {
        MonsterEx  mon       = SceneMng.InitPlayer(script);
        GameObject objPrefab = Resources.Load("MeteorUnit") as GameObject;
        GameObject ins       = GameObject.Instantiate(objPrefab, Vector3.zero, Quaternion.identity) as GameObject;
        MeteorUnit unit      = ins.GetComponent <MeteorUnit>();

        MeteorManager.Instance.LocalPlayer = unit;
        unit.Camp = EUnitCamp.EUC_FRIEND;//流星阵营
        unit.Init(mon.Model, mon);
        MeteorManager.Instance.OnGenerateUnit(unit);
        //LuaFunction onInit = ScriptMng.ins.GetFunc("OnInit");
        //LuaFunction OnStart = ScriptMng.ins.GetFunc("OnStart");
        //onInit.call(unit.InstanceId);
        unit.SetGround(false);
        unit.transform.position    = Global.GLevelItem.wayPoint.Count > mon.SpawnPoint ? Global.GLevelItem.wayPoint[mon.SpawnPoint].pos : GameObject.Find("StartPoint").transform.position;//等关卡脚本实现之后在设置单机出生点.PlayerEx.Instance.SpawnPoint
        unit.transform.eulerAngles = new Vector3(0, mon.SpawnDir, 0);
        //OnStart.call();
        U3D.InsertSystemMsg(unit.name + " 加入游戏");
        return(unit);
    }
Beispiel #7
0
    public override void PositionChange()
    {
        if (IsActor)
        {
            return;
        }
        base.PositionChange();
        SceneMng mng = GameCenter.sceneMng;

        if (mng != null)
        {
            if (!mng.HasSafetyArea)
            {
                actorInfo.IsInSafetyArea = false;
            }
            else
            {
                Vector2 center = mng.SafetyAreaCenter;
                Vector2 mypos  = new Vector2(this.transform.position.x, this.transform.position.z);
                actorInfo.IsInSafetyArea = (mypos - center).sqrMagnitude < mng.SafetyAreaRadius * mng.SafetyAreaRadius;
            }
        }
    }
Beispiel #8
0
 private void Start()
 {
     sceneMng = FindObjectOfType <SceneMng>();
 }
 void Start()
 {
     mainCamera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Camera>();
     sceneMng   = FindObjectOfType <SceneMng>();
 }
Beispiel #10
0
 public static void Init()
 {
     Instance = FindObjectOfType <SceneMng>();
 }
Beispiel #11
0
 void Awake() {
     instance = this;
     Application.targetFrameRate = 60;
     SceneMng scene = new SceneMng();
     scene.Init();
 }
Beispiel #12
0
    public static int AddNPC(string script)
    {
        MeteorUnit target = SceneMng.Spawn(script);

        return(target.InstanceId);
    }