protected override void ReadFrom(Game game, AI ai, string name, SaveReaderText reader)
        {
            base.ReadFrom(game, ai, name, reader);

            type          = reader.Value($"{name}.building_type").ReadBuilding();
            builtPosition = reader.Value($"{name}.built_position").ReadUInt();
        }
        protected override void ReadFrom(Game game, AI ai, string name, SaveReaderText reader)
        {
            base.ReadFrom(game, ai, name, reader);

            tool = reader.Value($"{name}.tool").ReadResource();
            triesBuildToolmaker = reader.Value($"{name}.tries_build_toolmaker").ReadInt();
            tries         = reader.Value($"{name}.tries").ReadInt();
            previousCount = reader.Value($"{name}.previous_count").ReadInt();
        }
Beispiel #3
0
        protected override void ReadFrom(Game game, AI ai, string name, SaveReaderText reader)
        {
            base.ReadFrom(game, ai, name, reader);

            checkDisconnectedFlagsTick  = reader.Value($"{name}.check_disconnected_flags_tick").ReadInt();
            buildNeededBuildingsTick    = reader.Value($"{name}.build_needed_buildings_tick").ReadInt();
            adjustSettingsTick          = reader.Value($"{name}.adjust_settings_tick").ReadInt();
            avoidCongestionTick         = reader.Value($"{name}.avoid_congestion_tick").ReadInt();
            destroyUselessBuildingsTick = reader.Value($"{name}.destroy_useless_buildings_tick").ReadInt();
            attackTick = reader.Value($"{name}.attack_tick").ReadInt();

            buildNeededBuildingState   = (AIStateCheckNeededBuilding)Read(game, ai, $"{name}.build_needed_building_state", reader);
            linkDisconnectedFlagsState = (AIStateLinkDisconnectedFlags)Read(game, ai, $"{name}.link_disconnected_flags_state", reader);
        }
Beispiel #4
0
        protected override void ReadFrom(Game game, AI ai, string name, SaveReaderText reader)
        {
            base.ReadFrom(game, ai, name, reader);

            int numConnectTriesPerFlag = reader.Value($"{name}.connect_tries_per_flag.count").ReadInt();

            for (int i = 0; i < numConnectTriesPerFlag; ++i)
            {
                var flagIndex = reader.Value($"{name}.connect_tries_per_flag.flag{i}").ReadUInt();
                var tries     = reader.Value($"{name}.connect_tries_per_flag.tries{i}").ReadInt();

                try
                {
                    var flag = game.GetFlag(flagIndex);

                    connectTriesPerFlag.Add(flag, tries);
                }
                catch
                {
                    // ignore
                }
            }

            int numLinkingFailed = reader.Value($"{name}.linking_failed.count").ReadInt();

            for (int i = 0; i < numLinkingFailed; ++i)
            {
                var flagIndex = reader.Value($"{name}.linking_failed.flag{i}").ReadUInt();
                var amount    = reader.Value($"{name}.linking_failed.amount{i}").ReadInt();

                try
                {
                    var flag = game.GetFlag(flagIndex);

                    linkingFailed.Add(flag, amount);
                }
                catch
                {
                    // ignore
                }
            }

            linkingCount = reader.Value($"{name}.linking_count").ReadInt();
        }
        protected override void ReadFrom(Game game, AI ai, string name, SaveReaderText reader)
        {
            base.ReadFrom(game, ai, name, reader);

            mineralType = reader.Value($"{name}.mineral_type").ReadEnum <Map.Minerals>();
        }
        protected override void ReadFrom(Game game, AI ai, string name, SaveReaderText reader)
        {
            base.ReadFrom(game, ai, name, reader);

            buildingIndex = reader.Value($"{name}.building_index").ReadUInt();
        }