Пример #1
0
    public RemovableObjectLogicObject BuyRemovableObject(RemovableObjectType type, TilePosition position, int propsNo, ref bool isRewardProps)
    {
        RemovableObjectData data = new RemovableObjectData();

        data.Position            = position;
        data.RemovableObjectNo   = ++this.m_RemovableObjectStartNo;
        data.RemovableObjectType = type;
        data.ConfigData          = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type);

        RemovableObjectLogicObject result = new RemovableObjectLogicObject(data);

        isRewardProps = result.GenerateRewardData(propsNo);
        this.m_ObjectDict.Add(data.RemovableObjectNo, result);
        result.RemoveTimeUp += ObjectRemoveTimeUp;

        BuyRemovableObjectRequestParameter request = new BuyRemovableObjectRequestParameter();

        request.PositionColumn      = data.Position.Column;
        request.PositionRow         = data.Position.Row;
        request.RemovableObjectType = type;
        request.RewardExp           = data.RewardExp;
        request.RewardGem           = data.RewardGem;
        request.RewardPropsType     = data.RewardPropsType;
        CommunicationUtility.Instance.BuyRemovableObject(request);
        return(result);
    }
Пример #2
0
 public void OnRemoveObject(RemovableObjectType objectType)
 {
     foreach (Task task in this.m_TaskList)
     {
         if (task.Status == TaskStatus.Opened)
         {
             task.OnRemoveObject(objectType);
         }
     }
 }
Пример #3
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);
        }
    }
Пример #4
0
    public RemovableObjectLogicData BuyRemovableObject(RemovableObjectType type, TilePosition position)
    {
        ProductRemovableObjectConfigData configData = ConfigInterface.Instance.ProductConfigHelper.GetProductRemovableObject(type);

        this.m_PlayerModule.Consume(0, 0, 0, configData.GemPrice);

        bool isReward = false;
        int  propsNo  = this.m_PropsModule.GetNextPropsNo();
        RemovableObjectLogicData result = this.m_RemovableModule.BuyRemovableObject(type, position, propsNo, ref isReward).LogicData;

        if (!isReward)
        {
            this.m_PropsModule.ReversePropsNo();
        }
        return(result);
    }
Пример #5
0
    public virtual void OnRemoveObject(RemovableObjectType objectType)
    {
        bool isCompleted = true;

        foreach (Condition condition in m_ConditionList)
        {
            condition.OnRemoveObject(objectType);
            if (!condition.IsComplete)
            {
                isCompleted = false;
            }
        }
        if (isCompleted)
        {
            this.CompleteTask();
        }
    }
Пример #6
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);
    }
Пример #7
0
 public virtual void OnRemoveObject(RemovableObjectType objectType)
 {
 }
Пример #8
0
 public override void OnRemoveObject(RemovableObjectType objectType)
 {
     this.CurrentValue++;
     this.IsComplete = (this.Progress >= this.m_Count);
 }