/// <summary>
 /// 任何一个策略牌的使用方法
 /// </summary>
 /// <param name="uInput"></param>
 /// <returns></returns>
 public virtual bool Use(UseInput uInput = null)
 {
     if (Owner.bDot < cost)
     {
         return false;
     }
     Owner.policyCard.Remove(this);
     GameCore.IDP.CID.Del(this);
     if (Fuction(uInput))
     {
         Owner.bDot -= cost;
         return true;
     }
     else
     {
         return false;
     }
 }
Example #2
0
    private void Populate()
    {
        inputPool      = new List <UseInput>();
        outputPool     = new List <UseInput>();
        nameField.text = GameHandler.dataHandler.GetExpressionName(currentExpression);

        // Create inputs and outputs
        int   created     = 0;
        float elementSize = 0;
        float padding     = 20.0f;

        foreach (ElementData ed in GameHandler.dataHandler.GetExpressionInputs(currentExpression))
        {
            UseInput      ui    = Instantiate(GameHandler.objectHandler.useInput, inputs).GetComponent <UseInput>();
            RectTransform trans = ui.GetComponent <RectTransform>();
            elementSize         = trans.sizeDelta.x;
            trans.localPosition = new Vector3(padding + (created * (elementSize + padding)), 0.0f, 0.0f);

            ui.SetData(true, ed);

            inputPool.Add(ui);
            created++;
        }
        inputs.sizeDelta = new Vector2(((elementSize + padding) * created) + padding, inputs.sizeDelta.y);

        created = 0;
        foreach (ElementData ed in GameHandler.dataHandler.GetExpressionOutputs(currentExpression))
        {
            UseInput      ui    = Instantiate(GameHandler.objectHandler.useInput, outputs).GetComponent <UseInput>();
            RectTransform trans = ui.GetComponent <RectTransform>();
            elementSize         = trans.sizeDelta.x;
            trans.localPosition = new Vector3(padding + (created * (elementSize + padding)), 0.0f, 0.0f);

            ui.SetData(false, ed);

            outputPool.Add(ui);
            created++;
        }
        outputs.sizeDelta = new Vector2(((elementSize + padding) * created) + padding, outputs.sizeDelta.y);
    }
 /// <summary>
 /// 策略牌使用时执行的操作
 /// </summary>
 /// <param name="uInput"></param>
 /// <returns></returns>
 public abstract bool Fuction(UseInput uInput = null);