Beispiel #1
0
        public static void Init(BattleParams param)
        {
            _init = true;
            _shouldSendActions = false;

            string          model       = ModelFactory.GetBattleData(Utils.GetIDFromRID(param.id)).model;
            CAIBakedNavmesh navmeshData = AssetsManager.LoadAsset <CAIBakedNavmesh>("scene/" + model + "_navmesh",
                                                                                    "CAIBakedNavmesh");

            _framesPerKeyFrame = param.framesPerKeyFrame;
            _frameRate         = param.frameRate;
            _nextKeyFrame      = param.framesPerKeyFrame;

            cBattle = new VBattle(param);
            lBattle = new Battle(param, navmeshData.GetNavmesh(), Env.LUA_ENV);

            _logicThread = new Thread(LogicWorker);
            _logicThread.IsBackground = true;
            _logicThread.Start();

            NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_BATTLE_START, HandleBattleStart);
            NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_FRAME, HandleFrame);
            NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_BATTLE_END, HandleBattleEnd);
            NetModule.instance.Send(ProtocolManager.PACKET_BATTLE_QCMD_BATTLE_CREATED());
        }
Beispiel #2
0
    public void LaunchBattle()
    {
        BattleParams _bp = new BattleParams(MapName, Units[0], Units[1]);

        BattlefieldManager.Instance.SetNextBattle(_bp);
        FlowManager.Instance.ChangeFlows(GV.SCENENAMES.BattleScene);
    }
        public static void Init(BattleParams param)
        {
            _init = true;
            _shouldSendActions = false;

            _elapsedSinceLastLogicUpdate = Fix64.Zero;
            _framesPerKeyFrame           = param.framesPerKeyFrame;
            _frameRate    = param.frameRate;
            _nextKeyFrame = _framesPerKeyFrame;

            cBattle = new CBattle(param);
            lBattle = new Battle(param);

            _logicThread = new Thread(LogicWorker);
            _logicThread.IsBackground = true;
            _logicThread.Start();

            if (Env.useNetwork)
            {
                NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_BATTLE_START, HandleBattleStart);
                NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_FRAME, HandleFrame);
                NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_BATTLE_END, HandleBattleEnd);
                NetModule.instance.Send(ProtocolManager.PACKET_BATTLE_QCMD_BATTLE_CREATED());
            }
        }
Beispiel #4
0
		public BattleStatus(MenkoStatus status, SkillData skillData)
		{
			this.status = status;
			this.skillData = skillData;
			this.percent = 0;
			this.skillEnergy = 0;
			this.isDead = false;
			variables = new BattleParams();
		}
Beispiel #5
0
 public BattleStatus(MenkoStatus status, SkillData skillData)
 {
     this.status      = status;
     this.skillData   = skillData;
     this.percent     = 0;
     this.skillEnergy = 0;
     this.isDead      = false;
     variables        = new BattleParams();
 }
Beispiel #6
0
        public VBattle(BattleParams param)
        {
            this.collider = GameObject.Find("Collider").GetComponent <BoxCollider>();
            this._rid     = param.id;
            this.data     = ModelFactory.GetBattleData(Utils.GetIDFromRID(this._rid));

            Camera mainCamera = GameObject.Find("Camera").GetComponent <Camera>();

            this.camera = new GodCamera(mainCamera, this.data.camera);
            this.input  = new PointerInput(mainCamera);
            this.input.RegisterInteractive(this);
            this.interaction = new Interaction(this);

            this._debugDrawer   = new DebugDrawer();
            this.graphicManager = new GraphicManager();
            this._entityManager = new VEntityManager(this);
            this._buffManager   = new VBuffManager(this);

            EventCenter.AddListener(SyncEventType.BATTLE_DESTROIED, this.HandleBattleDestroied);
            EventCenter.AddListener(SyncEventType.SPAWN_ENTITY, this.HandleSpawnEntity);
            EventCenter.AddListener(SyncEventType.DESPAWN_ENTITY, this.HandleDespawnEntity);
            EventCenter.AddListener(SyncEventType.ENTITY_ATTR_CHANGED, this.HandleEntityAttrChanged);
            EventCenter.AddListener(SyncEventType.SKILL_ATTR_CHANGED, this.HandleSkillAttrChanged);
            EventCenter.AddListener(SyncEventType.BUFF_ATTR_CHANGED, this.HandleBuffAttrChanged);
            EventCenter.AddListener(SyncEventType.ENTITY_ATTR_INITIALIZED, this.HandleEntityAttrInitialized);
            EventCenter.AddListener(SyncEventType.BUFF_ATTR_INITIALIZED, this.HandleBuffAttrInitialized);
            EventCenter.AddListener(SyncEventType.ENTITY_STATE_CHANGED, this.HandleEntityStateChanged);
            EventCenter.AddListener(SyncEventType.SPAWN_BUFF, this.HandleSpawnBuff);
            EventCenter.AddListener(SyncEventType.DESPAWN_BUFF, this.HandleDespawnBuff);
            EventCenter.AddListener(SyncEventType.ENTER_BUFF, this.HandleEnterBuff);
            EventCenter.AddListener(SyncEventType.EXIT_BUFF, this.HandleExitBuff);
            EventCenter.AddListener(SyncEventType.BUFF_TRIGGERED, this.HandleBuffTriggered);
            EventCenter.AddListener(SyncEventType.TRIGGER_TARGET, this.HandleTriggerTarget);
            EventCenter.AddListener(SyncEventType.BUFF_STATE_ADDED, this.HandleBuffStateAdded);
            EventCenter.AddListener(SyncEventType.BUFF_STATE_REMOVED, this.HandleBuffStateRemoved);
            EventCenter.AddListener(SyncEventType.BUFF_STATE_TRIGGERED, this.HandleBuffStateTriggered);
            EventCenter.AddListener(SyncEventType.ENTITY_RELIVE, this.HandleRelive);
            EventCenter.AddListener(SyncEventType.DAMAGE, this.HandleDamage);
            EventCenter.AddListener(SyncEventType.ENTITY_DIE, this.HandleEntityDie);
            EventCenter.AddListener(SyncEventType.MISSILE_COMPLETE, this.HandleMissileComplete);
            EventCenter.AddListener(SyncEventType.DEBUG_DRAW, this.HandleDebugDraw);
        }
Beispiel #7
0
        public CBattle(BattleParams param)
        {
            this._uid  = param.uid;
            this._data = ModelFactory.GetMapData(Utils.GetIDFromRID(param.id));

            this._maze = new GMaze(this, this._data.scale.ToVector3(), this._data.offset.ToVector3(), this._data.row,
                                   this._data.col);
            this._context           = new UpdateContext();
            this._eventHandler      = new CBattleEventHandler(this);
            this._gameObjectManager = new GameObjectManager();
            this._fxManager         = new FxManager(this);
            this._buffManager       = new CBuffManager(this);
            this._entityManager     = new CEntityManager(this);
            this._debugDrawer       = new DebugDrawer();

            this.camera        = new CCamera(this._data);
            this.camera.enable = false;
            //this.camera.SetConstraints(
            //	new Vector3( 0, 0, -this._maze.row * this._maze.scale.z ),
            //	new Vector3( this._maze.col * this._maze.scale.x, 0, 0 ) );
        }
Beispiel #8
0
 public static void EnterBattle(BattleParams param)
 {
     EnterModule(battle, param);
 }
Beispiel #9
0
 public void SetNextBattle(BattleParams _bp)
 {
     NextBattle = _bp;
 }