public void SetPlaceable(bool placeable)
    {
        this.isPlaceable = placeable;
        FarmSettingMark componentInChildren = base.GetComponentInChildren <FarmSettingMark>();

        componentInChildren.SetColor(placeable);
    }
    public void SetMarkColor(FarmField.Field field, int gridIndex)
    {
        int num  = gridIndex % field.fieldHorizontal - this.baseGridPositionX;
        int num2 = gridIndex / field.fieldHorizontal - this.baseGridPositionY;

        this.isPlaceable = true;
        if (0 > num || 0 > num2)
        {
            this.isPlaceable = false;
        }
        else
        {
            for (int i = 0; i < this.sizeY; i++)
            {
                int num3 = (i + num2) * field.fieldHorizontal;
                for (int j = 0; j < this.sizeX; j++)
                {
                    int num4 = num3 + num + j;
                    if (num + j >= field.fieldHorizontal || field.grids.Count <= num4 || field.grids[num4].invalid || field.grids[num4].put)
                    {
                        this.isPlaceable = false;
                        break;
                    }
                }
                if (!this.isPlaceable)
                {
                    break;
                }
            }
        }
        FarmSettingMark componentInChildren = base.GetComponentInChildren <FarmSettingMark>();

        componentInChildren.SetColor(this.isPlaceable);
    }
    private void Awake()
    {
        FarmRoot.instance = this;
        string     path       = "Farm/Builds/SettingMark/SettingMark";
        GameObject gameObject = AssetDataMng.Instance().LoadObject(path, null, true) as GameObject;

        if (null == gameObject)
        {
            return;
        }
        GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(gameObject);

        gameObject2.transform.parent           = base.transform;
        gameObject2.transform.localScale       = Vector3.one;
        gameObject2.transform.localPosition    = Vector3.zero;
        gameObject2.transform.localEulerAngles = Vector3.zero;
        this.settingMark = gameObject2.GetComponent <FarmSettingMark>();
        path             = "Farm/Builds/SelectMark/SelectMark";
        gameObject       = (AssetDataMng.Instance().LoadObject(path, null, true) as GameObject);
        if (null == gameObject)
        {
            return;
        }
        gameObject2 = UnityEngine.Object.Instantiate <GameObject>(gameObject);
        gameObject2.transform.parent           = base.transform;
        gameObject2.transform.localScale       = Vector3.one;
        gameObject2.transform.localPosition    = Vector3.zero;
        gameObject2.transform.localEulerAngles = Vector3.zero;
        this.selectMark = gameObject2.GetComponent <FarmSelectMark>();
        gameObject2.SetActive(false);
        FarmCameraControlForCMD.ClearCount();
    }
    public virtual void SetSettingMark(FarmField farmField, FarmSettingMark mark)
    {
        mark.SetParent(base.gameObject);
        Vector2 gridSize = new Vector2(farmField.gridHorizontal, farmField.gridVertical);

        mark.SetSize(this.sizeX, this.sizeY, gridSize);
        if (null != this.floorObject)
        {
            this.floorObject.SetActive(false);
        }
    }
    public override void SetSettingMark(FarmField farmField, FarmSettingMark mark)
    {
        mark.SetParent(base.gameObject);
        Vector2 gridSize = new Vector2(farmField.gridHorizontal, farmField.gridVertical);

        mark.SetSize(this.sizeX, this.sizeY, gridSize);
        if (null != this.floorObject)
        {
            Transform transform = this.floorObject.transform;
            this.originalScale = transform.localScale;
            Vector3 localScale = new Vector3(this.originalScale.x * this.movingScale.x, this.originalScale.y * this.movingScale.y, this.originalScale.z * this.movingScale.z);
            transform.localScale    = localScale;
            this.originalPosition   = transform.localPosition;
            transform.localPosition = this.movingPos;
        }
    }