Beispiel #1
0
    public void EndSetting(bool deleteFarmObject)
    {
        if (deleteFarmObject)
        {
            UnityEngine.Object.Destroy(this.farmObject.gameObject);
        }
        this.farmObject  = null;
        this.settingMode = FarmObjectSetting.SettingMode.NONE;
        FarmRoot instance = FarmRoot.Instance;

        instance.Input.RemoveTouchDragEvent(new Func <InputControll, bool>(this.OnDrag));
    }
Beispiel #2
0
    public void SetMoveFarmObject(FarmObject farmObject)
    {
        FarmRoot  instance = FarmRoot.Instance;
        FarmField field    = instance.Field;

        this.farmObject  = farmObject;
        this.settingMode = FarmObjectSetting.SettingMode.MOVE;
        this.farmObject.SetSettingMark(field, instance.SettingMark);
        this.farmObject.SetPlaceable(true);
        farmObject.BackupPosition();
        field.SetGridPutFlag(this.farmObject, false);
        this.farmObject.DisplayedInFront(true);
        instance.Input.AddTouchDragEvent(new Func <InputControll, bool>(this.OnDrag));
    }
Beispiel #3
0
    public bool SetEditFarmObject(FarmObject farmObject, Vector3 basePos3D)
    {
        FarmRoot  instance = FarmRoot.Instance;
        FarmField field    = instance.Field;

        FarmField.Field field2 = field.GetField();
        this.farmObject  = farmObject;
        this.settingMode = FarmObjectSetting.SettingMode.EDIT;
        FarmGrid.GridPosition gridPosition = field.Grid.GetGridPosition(basePos3D);
        bool flag = field.IsOutsideField(gridPosition);

        if (flag)
        {
            gridPosition = field.Grid.GetGridPosition(Vector3.zero);
        }
        int     gridIndex          = field.Grid.GetGridIndex(gridPosition);
        Vector3 positionGridCenter = field.Grid.GetPositionGridCenter(gridIndex, false);

        this.farmObject.SetPosition(field.gridHorizontal, field.gridVertical, positionGridCenter);
        this.farmObject.DisplayedInFront(true);
        int[] gridIndexs = this.farmObject.GetGridIndexs(field2, gridIndex);
        this.farmObject.isPlaceable = (!this.farmObject.IsInvalidGrid(field, gridIndexs) && !this.farmObject.IsPutGrid(field2, gridIndexs));
        return(flag);
    }
Beispiel #4
0
    public bool SetFarmObject(FarmObject farmObject, Vector3 basePos3D)
    {
        FarmField field = FarmRoot.Instance.Field;

        this.farmObject  = farmObject;
        this.settingMode = FarmObjectSetting.SettingMode.BUILD;
        this.farmObject.SetSettingMark(field, FarmRoot.Instance.SettingMark);
        FarmGrid.GridPosition gridPosition = field.Grid.GetGridPosition(basePos3D);
        bool flag = field.IsOutsideField(gridPosition);

        if (flag)
        {
            gridPosition = field.Grid.GetGridPosition(Vector3.zero);
        }
        int     gridIndex          = field.Grid.GetGridIndex(gridPosition);
        Vector3 positionGridCenter = field.Grid.GetPositionGridCenter(gridIndex, false);

        this.farmObject.SetPosition(field.gridHorizontal, field.gridVertical, positionGridCenter);
        this.farmObject.DisplayedInFront(true);
        FarmField.Field field2 = field.GetField();
        this.farmObject.SetMarkColor(field2, gridIndex);
        FarmRoot.Instance.Input.AddTouchDragEvent(new Func <InputControll, bool>(this.OnDrag));
        return(flag);
    }