Exemplo n.º 1
0
    /// <summary>
    /// Multiplies only Wood and Stone
    /// </summary>
    /// <param name="stat"></param>
    /// <param name="multiplier"></param>
    /// <returns></returns>
    public static BuildStat Multiply(BuildStat stat, int multiplier)
    {
        BuildStat s = new BuildStat();

        s.Wood  = stat.Wood * multiplier;
        s.Stone = stat.Stone * multiplier;

        return(s);
    }
Exemplo n.º 2
0
        void AddBuildStat(BuildProcess process)
        {
            var stat = new BuildStat(process.Name, _server.FindCurrentBuildArgs(), process.StartTime, process.WorkTime);

            foreach (var task in process.Tasks)
            {
                stat.Tasks.Add(new TaskStat(task.Node.Name, task.StartTime, task.EndTime - task.StartTime));
            }
            _container.Builds.Add(stat);
        }
Exemplo n.º 3
0
    /// <summary>
    /// Will give u the stats of a Specific type of building
    /// </summary>
    /// <param name="hTypeP"></param>
    /// <returns></returns>
    static public BuildStat GiveMeStat(H hTypeP)
    {
        BuildStat res = new BuildStat();

        for (int i = 0; i < _build.Count; i++)
        {
            if (_build[i].HType == hTypeP)
            {
                var arr = _build.ToArray();
                res = arr[i];
            }
        }
        return(res);
    }
Exemplo n.º 4
0
    private static BuildStat GiveMeStat(H hTypeP)
    {
        if (_build.Count == 0)
        {
            LoadBuildStats();
        }

        BuildStat res = new BuildStat();

        for (int i = 0; i < _build.Count; i++)
        {
            if (_build[i].HType == hTypeP)
            {
                res = _build[i];
            }
        }
        return(res);
    }
Exemplo n.º 5
0
    BuildStat _unitStat;//what a unit stat total is. Used for Road
    /// <summary>
    /// If is a Road for example will find out if we have enough materials to
    /// cover this building
    ///
    /// Only convering now :
    /// Wood, Stone
    /// </summary>
    /// <returns></returns>
    protected bool IsUnitBuildCostCovered()
    {
        if (HType != H.Road)
        {
            return(true);
        }

        _unitStat = Book.GiveMeStat(HType);
        var arr = OnScreenPoly.ToArray();

        var soilTemp = RetuFillPolyRealY(arr[0], arr[2],
                                         Mathf.Abs(m.SubDivide.XSubStep),
                                         Mathf.Abs(m.SubDivide.ZSubStep), false);

        var units = soilTemp.Count;

        _unitStat = BuildStat.Multiply(_unitStat, units);

        var wood  = GameController.ResumenInventory1.HasThisItemAndAmt(P.Wood, units);
        var stone = GameController.ResumenInventory1.HasThisItemAndAmt(P.Stone, units);

        return(wood && stone);
    }
Exemplo n.º 6
0
 static bool IsSameName(BuildStat stat, string name)
 {
     return(stat.Name == name);
 }