// Update is called once per frame void Update() { bool bInit = false; if (m_eStepPre != m_eStep) { m_eStepPre = m_eStep; bInit = true; } switch (m_eStep) { case STEP.IDLE: if (bInit) { m_buttonBase.TriggerClear(); } if (m_buttonBase.ButtonPushed) { m_buttonBase.TriggerClear(); //Debug.Log (m_ItemMaster.category); if (m_bAbleUse) { switch ((Define.Item.Category)m_ItemMaster.category) { case Define.Item.Category.EXPAND: m_eStep = STEP.EXPAND_CHECK; break; case Define.Item.Category.TICKET: m_eStep = STEP.TICKET_CHECK; break; case Define.Item.Category.GOLD: m_eStep = STEP.GOLD_CHECK; break; default: GameMain.Instance.PreSettingItemId = 0; SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); GameMain.Instance.SettingItem(m_iItemId, m_iItemSerial); GameMain.Instance.SetStatus(GameMain.STATUS.PARK); break; } } } break; case STEP.EXPAND_CHECK: if (bInit) { GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject); m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> (); m_ojisanCheck.Initialize("動物園を\n拡張します\n\nよろしいですか"); } if (m_ojisanCheck.IsYes()) { SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); Destroy(m_ojisanCheck.gameObject); m_eStep = STEP.EXPAND_BUY; } else if (m_ojisanCheck.IsNo()) { SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); Destroy(m_ojisanCheck.gameObject); m_eStep = STEP.IDLE; } else { } break; case STEP.EXPAND_BUY: if (bInit) { GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject); m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> (); m_ojisanCheck.Initialize("拡張いたしました!", true); GameMain.dbItem.Insert(m_ItemMaster, 0, 0, 0); DataItem.OpenNewItem(m_ItemMaster.item_id); GameObject prefab = PrefabManager.Instance.PrefabLoadInstance("prefab/PrefFieldItem"); DataManager.user.AddGold(-1 * m_ItemMaster.need_coin); for (int x = 0; x < DataManager.user.m_iWidth + Define.EXPAND_FIELD + 1; x++) { for (int y = 0; y < DataManager.user.m_iHeight + Define.EXPAND_FIELD + 1; y++) { if (DataManager.user.m_iWidth <= x || DataManager.user.m_iHeight <= y) { CtrlFieldItem script = null; script = GameMain.ParkRoot.GetFieldItem(x, y); if (script == null) { GameObject obj = PrefabManager.Instance.MakeObject(prefab, GameMain.ParkRoot.gameObject); obj.name = "fielditem_" + x.ToString() + "_" + y.ToString(); script = obj.GetComponent <CtrlFieldItem> (); GameMain.ParkRoot.AddFieldItem(script); } int iDummyItemId = 0; if (x == DataManager.user.m_iWidth + Define.EXPAND_FIELD || y == DataManager.user.m_iHeight + Define.EXPAND_FIELD) { iDummyItemId = -1; } script.Init(x, y, iDummyItemId); } } } DataManager.user.m_iWidth += Define.EXPAND_FIELD; DataManager.user.m_iHeight += Define.EXPAND_FIELD; PlayerPrefs.SetInt(Define.USER_WIDTH, DataManager.user.m_iWidth); PlayerPrefs.SetInt(Define.USER_HEIGHT, DataManager.user.m_iHeight); } if (m_ojisanCheck.IsYes()) { GameMain.ListRefresh = true; Destroy(m_ojisanCheck.gameObject); m_eStep = STEP.IDLE; } break; case STEP.TICKET_CHECK: if (bInit) { string strBuyProductId = Define.GetProductId(m_ItemMaster.item_id, ref m_iTicketNum); PurchasesManager.buyItem(strBuyProductId); } if (PurchasesManager.Instance.IsPurchased()) { m_eStep = STEP.IDLE; if (PurchasesManager.Instance.Status == PurchasesManager.STATUS.SUCCESS) { m_eStep = STEP.TICKET_BUY; } } break; case STEP.TICKET_BUY: Debug.Log(string.Format("add ticket num:{0}", m_iTicketNum)); DataManager.user.AddTicket(m_iTicketNum); GameMain.Instance.HeaderRefresh(); m_eStep = STEP.IDLE; break; case STEP.GOLD_CHECK: if (bInit) { GameObject objOjisan = PrefabManager.Instance.MakeObject("prefab/PrefOjisanCheck", gameObject.transform.parent.parent.parent.parent.gameObject); m_ojisanCheck = objOjisan.GetComponent <CtrlOjisanCheck> (); m_ojisanCheck.Initialize(string.Format("チケットをゴールドに\n変換します\n\n{0}G→ {1}G\nよろしいですか", DataManager.user.m_iGold, DataManager.user.m_iGold + m_ItemMaster.add_coin)); } if (m_ojisanCheck.IsYes()) { SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); Destroy(m_ojisanCheck.gameObject); m_eStep = STEP.GOLD_BUY; } else if (m_ojisanCheck.IsNo()) { SoundManager.Instance.PlaySE(SoundName.BUTTON_PUSH); Destroy(m_ojisanCheck.gameObject); m_eStep = STEP.IDLE; } else { } break; case STEP.GOLD_BUY: DataManager.user.AddTicket(-1 * m_ItemMaster.need_ticket); DataManager.user.AddGold(m_ItemMaster.add_coin); GameMain.Instance.HeaderRefresh(); m_eStep = STEP.IDLE; break; default: break; } return; }
public void Initialize(List <DataItem> _itemList) { if (m_bInitialized == false) { myTransform.localPosition = new Vector3(0.0f, -300.0f, 0.0f); m_fieldItemList.Clear(); GameObject prefab = PrefabManager.Instance.PrefabLoadInstance("prefab/PrefFieldItem"); List <Grid> ignoreGridList = new List <Grid> (); //Debug.Log ("Here"); //DataManager.user.m_iWidth = 20; //DataManager.user.m_iHeight = 20; for (int x = 0; x < DataManager.user.m_iWidth + 1; x++) { for (int y = 0; y < DataManager.user.m_iHeight + 1; y++) { if (IsGridIgnore(ignoreGridList, x, y)) { //Debug.Log ("same" + x.ToString () + " " + y.ToString ()); } else { GameObject obj = PrefabManager.Instance.MakeObject(prefab, gameObject); obj.name = "fielditem_" + x.ToString() + "_" + y.ToString(); CtrlFieldItem script = obj.GetComponent <CtrlFieldItem> (); bool bHit = false; foreach (DataItem item in _itemList) { if (item.x == x && item.y == y) { script.Init(item); bHit = true; for (int dx = item.x; dx < item.x + item.width; dx++) { for (int dy = item.y; dy < item.y + item.height; dy++) { Grid ignoreGrid = new Grid(dx, dy); ignoreGridList.Add(ignoreGrid); } } break; } } if (bHit == false) { int iDummyItemId = 0; if (x == DataManager.user.m_iWidth || y == DataManager.user.m_iHeight) { iDummyItemId = -1; } script.Init(x, y, iDummyItemId); } m_fieldItemList.Add(script); } } } // 所属しているモンスターのみを取り出す List <DataMonster> monster_list = GameMain.dbMonster.Select(" item_serial != 0 "); foreach (DataMonster monster in monster_list) { CtrlFieldItem fielditem = GetFieldItem(monster.item_serial); GameObject objIcon = PrefabManager.Instance.MakeObject("prefab/PrefIcon", fielditem.gameObject); CtrlIconRoot iconRoot = objIcon.GetComponent <CtrlIconRoot> (); //iconRoot.m_iSize = fielditem.m_dataItem.width; iconRoot.Initialize(monster, fielditem); fielditem.Add(iconRoot); } List <DataStaff> staff_list = GameMain.dbStaff.Select(" item_serial != 0 "); foreach (DataStaff staff in staff_list) { CtrlFieldItem fielditem = GetFieldItem(staff.item_serial); GameObject objIcon = PrefabManager.Instance.MakeObject("prefab/PrefIcon", fielditem.gameObject); CtrlIconRoot iconRoot = objIcon.GetComponent <CtrlIconRoot> (); //iconRoot.m_iSize = fielditem.m_dataItem.width; iconRoot.Initialize(staff, fielditem); fielditem.Add(iconRoot); } } m_bInitialized = true; GameMain.Instance.HeaderRefresh(true); }
// Update is called once per frame void Update() { bool bInit = false; if (m_eStepPre != m_eStep) { m_eStepPre = m_eStep; bInit = true; Debug.Log(m_eStep); } if (m_iTabIndex == 4 && m_bDisp == false) { m_bDisp = true; if (0 == m_bannerScrollParen.m_childList.Count) { m_sprHospital.gameObject.SetActive(m_bDisp); } } else if (m_bDisp == true && m_iTabIndex != 4) { m_bDisp = false; m_sprHospital.gameObject.SetActive(m_bDisp); } else { } switch (m_eStep) { case STEP.IDLE: if (bInit) { if (m_csKatazukeCheck != null) { Destroy(m_csKatazukeCheck.gameObject); m_csKatazukeCheck = null; } m_pageHeader.TriggerClear(); } displayAutoUpdate(ITEM_DETAIL_TABS); if (m_pageHeader.ButtonPushed) { m_eStep = STEP.KATAZUKE_CHECK; } break; case STEP.KATAZUKE_CHECK: if (bInit) { GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefKatazukeCheck", gameObject); m_csKatazukeCheck = obj.GetComponent <CtrlKatazukeCheck> (); m_csKatazukeCheck.Initialize(); } if (m_csKatazukeCheck.YesOrNo.IsYes()) { m_eStep = STEP.KATAZUKE; } else if (m_csKatazukeCheck.YesOrNo.IsNo()) { m_eStep = STEP.IDLE; } else { ; // なにもしない } break; case STEP.KATAZUKE: if (bInit) { } // 消す予定のところに新しい土地を設置する for (int x = m_dataItem.x; x < m_dataItem.x + m_dataItem.width; x++) { for (int y = m_dataItem.y; y < m_dataItem.y + m_dataItem.height; y++) { GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefFieldItem", GameMain.ParkRoot.gameObject); obj.name = "fielditem_" + x.ToString() + "_" + y.ToString(); CtrlFieldItem script = obj.GetComponent <CtrlFieldItem> (); script.Init(x, y, 0); GameMain.ParkRoot.m_fieldItemList.Add(script); } } GameMain.dbItem.Update(GameMain.Instance.m_iSettingItemSerial, 0, 0, 0); int iRemoveIndex = 0; foreach (CtrlFieldItem item in GameMain.ParkRoot.m_fieldItemList) { if (item.m_dataItem.item_serial == GameMain.Instance.m_iSettingItemSerial) { item.Remove(); GameMain.ParkRoot.m_fieldItemList.RemoveAt(iRemoveIndex); break; } iRemoveIndex += 1; } // 取り除く m_itemDetailBase.Remove(); int iUriagePerHour = 0; List <DataItem> item_list = GameMain.dbItem.Select(" item_serial != 0 "); foreach (DataItem item in item_list) { iUriagePerHour += item.GetUriagePerHour(); } GameMain.dbKvs.WriteInt(Define.USER_URIAGE_PAR_HOUR, iUriagePerHour); // 仕事の確認 DataWork.WorkCheck(); GameMain.Instance.HeaderRefresh(); GameMain.ParkRoot.ConnectingRoadCheck(); // 片付けして戻る m_closeButton.Close(); Destroy(m_csKatazukeCheck.gameObject); m_csKatazukeCheck = null; break; default: break; } }
// Update is called once per frame void Update() { if (m_bIsEnd == false) { if (m_ButtonCollect.ButtonPushed) { // 消す予定のところに新しい土地を設置する for (int x = m_dataItem.x; x < m_dataItem.x + m_dataItem.width; x++) { for (int y = m_dataItem.y; y < m_dataItem.y + m_dataItem.height; y++) { GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefFieldItem", GameMain.ParkRoot.gameObject); obj.name = "fielditem_" + x.ToString() + "_" + y.ToString(); CtrlFieldItem script = obj.GetComponent <CtrlFieldItem> (); script.Init(x, y, 0); GameMain.ParkRoot.m_fieldItemList.Add(script); } } // 取り下げ GameMain.dbItem.Update(m_iItemSerial, 0, 0, 0); int iRemoveIndex = 0; foreach (CtrlFieldItem item in GameMain.ParkRoot.m_fieldItemList) { if (item.m_dataItem.item_serial == GameMain.Instance.m_iSettingItemSerial) { item.Remove(); GameMain.ParkRoot.m_fieldItemList.RemoveAt(iRemoveIndex); break; } iRemoveIndex += 1; } /* * foreach (CtrlFieldItem script in m_csParkRoot.m_fieldItemList) { * if (script.m_dataItem.item_serial == m_iItemSerial) { * * m_csParkRoot.m_fieldItemList.Remove (script); * Destroy (script.gameObject); * break; * } * } */ // 仕事の確認 DataWork.WorkCheck(); GameMain.Instance.HeaderRefresh(); m_csParkRoot.ConnectingRoadCheck(); m_bIsEnd = true; SoundManager.Instance.PlaySE(SoundName.BUTTON_CANCEL); } else if (m_ButtonClose.ButtonPushed) { m_bIsEnd = true; SoundManager.Instance.PlaySE(SoundName.BUTTON_CANCEL); } else { } } }
override protected void initialize() { bool bBuyAble = true; CtrlFieldItem moveFieldItem = null; if (m_parkMain.m_eEditMode == ParkMain.EDIT_MODE.NORMAL) { // 道路のみ特殊処理 // 道のみシリアルがあるものから利用 // あとあとを見越して、同じitem_idがあれば反応できるようにしておく if (GameMain.Instance.m_iSettingItemId == Define.ITEM_ID_ROAD) { List <DataItem> same_list = GameMain.dbItem.Select(string.Format(" item_id = {0} and status = {1} ", GameMain.Instance.m_iSettingItemId, (int)Define.Item.Status.NONE)); if (0 < same_list.Count) { GameMain.Instance.m_iSettingItemSerial = same_list [0].item_serial; } else { GameMain.Instance.m_iSettingItemSerial = 0; } } } else if (m_parkMain.m_eEditMode == ParkMain.EDIT_MODE.MOVE) { // そのまま使う // 自分を一度消す int iRemoveIndex = 0; foreach (CtrlFieldItem item in GameMain.ParkRoot.m_fieldItemList) { if (item.m_dataItem.item_serial == GameMain.Instance.m_iSettingItemSerial) { //item.Remove (); moveFieldItem = item; GameMain.Instance.m_iSettingItemId = moveFieldItem.m_dataItem.item_id; // 別にここでやる必要はない GameMain.ParkRoot.m_fieldItemList.RemoveAt(iRemoveIndex); break; } iRemoveIndex += 1; } DataItem dataItem = GameMain.dbItem.Select(GameMain.Instance.m_iSettingItemSerial); // 消す予定のところに新しい土地を設置する for (int x = dataItem.x; x < dataItem.x + dataItem.width; x++) { for (int y = dataItem.y; y < dataItem.y + dataItem.height; y++) { GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefFieldItem", GameMain.ParkRoot.gameObject); obj.name = "fielditem_" + x.ToString() + "_" + y.ToString(); CtrlFieldItem script = obj.GetComponent <CtrlFieldItem> (); script.Init(x, y, 0); GameMain.ParkRoot.m_fieldItemList.Add(script); } } } else { } //Debug.LogError (GameMain.Instance.m_iSettingItemSerial); if (m_parkMain.m_pageHeader == null) { m_parkMain.m_pageHeader = m_parkMain.makeHeader("header_item", "Setting1"); } m_editItemMaster = GameMain.dbItemMaster.Select(GameMain.Instance.m_iSettingItemId); m_DontSetGridList.Clear(); Release(m_goBuyType); if (GameMain.Instance.m_iSettingItemId == Define.ITEM_ID_ROAD && GameMain.Instance.m_iSettingItemSerial == 0 && GameMain.Instance.PreSettingItemId == Define.ITEM_ID_ROAD) { m_goBuyType = PrefabManager.Instance.MakeObject("prefab/PrefBuyType", gameObject); m_goBuyType.transform.localPosition = new Vector3(190.0f, 268.0f, 0.0f); BuyItemButton buy_type = m_goBuyType.GetComponent <BuyItemButton> (); string strBuyType = "[FF0000]購入[-]"; if (0 < GameMain.Instance.m_iSettingItemSerial) { strBuyType = "保管庫"; } buy_type.SetText(strBuyType); buy_type.SetText(string.Format("{0}G", m_editItemMaster.need_coin)); } if (m_YesNoButtonManager == null) { GameObject goButtonManager = PrefabManager.Instance.MakeObject("prefab/PrefYesNoButton", gameObject); goButtonManager.transform.localPosition = new Vector3(0.0f, -400.0f, 0.0f); m_YesNoButtonManager = goButtonManager.GetComponent <ButtonManager> (); m_YesNoButtonManager.ButtonInit(); m_YesNoButtonManager.TriggerClearAll(); } CtrlYesNoButton yes_no_button = m_YesNoButtonManager.gameObject.GetComponent <CtrlYesNoButton> (); m_eStep = STEP.IDLE; m_eStepPre = STEP.MAX; GameMain.Instance.m_bStartSetting = false; // ゾンビアイコンを00の位置に表示する m_iEditItemX = 3; m_iEditItemY = 3; GameMain.GetGrid(new Vector2(Screen.width / 2, Screen.height / 2), out m_iEditItemX, out m_iEditItemY); ParkMain.EDIT_MODE eEditMode = ParkMain.EDIT_MODE.NORMAL; Debug.Log(m_parkMain.m_eEditMode); if (m_parkMain.m_eEditMode == ParkMain.EDIT_MODE.NORMAL) { GameObject prefab = PrefabManager.Instance.PrefabLoadInstance("prefab/PrefFieldItem"); GameObject obj = PrefabManager.Instance.MakeObject(prefab, m_parkMain.goParkRoot); m_editItem = obj.GetComponent <CtrlFieldItem> (); } else if (m_parkMain.m_eEditMode == ParkMain.EDIT_MODE.MOVE) { eEditMode = ParkMain.EDIT_MODE.MOVE; m_editItem = moveFieldItem; //GameMain.ParkRoot.GetFieldItem (GameMain.Instance.m_iSettingItemSerial); m_iEditItemX = m_editItem.m_dataItem.x; m_iEditItemY = m_editItem.m_dataItem.y; Debug.Log(m_editItem.m_dataItem.item_id); } m_editItem.InitEdit(m_iEditItemX, m_iEditItemY, GameMain.Instance.m_iSettingItemId, eEditMode); //Debug.LogError( string.Format( "x:{0} y:{1}" , m_iEditItemX , m_iEditItemY )); // お金が足りる // 実際には道路しかひっかからないはず if (m_editItemMaster.need_coin <= DataManager.user.m_iGold) { bBuyAble = true; ; //OK } else { bBuyAble = false; } if (bBuyAble == false && 0 == GameMain.Instance.m_iSettingItemSerial) { yes_no_button.EnableButtonYes(false); } string strWhere = " status != 0 "; if (m_parkMain.m_eEditMode == ParkMain.EDIT_MODE.MOVE) { strWhere = string.Format(" status != {0} and item_serial != {1} ", (int)Define.Item.Status.NONE, GameMain.Instance.m_iSettingItemSerial); } DataManager.Instance.m_ItemDataList = GameMain.dbItem.Select(strWhere); Grid.SetUsingGrid(ref m_DontSetGridList, DataManager.Instance.m_ItemDataList); foreach (Grid dont in m_DontSetGridList) { //Debug.Log (string.Format ("x={0} y={1} ", dont.x, dont.y)); } bool bAbleSet = Grid.AbleSettingItem(m_editItemMaster, m_iEditItemX, m_iEditItemY, m_DontSetGridList); m_editItem.SetEditAble(bAbleSet); return; }
// Update is called once per frame void Update() { bool bInit = false; if (m_eStepPre != m_eStep) { m_eStepPre = m_eStep; bInit = true; } switch (m_eStep) { case STEP.IDLE: if (bInit) { if (m_csKatazukeCheck != null) { Destroy(m_csKatazukeCheck.gameObject); m_csKatazukeCheck = null; } m_pageHeader.TriggerClear(); } displayAutoUpdate(ITEM_DETAIL_TABS); if (m_pageHeader.ButtonPushed) { m_eStep = STEP.KATAZUKE_CHECK; } break; case STEP.KATAZUKE_CHECK: if (bInit) { GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefKatazukeCheck", gameObject); m_csKatazukeCheck = obj.GetComponent <CtrlKatazukeCheck> (); m_csKatazukeCheck.Initialize(); } if (m_csKatazukeCheck.YesOrNo.IsYes()) { m_eStep = STEP.KATAZUKE; } else if (m_csKatazukeCheck.YesOrNo.IsNo()) { m_eStep = STEP.IDLE; } else { ; // なにもしない } break; case STEP.KATAZUKE: if (bInit) { } List <DataStaff> staff_list = GameMain.dbStaff.Select(" office_serial = " + GameMain.Instance.m_iSettingItemSerial.ToString()); Dictionary <string, string> dict = new Dictionary <string, string> (); dict.Add("office_serial", "0"); dict.Add("item_serial", "0"); foreach (DataStaff staff in staff_list) { CtrlFieldItem fielditem = GameMain.ParkRoot.GetFieldItem(staff.item_serial); fielditem.RemoveStaff(staff.staff_serial); GameMain.dbStaff.Update(staff.staff_serial, dict); } // 上のスタッフを削除したとにしてください Debug.Log(GameMain.Instance.m_iSettingItemSerial); CtrlFieldItem ctrlFieldItem = GameMain.ParkRoot.GetFieldItem(GameMain.Instance.m_iSettingItemSerial); for (int x = m_dataItem.x; x < m_dataItem.x + m_dataItem.width; x++) { for (int y = m_dataItem.y; y < m_dataItem.y + m_dataItem.height; y++) { GameObject obj = PrefabManager.Instance.MakeObject("prefab/PrefFieldItem", GameMain.ParkRoot.gameObject); obj.name = "fielditem_" + x.ToString() + "_" + y.ToString(); CtrlFieldItem script = obj.GetComponent <CtrlFieldItem> (); script.Init(x, y, 0); GameMain.ParkRoot.m_fieldItemList.Add(script); } } ctrlFieldItem.Remove(); GameMain.dbItem.Update(GameMain.Instance.m_iSettingItemSerial, 0, 0, 0); int iRemoveIndex = 0; foreach (CtrlFieldItem item in GameMain.ParkRoot.m_fieldItemList) { if (item.m_dataItem.item_serial == GameMain.Instance.m_iSettingItemSerial) { GameMain.ParkRoot.m_fieldItemList.RemoveAt(iRemoveIndex); break; } iRemoveIndex += 1; } // 取り除く if (m_itemDetailBase != null) { m_itemDetailBase.Remove(); } // 片付けして戻る m_closeButton.Close(); Destroy(m_csKatazukeCheck.gameObject); m_csKatazukeCheck = null; // 仕事の確認 DataWork.WorkCheck(); GameMain.Instance.HeaderRefresh(); break; default: break; } }