Exemplo n.º 1
0
    void Update()
    {
        if (!this.m_IsLoadSceneFromDisk)
        {
            Hashtable map = MapReader.Instance.LoadMap();

            if (map != null)
            {
                FindRivalResponseParameter param = DataConvertor.ConvertJSONToParameter(map);
                foreach (var building in param.Buildings)
                {
                    EditorFactory.Instance.ConstructBuilding(building.BuildingType, building.Level,
                                                             new TilePosition(building.PositionColumn, building.PositionRow));
                }
                foreach (var removableObject in param.Objects)
                {
                    EditorFactory.Instance.ConstructRemovableObject(removableObject.ObjectType,
                                                                    new TilePosition(removableObject.PositionColumn, removableObject.PositionRow));
                }
                foreach (var achievementBuilding in param.AchievementBuildings)
                {
                    EditorFactory.Instance.ConstructAchievementBuilding(achievementBuilding.AchievementBuildingType,
                                                                        new TilePosition(achievementBuilding.PositionColumn, achievementBuilding.PositionRow));
                }
                foreach (var defenseObject in param.DefenseObjects)
                {
                    EditorFactory.Instance.ConstructDefenseObject(defenseObject.PropsType,
                                                                  new TilePosition(defenseObject.PositionColumn, defenseObject.PositionRow));
                }
            }
            this.m_IsLoadSceneFromDisk = true;
        }
    }
Exemplo n.º 2
0
    void Start()
    {
        Hashtable map = MapReader.Instance.LoadMap();

        BattleSceneHelper.Instance.ClearObject();
        int battleRandomSeed = 0;

        BattleRandomer.Instance.SetSeed(battleRandomSeed);

        if (map != null)
        {
            this.m_Factory.ConstructBuilding(DataConvertor.ConvertJSONToParameter(map));
            this.m_Map.SetMap(this.CurrentRivalAge);

            BattleMapData.Instance.ConstructGridArray();
            this.m_GridFactory.ConstructGird();
        }

        //AudioController.PlayMusic("BattleStart");
        BattleSceneHelper.Instance.EnableBuildingAI();
        BattleRecorder.Instance.BattleStartTime = TimeTickRecorder.Instance.CurrentTimeTick;
    }
Exemplo n.º 3
0
    public MatchLogResponseParameter GetReplayData()
    {
        MatchLogResponseParameter result = new MatchLogResponseParameter();

        result.RandomSeed       = 0;
        result.RivalInformation = DataConvertor.ConvertJSONToParameter((Hashtable)(JSONHelper.jsonDecode(this.GetMapInformation())));

        Hashtable battleInfo = (Hashtable)JSONHelper.jsonDecode(this.GetBattleInformation());

        result.TotalTime = Convert.ToInt32(battleInfo[EditorConfigInterface.Instance.BattleTimeKey]);

        result.DropArmyCommands      = new List <DropArmyResponseParameter>();
        result.DropMercenaryCommands = new List <DropMercenaryResponseParameter>();
        result.UsePropsCommands      = new List <UsePropsResponseParameter>();

        if (battleInfo.ContainsKey(EditorConfigInterface.Instance.BattleArmyKey))
        {
            ArrayList dropArmies = (ArrayList)battleInfo[EditorConfigInterface.Instance.BattleArmyKey];
            foreach (var army in dropArmies)
            {
                DropArmyResponseParameter param = new DropArmyResponseParameter();
                Hashtable a = (Hashtable)army;
                param.ArmyType    = (ArmyType)(Convert.ToInt32(a[EditorConfigInterface.Instance.DropTypeKey]));
                param.Level       = Convert.ToInt32(a[EditorConfigInterface.Instance.ArmyLevelKey]);
                param.PositionX   = float.Parse(a[EditorConfigInterface.Instance.DropPositionXKey].ToString());
                param.PositionY   = float.Parse(a[EditorConfigInterface.Instance.DropPositionYKey].ToString());
                param.OperateTime = Convert.ToInt32(a[EditorConfigInterface.Instance.DropTimeKey]);
                result.DropArmyCommands.Add(param);
            }
        }
        if (battleInfo.ContainsKey(EditorConfigInterface.Instance.BattleMercenaryKey))
        {
            ArrayList dropMercenaries = (ArrayList)battleInfo[EditorConfigInterface.Instance.BattleMercenaryKey];
            foreach (var mercenary in dropMercenaries)
            {
                DropMercenaryResponseParameter param = new DropMercenaryResponseParameter();
                Hashtable a = (Hashtable)mercenary;
                param.MercenaryType = (MercenaryType)(Convert.ToInt32(a[EditorConfigInterface.Instance.DropTypeKey]));
                param.PositionX     = float.Parse(a[EditorConfigInterface.Instance.DropPositionXKey].ToString());
                param.PositionY     = float.Parse(a[EditorConfigInterface.Instance.DropPositionYKey].ToString());
                param.OperateTime   = Convert.ToInt32(a[EditorConfigInterface.Instance.DropTimeKey]);
                result.DropMercenaryCommands.Add(param);
            }
        }

        if (battleInfo.ContainsKey(EditorConfigInterface.Instance.BattlePropsKey))
        {
            ArrayList useProps = (ArrayList)battleInfo[EditorConfigInterface.Instance.BattlePropsKey];
            foreach (var props in useProps)
            {
                UsePropsResponseParameter param = new UsePropsResponseParameter();
                Hashtable p = (Hashtable)props;
                param.PropsType   = (PropsType)(Convert.ToInt32(p[EditorConfigInterface.Instance.DropTypeKey]));
                param.PositionX   = float.Parse(p[EditorConfigInterface.Instance.DropPositionXKey].ToString());
                param.PositionY   = float.Parse(p[EditorConfigInterface.Instance.DropPositionYKey].ToString());
                param.OperateTime = Convert.ToInt32(p[EditorConfigInterface.Instance.DropTimeKey]);
                result.UsePropsCommands.Add(param);
            }
        }

        return(result);
    }