public CanvasStock(EventSystemObject eso, CanvasObject dc, CanvasObject sc, List <CanvasObject> oc) { _eventSystem = eso; _dynamicCanvas = dc; _staticCanvas = sc; _otherCanvas = oc; }
public CanvasStock(EventSystemObject eso, CanvasObject dc, CanvasObject sc, int capacity) { _eventSystem = eso; _dynamicCanvas = dc; _staticCanvas = sc; _otherCanvas = new List <CanvasObject>(capacity); }
public static EventSystemObject CreateEventSystem() { var go = new GameObject(); go.transform.name = "EventSystem"; var es = go.AddComponent <EventSystem>(); var sim = go.AddComponent <StandaloneInputModule>(); var eso = new EventSystemObject(es, sim); return(eso); }
private void Awake() { DontDestroyOnLoad(gameObject); //名前の設定 gameObject.name = "UI_Kit"; //Creator初期化 Creator.Init(); var go = GameObject.Find("EventSystem"); var es = go != null?go.GetComponent <EventSystem>() : null; var eventSystemObject = new EventSystemObject(es, null); //EventStyleがないなら if (eventSystemObject.EventSystem == null) { //EventSystem初期化 eventSystemObject.Init(); } else { eventSystemObject.StandaloneInputModule = go.GetComponent <StandaloneInputModule>(); } //Canvas CanvasObject useDynamicCanvas = default; CanvasObject useStaticCanvas = default; //オリジナルCanvas var useOtherCanvas = new List <CanvasObject>(otherCanvas.Count); //Canvas初期化 //作成済みのDynamicCanvasを使う場合 if (useCreatedDynamicCanvas && (setOrCreateCanvas == SetOrCreateCanvasType.Dynamic || setOrCreateCanvas == SetOrCreateCanvasType.Both)) { useDynamicCanvas = CanvasObjectInit(this.dynamicCanvas); } else if (setOrCreateCanvas == SetOrCreateCanvasType.Dynamic || setOrCreateCanvas == SetOrCreateCanvasType.Both) { useDynamicCanvas = CanvasObjectInit(CanvasType.Dynamic, "Dynamic"); } //作成済みのStaticCanvasを使う場合 if (useCreatedStaticCanvas && (setOrCreateCanvas == SetOrCreateCanvasType.Static || setOrCreateCanvas == SetOrCreateCanvasType.Both)) { useStaticCanvas = CanvasObjectInit(this.staticCanvas); } else if (setOrCreateCanvas == SetOrCreateCanvasType.Static || setOrCreateCanvas == SetOrCreateCanvasType.Both) { useStaticCanvas = CanvasObjectInit(CanvasType.Static, "Static"); } //オリジナルCanvas初期化 //作成済みのOtherCanvasを使う場合 if (useCreatedOtherCanvas) { foreach (var _ in otherCanvas.Select((value, index) => new { Value = value, Index = index })) { useOtherCanvas[_.Index] = CanvasObjectInit(_.Value); } } else { foreach (var _ in otherCanvas.Select((value, index) => new { Value = value, Index = index })) { useOtherCanvas[_.Index] = CanvasObjectInit(CanvasType.Dynamic, _.Value.transform.name); } } //Stockに代入 var canvasStock = new CanvasStock(eventSystemObject, useDynamicCanvas, useStaticCanvas, useOtherCanvas); Stock = canvasStock; }