/// <summary> /// 获取区域类型模型 /// </summary> /// <param name="areaType"></param> /// <param name="modelName"></param> /// <returns></returns> public GameObject GetAreaTypeModel(AreaTypeEnum areaType, string modelName) { //根据不同的地块生成不同的资源 if (dicModel.TryGetValue(modelName, out GameObject value)) { return(value); } string path = ""; switch (areaType) { case AreaTypeEnum.Base: path = Path_AreaType_Base; break; case AreaTypeEnum.Null: case AreaTypeEnum.BaseInit: path = Path_AreaType_Null; break; case AreaTypeEnum.Building: path = Path_AreaType_Building; break; case AreaTypeEnum.Gold: path = Path_AreaType_Gold; break; } GameObject objModel = LoadResourcesUtil.SyncLoadData <GameObject>(path + "/" + modelName); dicModel.Add(modelName, objModel); return(objModel); }
/// <summary> /// 随机获取区域类型信息 /// </summary> /// <param name="areaType"></param> /// <returns></returns> public AreaTypeInfoBean GetRandomAreaTypeInfo(AreaTypeEnum areaType) { List <AreaTypeInfoBean> listData = new List <AreaTypeInfoBean>(); switch (areaType) { case AreaTypeEnum.Base: listData = listAreaTypeInfoForBase; break; case AreaTypeEnum.Null: case AreaTypeEnum.BaseInit: listData = listAreaTypeInfoForNull; break; case AreaTypeEnum.Building: listData = listAreaTypeInfoForBuilding; break; case AreaTypeEnum.Gold: listData = listAreaTypeInfoForGold; break; } return(RandomUtil.GetRandomDataByList(listData)); }
public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader) { System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader)); this.AreaType = ((AreaTypeEnum)(binaryReader.ReadInt16())); this.fieldpad = binaryReader.ReadBytes(2); this.Zone = binaryReader.ReadShortBlockIndex1(); this.Area = binaryReader.ReadShortBlockIndex2(); return(pointerQueue); }
/// <summary> /// 为地形设置区域类型 /// </summary> /// <param name="groundHexagons"></param> protected void SetAreaTypeForGroundHexagons(AreaTypeEnum areaType, GroundHexagons groundHexagons) { groundHexagons.groundHexagonsData.SetAreaType(areaType); //随机设置模型名称 AreaTypeInfoBean areaTypeInfo = manager.GetRandomAreaTypeInfo(groundHexagons.groundHexagonsData.GetAreaType()); groundHexagons.groundHexagonsData.areaTypeModelName = areaTypeInfo.model_name; //获取区域类型模型 GameObject objModelAreaType = manager.GetAreaTypeModel(groundHexagons.groundHexagonsData.GetAreaType(), groundHexagons.groundHexagonsData.areaTypeModelName); AreaType areaTypeCpt = BuildItemAreaType(groundHexagons.areaTerrain.gameObject, objModelAreaType); groundHexagons.SetAreaType(areaTypeCpt); }
/// <summary> /// 初始化区域资源 /// </summary> public void InitAreaTypeForRes() { List <GroundHexagons> listData = manager.GetListGroundHexagons(); for (int i = 0; i < listData.Count; i++) { GroundHexagons groundHexagons = listData[i]; if (groundHexagons.groundHexagonsData.GetAreaType() == AreaTypeEnum.Null) { //随机设置区域类型 AreaTypeEnum areaType = (AreaTypeEnum)Random.Range(1, 4); SetAreaTypeForGroundHexagons(areaType, groundHexagons); } } }
public virtual void CorrectValues(bool p_force = false) { if (p_force || Application.isEditor) { if (m_size != _size) { Size = _size; } if (m_density != _density) { Density = _density; } if (m_resistence != _resistence) { Resistence = _resistence; } if (m_areaType != _areaType) { AreaType = _areaType; } } }
public virtual void CorrectValues(bool p_force = false) { if(p_force || Application.isEditor) { if(m_size != _size) Size = _size; if(m_density != _density) Density = _density; if(m_resistence != _resistence) Resistence = _resistence; if(m_areaType != _areaType) AreaType = _areaType; } }
public void SetAreaType(AreaTypeEnum areaType) { this.areaType = (int)areaType; }
protected AreaCodesJob(AreaTypeEnum areaType) { AreaType = areaType; }