コード例 #1
0
    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;
        }
    }
コード例 #2
0
    public static Stuff CreateStuff(StuffData data, string path, Vector3 position, Quaternion rotation)
    {
        Stuff stuff = CreateStuff(path, position, rotation);

        stuff.data = data;

        return(stuff);
    }
コード例 #3
0
        public IActionResult Update(int id, [FromBody] StuffItem item)
        {
            if (item == null || item.Id != id)
            {
                return(BadRequest());
            }

            StuffData.UpdateStuff(id, item);
            return(new NoContentResult());
        }
コード例 #4
0
        public IActionResult GetById(int id)
        {
            var item = StuffData.GetStuff(id);

            if (item == null)
            {
                return(NotFound());
            }
            return(new ObjectResult(item));
        }
コード例 #5
0
    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);
    }
コード例 #6
0
        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));;
        }
コード例 #7
0
    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);
    }
コード例 #8
0
    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);
    }
コード例 #9
0
 public IEnumerable <StuffItem> GetAll()
 {
     return(StuffData.GetStuff());
 }
コード例 #10
0
ファイル: SaveData.cs プロジェクト: AlexeyInc/EndlessRunner
 public static void AddStuffData(StuffData data)
 {
     stuffContainer.stuff.Add(data);
 }
コード例 #11
0
 /// <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);
     }
 }