private void Start() { string[] dialogueTitles = ConfigManager.GetAllTitles(configFolderName); StuffData[] stuffDatas = new StuffData[dialogueTitles.Length]; //SetContentParentHeight(dialogueTitles.Length); int i = 0; foreach (var item in dialogueTitles) { stuffDatas[i++] = new StuffData { fileName = item }; } DialogueImage[] dialogueImages = CreateStuffImages(stuffDatas); foreach (DialogueImage item in dialogueImages) { item.Content = (string)ConfigManager.GetConfig(configFolderName, item.Data.fileName); item.DialoguePrefabs = dialoguePrefabs; } }
public static Stuff CreateStuff(StuffData data, string path, Vector3 position, Quaternion rotation) { Stuff stuff = CreateStuff(path, position, rotation); stuff.data = data; return(stuff); }
public IActionResult Update(int id, [FromBody] StuffItem item) { if (item == null || item.Id != id) { return(BadRequest()); } StuffData.UpdateStuff(id, item); return(new NoContentResult()); }
public IActionResult GetById(int id) { var item = StuffData.GetStuff(id); if (item == null) { return(NotFound()); } return(new ObjectResult(item)); }
private T CreateStuffImage(ref float y, StuffData stuffData) { T stuffImage = Instantiate(StuffImagePrefabs); stuffImage.transform.SetParent(targetContent); stuffImage.Data = stuffData; RectTransform rect = stuffImage.GetComponent <RectTransform>(); rect.anchoredPosition = new Vector2(0, y); y -= rect.rect.height + spacing; return(stuffImage); }
public IActionResult Create([FromBody] StuffItem item) { if (item == null) { return(BadRequest()); } StuffData.CreateStuff(item); item = StuffData.GetStuff(StuffData.GetMaxId()); if (item == null) { return(NotFound()); } return(new ObjectResult(item));; }
protected T[] CreateStuffImages(StuffData[] stuffDatas) { SetContentParentHeight(stuffDatas.Length); float y = firstOneY; T[] rets = new T[stuffDatas.Length]; for (int i = 0; i < stuffDatas.Length; i++) { StuffData stuffData = stuffDatas[i]; rets[i] = CreateStuffImage(ref y, stuffData); } return(rets); }
public override Stuff Instantiate(InstantiateData instantiateData) { GameObject @object = new GameObject(instantiateData.fileName); StuffData data = new StuffData { fileName = instantiateData.fileName, texture = (Texture)ConfigManager.GetConfig(folderName, instantiateData.fileName) }; var stuff = @object.AddComponent <Stuff>(); stuff.Data = data; stuff.Factory = this; stuff.transform.position = instantiateData.worldPoint; RawImage image = @object.AddComponent <RawImage>(); image.texture = data.texture; image.SetNativeSize(); @object.transform.localScale *= Screen.height / image.texture.height * screenRatio; return(stuff); }
public IEnumerable <StuffItem> GetAll() { return(StuffData.GetStuff()); }
public static void AddStuffData(StuffData data) { stuffContainer.stuff.Add(data); }
/// <summary> /// 更改场景 /// </summary> /// <param name="sceneName">场景名</param> /// <param name="playerLocation">玩家的位置</param> /// <param name="LoadResultAction">加载结果回调</param> public void ChangedScene(string sceneName, Vector3 playerLocation, Action <bool> LoadResultAction = null) { GameRunType = EnumGameRunType.Start;//切换场景时当前的状态为开始状态 //如果要切换的场景不是当前场景则加载场景 if (SceneName != sceneName) { //保存原来地形的遮罩图 if (!string.IsNullOrEmpty(SceneName)) { playerState.SaveGetSceneMapMaskData(SceneName); } //开始加载 UIChangeScene.Instance.LoadScene(sceneName, result => { //自身调用初始化数据 Debug.Log("需要调用自身的函数实现数据的初始化,如地图显示,npc位置等一系列的数据"); //加载地图的图片以及遮罩资源 IMapState iMapState = GetEntity <IMapState>(); MapData mapData = DataCenter.Instance.GetMetaData <MapData>(); MapDataInfo mapDataInfo = mapData[sceneName]; if (mapDataInfo != null) { mapDataInfo.Load(); iMapState.MapBackSprite = mapDataInfo.MapSprite; Sprite mapMaskSprite = playerState.GetSceneMapMaskSprite(sceneName, mapDataInfo.MapSprite); iMapState.MaskMapSprite = mapMaskSprite; iMapState.MapRectAtScene = mapDataInfo.SceneRect; } //初始化npc与npc的位置 NPCData npcData = DataCenter.Instance.GetMetaData <NPCData>(); NPCDataInfo[] npcDataInfos = npcData.GetNPCDataInfos(sceneName); foreach (NPCDataInfo npcDataInfo in npcDataInfos) { npcDataInfo.Load();//切换场景时有时候会导致游戏对象被删除,需要重新Load } //初始化采集点与采集点的位置 StuffData stuffData = DataCenter.Instance.GetMetaData <StuffData>(); StuffDataInfo[] stuffDataInfos = stuffData.GetStuffDataInfos(sceneName); foreach (StuffDataInfo stuffDataInfo in stuffDataInfos) { stuffDataInfo.Load();//切换场景时有时候会导致游戏对象被删除,需要重新Load } //初始化功能交互对象 ActionInteractiveData actionInteractiveData = DataCenter.Instance.GetMetaData <ActionInteractiveData>(); ActionInteractiveDataInfo[] actionInteractiveDataInfos = actionInteractiveData.GetActionInteractiveDataInfos(sceneName); foreach (ActionInteractiveDataInfo actionInteractiveDataInfo in actionInteractiveDataInfos) { actionInteractiveDataInfo.Load();//切换场景时有时候会导致游戏对象被删除,需要重新Load } //创建UI GameObject mainCanvasPrefab = Resources.Load <GameObject>("UI/MainCanvas"); GameObject.Instantiate(mainCanvasPrefab); //创建玩家操纵的游戏对象 GameObject playerPrefab = Resources.Load <GameObject>("Prefabs/Player"); GameObject.Instantiate(playerPrefab); //更改过后修改玩家位置 PlayerObj.transform.position = playerLocation; //回调 if (LoadResultAction != null) { LoadResultAction(result); } SceneName = sceneName; GameRunType = EnumGameRunType.Safe; //场景变换回调 Call <IGameState, Action <string, Vector3, Action <bool> > >(temp => temp.ChangedScene); }); } else//如果不需要切换场景则直接更改玩家位置即可 { UIChangeScene.Instance.MovePlayer(3, result => { GameRunType = EnumGameRunType.Safe; //场景变换回调 Call <IGameState, Action <string, Vector3, Action <bool> > >(temp => temp.ChangedScene); }); //更改过后修改玩家位置 PlayerObj.transform.position = playerLocation; //关闭当前按显示的UI IInteractiveState iInteractiveState = GameState.Instance.GetEntity <IInteractiveState>(); iInteractiveState.ActionObj.SetActive(false); } }