using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.Item;
using System.Collections.Generic;
using GCGame.Table;
using Games.GlobeDefine;

public class CommunitySettingLogic : UIControllerBase<CommunitySettingLogic>
{


    void OnEnable ()
    {
        SetInstance(this);

        LoadSetting();
    }

    void OnDisable()
    {
        SetInstance(null);
    }

    public void ShowWindow()
    {
        gameObject.SetActive(true);
    }

    public void CloseWindow()
    {
        gameObject.SetActive(false);
    }

    public void CloseAndSave()
    {
        gameObject.SetActive(false);
        SaveSetting();
    }


    #region 

    public Toggle _TNotOpenGpspos;
    public Toggle _TOnlyfriedcanleaveword;
    public Toggle _TMyinterestrolecanleaveword;
    public Toggle _TNotsharemyposonmap;

    private bool _IsLoadSetting = false;
    private bool _NotOpenGpspos;
    private bool _Onlyfriedcanleaveword;
    private bool _Myinterestrolecanleaveword;
    private bool _Notsharemyposonmap;

    public void LoadSetting()
    {
        if (_IsLoadSetting)
            return;

        CG_REQ_GET_MENGDAO_SETTING packet = (CG_REQ_GET_MENGDAO_SETTING)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_GET_MENGDAO_SETTING);
        packet.Nilparam = 1;
        packet.SendPacket();
    }

    public void RetSetting(GC_RET_GET_MENGDAO_SETTING packet)
    {
        _NotOpenGpspos = packet.Notopengpspos > 0;
        _Onlyfriedcanleaveword = packet.Onlyfriedcanleaveword > 0;
        _Myinterestrolecanleaveword = packet.Myinterestrolecanleaveword > 0;
        _Notsharemyposonmap = packet.Notsharemyposonmap > 0;

        _TNotOpenGpspos.isOn = _NotOpenGpspos;
        _TOnlyfriedcanleaveword.isOn = _Onlyfriedcanleaveword;
        _TMyinterestrolecanleaveword.isOn = _Myinterestrolecanleaveword;
        _TNotsharemyposonmap.isOn = _Notsharemyposonmap;
    }

    public void SaveSetting()
    {
        bool dirty = false;
        if (_TNotOpenGpspos.isOn != _NotOpenGpspos)
        {
            _NotOpenGpspos = _TNotOpenGpspos.isOn;
            dirty = true;
        }
        if (_TOnlyfriedcanleaveword.isOn != _Onlyfriedcanleaveword)
        {
            _Onlyfriedcanleaveword = _TOnlyfriedcanleaveword.isOn;
            dirty = true;
        }
        if (_TMyinterestrolecanleaveword.isOn != _Myinterestrolecanleaveword)
        {
            _Myinterestrolecanleaveword = _TMyinterestrolecanleaveword.isOn;
            dirty = true;
        }
        if (_TNotsharemyposonmap.isOn != _Notsharemyposonmap)
        {
            _Notsharemyposonmap = _TNotsharemyposonmap.isOn;
            dirty = true;
        }

        if (dirty)
        {
            CG_REQ_SAVE_MENGDAO_SETTING packet = (CG_REQ_SAVE_MENGDAO_SETTING)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_SAVE_MENGDAO_SETTING);
            packet.Notopengpspos = _NotOpenGpspos?1:0;
            packet.Onlyfriedcanleaveword = _Onlyfriedcanleaveword ? 1 : 0;
            packet.Myinterestrolecanleaveword = _Myinterestrolecanleaveword ? 1 : 0;
            packet.Notsharemyposonmap = _Notsharemyposonmap ? 1 : 0;
            packet.SendPacket();
        }
    }
    #endregion
}