123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- using System;
- using I2.Loc;
- using Schedule;
- using UnityEngine;
- public class OnHoverTaskIcon : MonoBehaviour
- {
- public void Init(string taskName, Maid maid, ScheduleMgr.ScheduleTime time)
- {
- this.taskName = taskName;
- this.maid = maid;
- if (string.IsNullOrEmpty(taskName))
- {
- return;
- }
- this.m_goNamePlate = UTY.GetChildObject(base.gameObject, "NamePlate", false);
- this.spritePlate = this.m_goNamePlate.GetComponent<UISprite>();
- this.labelName = UTY.GetChildObject(this.m_goNamePlate, "Name", false).GetComponent<UILabel>();
- this.labelName.width = 0;
- this.SetText(taskName, -1);
- this.m_goNamePlate.SetActive(false);
- this.WariningFacilty = UTY.GetChildObject(base.gameObject, "WarningFacilty", false).GetComponent<UISprite>();
- this.WariningFacilty.gameObject.SetActive(false);
- this.time = time;
- int key = 0;
- if (maid != null)
- {
- if (time == ScheduleMgr.ScheduleTime.DayTime)
- {
- key = maid.status.noonWorkId;
- }
- else if (time == ScheduleMgr.ScheduleTime.Night)
- {
- key = maid.status.nightWorkId;
- }
- ScheduleCSVData.ScheduleBase scheduleBase = ScheduleCSVData.AllData[key];
- if (scheduleBase.type == ScheduleTaskCtrl.TaskType.Work)
- {
- this.workData = (ScheduleCSVData.Work)scheduleBase;
- this.facility = GameMain.Instance.FacilityMgr.GetMaidAssignedFacility(maid, time);
- }
- }
- }
- private void Update()
- {
- if (this.workData != null && this.workData.id != ScheduleCSVData.faclilityPowerUpWorkId)
- {
- this.WariningFacilty.gameObject.SetActive(!this.facility.IsOperation(this.time));
- }
- }
- public void SetText(string message, int needNum = -1)
- {
- UISprite component = this.m_goNamePlate.GetComponent<UISprite>();
- if (Product.supportMultiLanguage)
- {
- string text = message;
- if (message.IndexOf('\n') != -1)
- {
- text = message.Split(new char[]
- {
- '\n'
- })[0];
- }
- string text2 = string.Empty;
- text2 = LocalizationManager.GetTranslation("SceneDaily/スケジュール/項目/" + text, true, 0, true, false, null, null);
- if (string.IsNullOrEmpty(text2))
- {
- text2 = LocalizationManager.GetTranslation("SceneFacilityManagement/施設名/" + text, true, 0, true, false, null, null);
- }
- if (string.IsNullOrEmpty(text2))
- {
- text2 = text;
- }
- string text3 = string.Empty;
- if (needNum != -1)
- {
- text3 = LocalizationManager.GetTranslation("SceneDaily/あと{0}人必要です", true, 0, true, false, null, null);
- }
- string text4 = text2;
- if (!string.IsNullOrEmpty(text3))
- {
- text4 = text4 + "\n" + string.Format(text3, needNum);
- }
- this.labelName.text = text4;
- this.labelName.MakePixelPerfect();
- }
- else
- {
- this.labelName.text = message;
- this.labelName.MakePixelPerfect();
- }
- string[] array = message.Split(new char[]
- {
- '\n'
- });
- int num = 0;
- foreach (string text5 in array)
- {
- if (num < text5.Length)
- {
- num = text5.Length;
- }
- }
- component.width = this.labelName.width + 15;
- component.height = array.Length * 33;
- }
- private void OnHover(bool isOver)
- {
- if (isOver)
- {
- if (this.m_goNamePlate != null)
- {
- if (Product.supportMultiLanguage)
- {
- this.SetText(this.taskName, -1);
- }
- this.m_goNamePlate.SetActive(true);
- }
- if (this.workData != null && this.workData.id != ScheduleCSVData.faclilityPowerUpWorkId)
- {
- this.CheckFacilityState();
- }
- }
- else
- {
- if (this.m_goNamePlate != null)
- {
- this.m_goNamePlate.SetActive(false);
- }
- if (this.WariningFacilty != null)
- {
- this.WariningFacilty.gameObject.SetActive(false);
- }
- }
- }
- private void CheckFacilityState()
- {
- if (!this.facility.IsOperation(this.time))
- {
- int num;
- if (this.time == ScheduleMgr.ScheduleTime.DayTime)
- {
- num = this.facility.minMaidCount - this.facility.nowDayTimeMaidCount;
- }
- else
- {
- num = this.facility.minMaidCount - this.facility.nowNightMaidCount;
- }
- this.SetText(string.Concat(new object[]
- {
- this.taskName,
- "\nあと[FF0000]",
- num,
- "人[-]必要です"
- }), num);
- }
- else
- {
- this.SetText(this.taskName, -1);
- }
- }
- private GameObject m_goNamePlate;
- private UISprite spritePlate;
- private UILabel labelName;
- private const int SIDE_OFFSET = 15;
- private const int VERT_OFFSET = 33;
- private string taskName;
- private ScheduleCSVData.Work workData;
- public UISprite WariningFacilty;
- private ScheduleMgr.ScheduleTime time;
- private Facility facility;
- private Maid maid;
- }
|