コード例 #1
0
 public DestroyBuildingCondition(TaskConditionConfigData conditionConfigData, Task task, int conditionID, int startValue, int currentValue)
     : base(conditionConfigData, task, conditionID, startValue, currentValue)
 {
     this.m_BuildingType = (BuildingType)conditionConfigData.Value1;
     this.m_Count        = conditionConfigData.Value2;
     this.IsComplete     = (this.Progress >= this.m_Count);
 }
コード例 #2
0
 public PlunderCondition(TaskConditionConfigData conditionConfigData, Task task, int conditionID, int startValue, int currentValue)
     : base(conditionConfigData, task, conditionID, startValue, currentValue)
 {
     this.m_ResourceType = (ResourceType)conditionConfigData.Value1;
     this.m_Count        = conditionConfigData.Value2;
     this.IsComplete     = (this.Progress >= this.m_Count);
 }
コード例 #3
0
 public HireMercenaryCondition(TaskConditionConfigData conditionConfigData, Task task, int conditionID, int startValue, int currentValue)
     : base(conditionConfigData, task, conditionID, startValue, currentValue)
 {
     this.m_MercenaryType = (MercenaryType)conditionConfigData.Value1;
     this.m_Count         = conditionConfigData.Value2;
     this.IsComplete      = (this.Progress >= this.m_Count);
 }
コード例 #4
0
ファイル: Condition.cs プロジェクト: KangLLL/century_war
 public Condition(TaskConditionConfigData conditionConfigData, Task task, int conditionID, int startValue, int currentValue)
 {
     this.Task = task;
     this.ConditionConfigData = conditionConfigData;
     this.ConditionID         = conditionID;
     this.CurrentValue        = currentValue;
     this.StartValue          = startValue;
 }
コード例 #5
0
    public UpgradeArmyCondition(TaskConditionConfigData conditionConfigData, Task task, int conditionID, int startValue, int currentValue)
        : base(conditionConfigData, task, conditionID, startValue, currentValue)
    {
        this.m_ArmyType = (ArmyType)conditionConfigData.Value1;
        this.m_Level    = conditionConfigData.Value2;

        this.IsComplete = (this.Progress >= this.m_Level);
    }
コード例 #6
0
ファイル: Task.cs プロジェクト: KangLLL/century_war
    private Condition GenerateCondition(TaskConditionConfigData data, int conditionID, TaskProgressInformation progress)
    {
        Condition condition = null;

        switch (data.ConditionType)
        {
        case TaskConditionType.UpgradeBuildingCondition:
            condition = new UpgradeBuildingCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.ConstructBuildingCondition:
            condition = new ConstructBuildingCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.ProduceArmyCondition:
            condition = new ProduceArmyCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.UpgradeArmyCondition:
            condition = new UpgradeArmyCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.HonourCondition:
            condition = new HonourCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.PlunderCondition:
            condition = new PlunderCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.RemoveObjectCondition:
            condition = new RemoveObjectCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.DestroyBuildingCondition:
            condition = new DestroyBuildingCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;

        case TaskConditionType.HireMercenaryCondition:
            condition = new HireMercenaryCondition(data, this, conditionID, progress.StartValue, progress.CurrentValue);
            break;
        }
        return(condition);
    }
コード例 #7
0
 public HonourCondition(TaskConditionConfigData conditionConfigData, Task task, int conditionID, int startValue, int currentValue)
     : base(conditionConfigData, task, conditionID, startValue, currentValue)
 {
     this.m_Honour   = conditionConfigData.Value1;
     this.IsComplete = (this.Progress >= this.m_Honour);
 }
コード例 #8
0
    public static int GetCurrentValueFromConfig(TaskConditionConfigData configData)
    {
        TaskConditionType conditionType = configData.ConditionType;

        switch (conditionType)
        {
        case TaskConditionType.ConstructBuildingCondition:
        {
            BuildingType             type      = (BuildingType)configData.Value1;
            int                      result    = 0;
            List <BuildingLogicData> buildings = LogicController.Instance.GetBuildings(type);
            foreach (BuildingLogicData building in buildings)
            {
                if (building.Level != 0)
                {
                    result++;
                }
            }
            return(result);
        }

        case TaskConditionType.DestroyBuildingCondition:
        {
            BuildingType type = (BuildingType)configData.Value1;
            return(LogicController.Instance.PlayerData.GetDestroyBuilding(type));
        }

        case TaskConditionType.HonourCondition:
        {
            return(LogicController.Instance.PlayerData.Honour);
        }

        case TaskConditionType.PlunderCondition:
        {
            if ((int)configData.Value1 == 0)
            {
                return(LogicController.Instance.PlayerData.PlunderTotalGold);
            }
            else if ((int)configData.Value1 == 1)
            {
                return(LogicController.Instance.PlayerData.PlunderTotalFood);
            }
            else
            {
                return(LogicController.Instance.PlayerData.PlunderTotalOil);
            }
        }

        case TaskConditionType.ProduceArmyCondition:
        {
            ArmyType armyType = (ArmyType)configData.Value1;
            return(LogicController.Instance.PlayerData.GetProduceArmyCount(armyType));
        }

        case TaskConditionType.RemoveObjectCondition:
        {
            return(LogicController.Instance.PlayerData.RemoveTotalObject);
        }

        case TaskConditionType.UpgradeArmyCondition:
        {
            ArmyType armyType = (ArmyType)configData.Value1;
            return(LogicController.Instance.PlayerData.GetArmyLevel(armyType));
        }

        case TaskConditionType.UpgradeBuildingCondition:
        {
            BuildingType             buildingType = (BuildingType)configData.Value1;
            List <BuildingLogicData> buildings    = LogicController.Instance.GetBuildings(buildingType);
            int result = 0;
            foreach (BuildingLogicData building in buildings)
            {
                if (building.Level > result)
                {
                    result = building.Level;
                }
            }
            return(result);
        }

        case TaskConditionType.HireMercenaryCondition:
        {
            MercenaryType mercenaryType = (MercenaryType)configData.Value1;
            return(LogicController.Instance.PlayerData.GetMercenaryStartNO(mercenaryType));
        }

        default:
            return(0);
        }
    }
コード例 #9
0
 public RemoveObjectCondition(TaskConditionConfigData conditionConfigData, Task task, int conditionID, int startValue, int currentValue)
     : base(conditionConfigData, task, conditionID, startValue, currentValue)
 {
     this.m_Count    = conditionConfigData.Value1;
     this.IsComplete = (this.Progress >= this.m_Count);
 }