コード例 #1
0
ファイル: HarvestVoxel.cs プロジェクト: zrisher/ARMS
        protected override AutopilotActionList.AutopilotAction Parse(VRage.Game.ModAPI.IMyCubeBlock autopilot, string command, out string message)
        {
            byte[] oreType;

            if (command.Equals("arvest", StringComparison.InvariantCultureIgnoreCase))
            {
                oreType = null;
            }
            else
            {
                if (string.IsNullOrWhiteSpace(command))
                {
                    message = "no ores specified";
                    return(null);
                }

                string[]    splitComma  = command.Split(',');
                List <byte> oreTypeList = new List <byte>();
                m_activeOres.Clear();

                foreach (string name in splitComma)
                {
                    string trimmed = name.Trim();
                    Ore    ore;
                    if (!TryGetOre(trimmed, out ore))
                    {
                        message = "Not ore: " + name;
                        return(null);
                    }
                    byte[] oreIds;
                    if (!OreDetector.TryGetMaterial(trimmed, out oreIds))
                    {
                        message = "Failed to get material index: " + name;
                        return(null);
                    }

                    m_activeOres.Add(ore);
                    oreTypeList.AddArray(oreIds);
                }
                oreType = oreTypeList.ToArray();
            }

            message = null;
            return(mover => new Miner(mover, oreType));
        }