Example #1
0
    public void ConstructRemovableObject(RemovableObjectType type)
    {
        RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type);
        TilePosition centerPosition          = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position);
        TilePosition position = this.FindValidBuildingPosition(centerPosition, configData.BuildingObstacleList);

        if (position != null)
        {
            this.ConstructRemovableObject(type, position);
        }
    }
Example #2
0
    public void ConstructRemovableObject(RemovableObjectType type, TilePosition position)
    {
        RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type);

        string prefabName = string.Format("{0}{1}{2}", ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME,
                                          ClientStringConstants.REMOVABLE_OBJECT_PREFAB_PREFIX_NAME, configData.PrefabName);
        GameObject objectPrefab = Resources.Load(prefabName) as GameObject;
        GameObject newObject    = GameObject.Instantiate(objectPrefab) as GameObject;

        EditorRemovableObjectBehavior objectBehavior = newObject.AddComponent <EditorRemovableObjectBehavior>();

        objectBehavior.Position            = position;
        objectBehavior.RemovableObjectType = type;

        newObject.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(position);
        newObject.transform.parent   = this.m_SceneParent;
        this.PopulateMapData(position, configData.BuildingObstacleList, newObject);
    }
Example #3
0
    private void ConstructRemovableObject(BattleRemovableObjectParameter param)
    {
        RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(param.ObjectType);
        GameObject objectPrefab = Resources.Load(ClientStringConstants.BATTLE_SCENE_RESOURCE_PREFAB_PREFIX_NAME +
                                                 ClientStringConstants.REMOVABLE_OBJECT_PREFAB_PREFIX_NAME + configData.PrefabName) as GameObject;

        GameObject removableObject = GameObject.Instantiate(objectPrefab) as GameObject;

        removableObject.transform.position = PositionConvertor.GetWorldPositionFromBuildingTileIndex
                                                 (new TilePosition(param.PositionColumn, param.PositionRow));

        RemovableObjectPropertyBehavior property = removableObject.GetComponent <RemovableObjectPropertyBehavior>();

        property.BuildingPosition     = new TilePosition(param.PositionColumn, param.PositionRow);
        property.ObjectType           = param.ObjectType;
        property.ActorObstacleList    = new List <TilePosition>();
        property.BuildingObstacleList = new List <TilePosition>();
        foreach (TilePoint point in configData.ActorObstacleList)
        {
            property.ActorObstacleList.Add(point.ConvertToTilePosition());
        }
        foreach (TilePoint point in configData.BuildingObstacleList)
        {
            property.BuildingObstacleList.Add(point.ConvertToTilePosition());
        }
        removableObject.transform.parent = this.m_ParentNode;

        if (param.BuilderLevel.HasValue)
        {
            BattleObstacleUpgradingInfo info = new BattleObstacleUpgradingInfo()
            {
                AttachedBuilderLevel = param.BuilderLevel.Value, ObstacleProperty = property
            };
            this.m_SceneHelper.AddUpgradingObstacle(info);
        }

        this.m_SceneHelper.ConstructRemovableObject(removableObject);
    }
    private RemovableObjectData GenerateRemovableData(RemovableObjectParameter param)
    {
        RemovableObjectData       removableData = new RemovableObjectData();
        RemovableObjectConfigData configData    = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(param.RemovableObjectTypeID);

        if (param.PositionColumn.HasValue && param.PositionRow.HasValue)
        {
            removableData.Position = new TilePosition(param.PositionColumn.Value, param.PositionRow.Value);
        }
        removableData.ConfigData          = configData;
        removableData.BuilderBuildingNO   = param.BuilderBuildingNO;
        removableData.RemainingWorkload   = param.RemainWorkload;
        removableData.RemovableObjectNo   = param.RemovableObjectNo;
        removableData.RemovableObjectType = param.RemovableObjectTypeID;
        if (param.RewardExp.HasValue)
        {
            removableData.RewardExp       = param.RewardExp.Value;
            removableData.RewardGem       = param.RewardGem.Value;
            removableData.RewardProps     = param.RewardProps;
            removableData.RewardPropsType = param.RewardPropsType;
        }
        return(removableData);
    }
Example #5
0
 public void DestroyRemovableObject(TilePosition position, RemovableObjectConfigData configData)
 {
     this.PopulateMapData(position, configData.BuildingObstacleList, null);
 }