예제 #1
0
 // Use this for initialization
 void Start()
 {
     manager = GameObject.Find("BattleUnitManager").GetComponent <BattleUnitManager>();
     if (manager != null)
     {
         manager.Attach(this);
     }
     teamNumText = transform.GetComponent <Text>();
 }
 public override void Start()
 {
     base.Start();
     if (resourceManager != null)
     {
         resourceManagerScript = resourceManager.GetComponent <ResourceManagerScript>();
     }
     if (HRManager != null)
     {
         HRManagerScript = HRManager.GetComponent <HRManagerScript>();
     }
     if (battleUnitManager != null)
     {
         battleUnitManagerScript = battleUnitManager.GetComponent <BattleUnitManager>();
     }
 }
예제 #3
0
    public BattleLogic()
    {
        TableConfig config = new TableConfig();

        config.LoadTableConfig();

        m_UnitMgr = BattleUnitManager.instance;

        m_DecisionUpdater = delegate(BattleUnit entity, float gameTime, float deltaTime)
        {
            return(entity.UpdateDecision(gameTime, deltaTime));
        };
        m_RequestUpdater = delegate(BattleUnit entity, float gameTime, float deltaTime)
        {
            return(entity.UpdateRequest(gameTime, deltaTime));
        };
        m_BehaviorUpdater = delegate(BattleUnit entity, float gameTime, float deltaTime)
        {
            return(entity.UpdateBehavior(gameTime, deltaTime));
        };
    }
예제 #4
0
        void PlayOneFrame()
        {
            CurFrameCount++;
            OneFrameInstructions instructions = BattleInstructionManager.Instance.GetFrameInstructions();

            if (null == instructions)
            {
                return;
            }
            //Logger.LogWarning ("取得指令: " + instructions.frameCount);
            Utils.Assert(instructions.frameCount == CurFrameCount, "战斗需要第" + CurFrameCount + "但是确拿到了第" + instructions.frameCount + "帧的指令");
            BattleUnitManager unitManager = BattleUnitManager.Instance;

            for (int i = 0; i < instructions.instructionList.Count; ++i)
            {
                BattleInstructionBase instruction = instructions.instructionList [i];
                unitManager.SetBattleInstruction(instruction);
            }

            BattleUnitManager.Instance.Update();
            BattleActorManager.Instance.Update();
            SkillEffectManager.Instance.Update();
        }
예제 #5
0
    public void Init()
    {
        m_DrawTool = GameObject.Find("MoveArea").GetComponent <DebugController>();
        m_UnitMgr  = BattleUnitManager.instance;
        m_ActorMgr = BattleActorManager.instance;

        //AddPlayer();
        BattleUnit myEntity = m_UnitMgr.playerUnit;

        m_playerActor = new HeroActor(myEntity);
        m_playerActor.LoadAsset(OnLoadPlayer);

        //AddEnemy();
        var entyties = m_UnitMgr.GetEntities(BattleCamp.ENEMY);

        foreach (BattleUnit unit in entyties)
        {
            HeroActor actor = new HeroActor(unit);
            actor.LoadAsset(OnLoadGuard);
            m_ActorMgr.AddActor(unit.hash, actor);
            // 绘制移动区域
            m_DrawTool.DrawMoveArea(unit.GetStartPoint(), unit.GetViewRange());
        }
    }