コード例 #1
0
ファイル: Test1.cs プロジェクト: pixar2016/Assets
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.W))
        {
            charInfo.DoAction("stuck_start");
        }
        if (Input.GetKeyDown(KeyCode.S))
        {
            charInfo.DoAction("stuck_end");
        }
        if (Input.GetKeyDown(KeyCode.A))
        {
            charInfo.ChangeState("attack");
        }
        if (Input.GetKeyDown(KeyCode.D))
        {
            charInfo.ChangeState("move");
        }
        if (Input.GetKeyDown(KeyCode.C))
        {
            monster.SetPosition(100, 0, 0);
        }
        EntityManager.getInstance().Update();
        EntityViewManager.getInstance().Update();
        TriggerManager.getInstance().Update(Time.deltaTime);
        if (null != m_TimerSystem)
        {
            m_TimerSystem.UpdateTimer();
        }
        GameManager.getInstance().Update();
//        animate.OnUpdate(Time.deltaTime);
    }
コード例 #2
0
 public static EntityViewManager getInstance()
 {
     if (instance == null)
     {
         instance = new EntityViewManager();
     }
     return(instance);
 }
コード例 #3
0
        public void ProcessMapData(Map map)
        {
            WorldController worldController = Service.Get <WorldController>();

            this.entitiesToLoad = new List <Entity>();
            Service.Get <EventManager>().RegisterObserver(this, EventId.BuildingViewReady, EventPriority.AfterDefault);
            Service.Get <EventManager>().RegisterObserver(this, EventId.BuildingViewFailed, EventPriority.AfterDefault);
            worldController.ResetWorld();
            Service.Get <EventManager>().SendEvent(EventId.MapDataProcessingStart, map);
            bool flag = Service.Get <WorldTransitioner>().IsCurrentWorldHome();

            if (map.Buildings != null)
            {
                List <Entity> list = null;
                for (int i = 0; i < map.Buildings.Count; i++)
                {
                    try
                    {
                        BuildingTypeVO buildingTypeVO = Service.Get <IDataController>().Get <BuildingTypeVO>(map.Buildings[i].Uid);
                        if (buildingTypeVO.Type != BuildingType.Clearable || flag)
                        {
                            bool   flag2 = false;
                            Entity item  = worldController.ProcessWorldDataBuilding(map.Buildings[i], out flag2);
                            if (!flag2 & flag)
                            {
                                if (list == null)
                                {
                                    list = new List <Entity>();
                                }
                                list.Add(item);
                            }
                            this.entitiesToLoad.Add(item);
                        }
                    }
                    catch (Exception)
                    {
                        Service.Get <StaRTSLogger>().ErrorFormat("Error trying to load building {0}", new object[]
                        {
                            map.Buildings[i].Uid
                        });
                    }
                }
                if (list != null)
                {
                    worldController.FindValidPositionsAndAddBuildings(list);
                }
            }
            EntityViewManager entityViewManager = Service.Get <EntityViewManager>();
            List <Entity>     list2             = new List <Entity>(this.entitiesToLoad);

            for (int j = 0; j < list2.Count; j++)
            {
                entityViewManager.LoadEntityAsset(list2[j]);
            }
            Service.Get <EventManager>().SendEvent(EventId.MapDataProcessingEnd, map);
            this.CheckLoadComplete();
        }
コード例 #4
0
 public EntityController()
 {
     Service.EntityController = this;
     new DroidController();
     new ChampionController();
     this.View      = new EntityViewManager();
     this.viewSpeed = 1f;
     base.AddSimSystem(new TrackingSystem(), 1050, 21845);
     base.AddSimSystem(new MovementSystem(), 1060, 43690);
     base.AddViewSystem(new EntityRenderSystem(), 2030, SystemSchedulingPatterns.ENTITY_RENDER);
     base.AddViewSystem(new TrackingRenderSystem(), 2050, SystemSchedulingPatterns.TRACKING_RENDER);
     base.AddViewSystem(new HealthRenderSystem(), 2060, SystemSchedulingPatterns.HEALTH_RENDER);
     base.AddViewSystem(new TransportSystem(), 2090, 65535);
     base.AddViewSystem(new DroidSystem(), 2020, 65535);
     Service.SimTimeEngine.RegisterSimTimeObserver(this);
     Service.ViewTimeEngine.RegisterFrameTimeObserver(this);
 }
コード例 #5
0
ファイル: EntityManager.cs プロジェクト: pixar2016/Assets
    public EffectInfo AddConnectEffect(int effectId, CharacterInfo charInfo, CharacterInfo targetInfo)
    {
        effectIndexId += 1;
        ConnectEffectInfo effectInfo = new ConnectEffectInfo(effectIndexId, effectId, charInfo.GetBulletPos(), targetInfo.GetPosition());

        EntityViewManager.getInstance().AddConnectEffect(effectInfo);
        effectInfo.SetDirtySign(false);
        effectTempList.Add(effectIndexId, effectInfo);
        return(effectInfo);
        //EffectInfo effectInfo = new ConnectEffectInfo(effectIndexId, effectId, charInfo.GetBulletPos(), targetInfo.GetPosition());
        //effectInfo.SetDirtySign(false);
        //effectTempList.Add(effectIndexId, effectInfo);
        //this.eventDispatcher.Broadcast("AddEffect", effectInfo);
        //effectInfo.UpdatePositionToView();
        //effectInfo.UpdateRotationToView();
        //return effectInfo;
    }
コード例 #6
0
ファイル: EntityManager.cs プロジェクト: pixar2016/Assets
 public void RemoveEffect(int effectId)
 {
     foreach (int key in effects.Keys)
     {
         if (effects[key].Id == effectId)
         {
             if (effectTempList.ContainsKey(key))
             {
                 effectTempList[key].SetDirtySign(true);
             }
             else
             {
                 effectTempList.Add(key, effects[key]);
                 effects[key].SetDirtySign(true);
             }
             EntityViewManager.getInstance().RemoveEffect(effectId);
         }
     }
 }
コード例 #7
0
ファイル: EntityManager.cs プロジェクト: pixar2016/Assets
    //添加静态特效
    public EffectInfo AddStaticEffect(int effectId, Vector3 pos)
    {
        effectIndexId += 1;
        StaticEffectInfo effectInfo = new StaticEffectInfo(effectIndexId, effectId, pos);

        EntityViewManager.getInstance().AddStaticEffect(effectInfo);
        effectInfo.SetDirtySign(false);
        effectTempList.Add(effectIndexId, effectInfo);
        return(effectInfo);
        //EffectInfo effectInfo = new StaticEffectInfo(effectIndexId, effectId);
        //effectInfo.SetPosition(pos);
        ////effects.Add(effectIndexId, effectInfo);
        ////标记为“添加”
        //effectInfo.SetDirtySign(false);
        //effectTempList.Add(effectIndexId, effectInfo);
        //this.eventDispatcher.Broadcast("AddEffect", effectInfo);
        //effectInfo.UpdatePositionToView();
        //effectInfo.UpdateRotationToView();
        //return effectInfo;
    }
コード例 #8
0
ファイル: EntityManager.cs プロジェクト: pixar2016/Assets
 //添加动态特效
 public EffectInfo AddMoveEffect(int effectId, CharacterInfo charInfo, CharacterInfo targetInfo, float speed, int pathType, int triggerGroupId = 0)
 {
     effectIndexId += 1;
     if (pathType == 2)
     {
         BezierEffectInfo effectInfo = new BezierEffectInfo(effectIndexId, effectId, charInfo, targetInfo, speed, triggerGroupId);
         EntityViewManager.getInstance().AddBezierEffect(effectInfo);
         effectInfo.SetDirtySign(false);
         effectTempList.Add(effectIndexId, effectInfo);
         return(effectInfo);
     }
     else
     {
         StraightEffectInfo effectInfo = new StraightEffectInfo(effectIndexId, effectId, charInfo, targetInfo, speed, triggerGroupId);
         EntityViewManager.getInstance().AddStraightEffect(effectInfo);
         effectInfo.SetDirtySign(false);
         effectTempList.Add(effectIndexId, effectInfo);
         return(effectInfo);
     }
 }
コード例 #9
0
ファイル: Test1.cs プロジェクト: pixar2016/Assets
    void Start()
    {
        J_Map.LoadConfig();
        J_Creature.LoadConfig();
        J_SkillEvent.LoadConfig();
        J_Skill.LoadConfig();
        J_Tower.LoadConfig();
        J_AnimData.LoadConfig();
        J_Effect.LoadConfig();
        J_ModelResource.LoadConfig();

        EntityManager.getInstance();
        EntityViewManager.getInstance();

        //DataPreLoader.getInstance().LoadData("Monsters");
        //根据图片信息txt将图片里帧信息分离出来
        //SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/monster1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Helper.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Monster1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Monster2.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Solider1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Tower1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/TowerShooter.txt");
        AnimationCache animCache = AnimationCache.getInstance();

        List <D_AnimData> animList = J_AnimData.ToList();
        int count = animList.Count;

        for (int i = 0; i < count; i++)
        {
            D_AnimData animData = animList[i];
            bool       loop     = (animData._loop == 1?true:false);
            //无动作动画
            if (animData._animName == "")
            {
                animCache.addAnimation(
                    animCache.createAnimation(animData._FrameName, animData._startFrame, animData._endFrame, animData._delta, loop, animData._xoffset, animData._yoffset),
                    animData._modelName
                    );
            }
            else
            {
                animCache.addAnimation(
                    animCache.createAnimation(animData._FrameName, animData._startFrame, animData._endFrame, animData._delta, loop, animData._xoffset, animData._yoffset),
                    animData._modelName,
                    animData._animName
                    );
            }
        }

        GameObject uiroot = GameObject.Find("Canvas").gameObject;

        UiManager.Instance.Init(uiroot);

        PathLoader pathloader = new PathLoader();

        pathloader.LoadPath("level1");
        PathInfo path = pathloader.GetPath("1");

        //path.PrintAllPoint();


        //charInfo.ChangeState("move");
        BattleFingerEvent.getInstance().ChangeState("start");
        //tower = EntityManager.getInstance().AddTower(100);
        //tower.SetPosition(0, 0, 0);
        //tower.ChangeState("idle");
        //CharacterInfo charInfo = EntityManager.getInstance().AddSolider(50001);
        //charInfo.SetPosition(0, 0, 0);
        //monster = EntityManager.getInstance().AddMonster(10001, path);
        //monster.SetPosition(0, 0, 0);
        //tower = EntityManager.getInstance().AddTower(11);
        //tower.SetPosition(0, 0, 0);
        //tower.ChangeState("idle");
        //tower = EntityManager.getInstance().AddTower(12);
        //tower.SetPosition(0, 0, 0);
        //tower.ChangeState("idle");
        //tower = EntityManager.getInstance().AddTower(13);
        //tower.SetPosition(0, 0, 0);
        //tower.ChangeState("idle");
        tower = EntityManager.getInstance().AddTower(15);
        tower.SetPosition(0, 0, 0);
        tower.ChangeState("idle");
        //tower = EntityManager.getInstance().AddTower(15);
        //tower.SetPosition(0, 0, 0);
        //tower.ChangeState("idle");

        baseEffect = EntityManager.getInstance().AddStaticEffect(17, Vector3.zero);


        //GameManager.getInstance().LoadLevel(1);
        //GameManager.getInstance().StartGame();

        monster = EntityManager.getInstance().AddMonster(10001, path);
        monster.SetPosition(100, 5, 0);
        //monster = EntityManager.getInstance().AddMonster(10001, path);
        //monster.SetPosition(250, 0, 0);
        //monster.SetPosition(116, -100, 0);
        //monster.ChangeState("move");

        //CharacterInfo charInfo = EntityManager.getInstance().AddSolider(50001);
        //charInfo.SetPosition(-180, -150, 0);
        //charInfo.DoAction("idle");
        //charInfo = EntityManager.getInstance().AddSolider(50001);
        //charInfo.SetPosition(-170, -150, 0);
        //charInfo.DoAction("idle");
    }
コード例 #10
0
    void Start()
    {
        EntityManager.getInstance();
        EntityViewManager.getInstance();

        //DataPreLoader.getInstance().LoadData("Monsters");
        //根据图片信息txt将图片里帧信息分离出来
        //SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/monster1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Helper.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Monster1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Monster2.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Solider1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/Tower1.txt");
        SpriteFrameCache.getInstance().addSpriteFrameFromFile("Resources/Config/TowerShooter.txt");
        AnimationCache animCache = AnimationCache.getInstance();

        //第一个参数 createAnimation(参数1-图片名字 参数2-图片开始序号 参数3-图片结束序号 参数4-动画间隔 参数5-是否循环)
        //第二个参数 动画名称
        //第三个参数 动作名称
        animCache.addAnimation(animCache.createAnimation("wulf_", 19, 19, 0.1f, true), "wulf", "idle");
        animCache.addAnimation(animCache.createAnimation("wulf_", 1, 8, 0.1f, true), "wulf", "run1");
        animCache.addAnimation(animCache.createAnimation("wulf_", 9, 18, 0.1f, true), "wulf", "run2");
        animCache.addAnimation(animCache.createAnimation("wulf_", 19, 28, 0.1f, false), "wulf", "attack");
        animCache.addAnimation(animCache.createAnimation("wulf_", 29, 35, 0.1f, false), "wulf", "stuck_start");
        animCache.addAnimation(animCache.createAnimation("wulf_", 35, 40, 0.1f, false), "wulf", "stuck_end");
        animCache.addAnimation(animCache.createAnimation("wulf_", 41, 49, 0.1f, false), "wulf", "die");

        animCache.addAnimation(animCache.createAnimation("knight_", 1, 1, 0.1f, true), "knight", "idle");
        animCache.addAnimation(animCache.createAnimation("knight_", 2, 6, 0.1f, true), "knight", "run1");
        animCache.addAnimation(animCache.createAnimation("knight_", 7, 10, 0.1f, false), "knight", "attack");
        animCache.addAnimation(animCache.createAnimation("knight_", 11, 15, 0.1f, false), "knight", "attack1");
        animCache.addAnimation(animCache.createAnimation("knight_", 16, 33, 0.1f, false), "knight", "skill1");
        animCache.addAnimation(animCache.createAnimation("knight_", 34, 62, 0.1f, false), "knight", "skill2");
        animCache.addAnimation(animCache.createAnimation("knight_", 63, 69, 0.1f, false), "knight", "die");
        //箭塔
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv1Shooter_", 1, 1, 0.1f, false), "arrowTowerlv1Shooter", "idle");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv1Shooter_", 1, 5, 0.1f, false), "arrowTowerlv1Shooter", "attack");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv1Shooter_", 6, 10, 0.1f, false), "arrowTowerlv1Shooter", "attack1");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv2Shooter_", 1, 1, 0.1f, false), "arrowTowerlv2Shooter", "idle");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv2Shooter_", 1, 5, 0.1f, false), "arrowTowerlv2Shooter", "attack");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv2Shooter_", 6, 10, 0.1f, false), "arrowTowerlv2Shooter", "attack1");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv3Shooter_", 1, 1, 0.1f, false), "arrowTowerlv3Shooter", "idle");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv3Shooter_", 1, 5, 0.1f, false), "arrowTowerlv3Shooter", "attack");
        animCache.addAnimation(animCache.createAnimation("arrowTowerlv3Shooter_", 6, 10, 0.1f, false), "arrowTowerlv3Shooter", "attack1");
        //兵营
        animCache.addAnimation(animCache.createAnimation("barrackTowerlv1_", 1, 1, 0.1f, false), "barrackTowerlv1", "idle");
        animCache.addAnimation(animCache.createAnimation("barrackTowerlv1_", 2, 4, 0.1f, false), "barrackTowerlv1", "start");
        animCache.addAnimation(animCache.createAnimation("barrackTowerlv2_", 1, 1, 0.1f, false), "barrackTowerlv2", "idle");
        animCache.addAnimation(animCache.createAnimation("barrackTowerlv2_", 2, 4, 0.1f, false), "barrackTowerlv2", "start");
        animCache.addAnimation(animCache.createAnimation("barrackTowerlv3_", 1, 1, 0.1f, false), "barrackTowerlv3", "idle");
        animCache.addAnimation(animCache.createAnimation("barrackTowerlv3_", 2, 4, 0.1f, false), "barrackTowerlv3", "start");
        //魔法塔
        animCache.addAnimation(animCache.createAnimation("mageTowerlv1_", 1, 1, 0.1f, false), "mageTowerlv1", "idle");
        animCache.addAnimation(animCache.createAnimation("mageTowerlv1_", 2, 6, 0.1f, false), "mageTowerlv1", "attack");
        animCache.addAnimation(animCache.createAnimation("mageTowerlv2_", 1, 1, 0.1f, false), "mageTowerlv2", "idle");
        animCache.addAnimation(animCache.createAnimation("mageTowerlv2_", 2, 6, 0.1f, false), "mageTowerlv2", "attack");
        animCache.addAnimation(animCache.createAnimation("mageTowerlv3_", 1, 1, 0.1f, false), "mageTowerlv3", "idle");
        animCache.addAnimation(animCache.createAnimation("mageTowerlv3_", 2, 6, 0.1f, false), "mageTowerlv3", "attack");
        animCache.addAnimation(animCache.createAnimation("mageTowerShooter_", 1, 1, 0.1f, false), "mageTowerShooter", "idle");
        animCache.addAnimation(animCache.createAnimation("mageTowerShooter_", 2, 2, 0.1f, false), "mageTowerShooter", "idle1");
        animCache.addAnimation(animCache.createAnimation("mageTowerShooter_", 3, 11, 0.1f, false), "mageTowerShooter", "attack");
        animCache.addAnimation(animCache.createAnimation("mageTowerShooter_", 12, 21, 0.1f, false), "mageTowerShooter", "attack1");
        animCache.addAnimation(animCache.createAnimation("mageTowerNecroShooter_", 1, 1, 0.1f, false), "mageTowerNecroShooter", "idle");
        animCache.addAnimation(animCache.createAnimation("mageTowerNecroShooter_", 2, 2, 0.1f, false), "mageTowerNecroShooter", "idle1");
        animCache.addAnimation(animCache.createAnimation("mageTowerNecroShooter_", 3, 15, 0.1f, false), "mageTowerNecroShooter", "attack");
        animCache.addAnimation(animCache.createAnimation("mageTowerNecroShooter_", 16, 28, 0.1f, false), "mageTowerNecroShooter", "attack1");
        animCache.addAnimation(animCache.createAnimation("mageTowerNecroShooter_", 29, 31, 0.1f, false), "mageTowerNecroShooter", "skill");
        animCache.addAnimation(animCache.createAnimation("mageTowerNecroShooter_", 32, 34, 0.1f, false), "mageTowerNecroShooter", "skill1");
        animCache.addAnimation(animCache.createAnimation("mageTowerMasterShooter_", 1, 1, 0.1f, false), "mageTowerMasterShooter", "idle");
        animCache.addAnimation(animCache.createAnimation("mageTowerMasterShooter_", 2, 2, 0.1f, false), "mageTowerMasterShooter", "idle1");
        animCache.addAnimation(animCache.createAnimation("mageTowerMasterShooter_", 3, 4, 0.1f, false), "mageTowerMasterShooter", "attack");
        animCache.addAnimation(animCache.createAnimation("mageTowerMasterShooter_", 5, 6, 0.1f, false), "mageTowerMasterShooter", "attack1");
        //弓箭特效
        animCache.addAnimation(animCache.createAnimation("arrow", 0, 0, 0.1f, true), "arrow");

        J_Map.LoadConfig();
        J_Creature.LoadConfig();
        J_SkillEvent.LoadConfig();
        J_Skill.LoadConfig();
        J_Tower.LoadConfig();

        GameObject uiroot = GameObject.Find("Canvas").gameObject;

        UiManager.Instance.Init(uiroot);

        //PathLoader pathloader = new PathLoader();
        //pathloader.LoadPath("level1");
        //PathInfo path = pathloader.GetPath("1");
        //path.PrintAllPoint();


        //charInfo.ChangeState("move");
        BattleFingerEvent.getInstance();
        tower = EntityManager.getInstance().AddTower(1);
        tower.SetPosition(250, 0, 0);
        tower.ChangeState("idle");
        GameManager.getInstance().LoadLevel(1);
        GameManager.getInstance().StartGame();
        //monster = EntityManager.getInstance().AddMonster(10002, path);
        //monster.SetPosition(-180, -150, 0);
    }