/// <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);
 }
Пример #4
0
    /// <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);
    }
Пример #5
0
    /// <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);
            }
        }
    }
Пример #6
0
 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;
         }
     }
 }
Пример #7
0
	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;
 }
Пример #9
0
 protected AreaCodesJob(AreaTypeEnum areaType)
 {
     AreaType = areaType;
 }