예제 #1
0
 public HealthCalculateLogic_Container(Health.EHealthEvent eEvent, int iOrder, IHealthCalculateLogic pLogic)
 {
     this.eEvent = eEvent; this.iOrder = iOrder; this.pLogic = pLogic;
 }
예제 #2
0
 public void DoAdd_CustomLogic(IHealthCalculateLogic pLogic, Health.EHealthEvent eEvent, int iOrder = 0)
 {
     _listLogicContainer.Add(new HealthCalculateLogic_Container(eEvent, iOrder, pLogic));
 }
예제 #3
0
 public void CalculateHealth(Health pHealth, IDictionary <string, object> mapMsg, ref Health.EHealthEvent eEvent, ref int iAmount)
 {
     if (pHealth.iHP + iAmount > pHealth.iHP_MAX)
     {
         iAmount = pHealth.iHP_MAX - pHealth.iHP;
     }
 }
예제 #4
0
        public IHealthCalculateLogic DoCreate_LibraryLogic(EHealthCalculateLogicName eLogic, Health.EHealthEvent eEvent, int iOrder = 0)
        {
            IHealthCalculateLogic pLogic = null;

            switch (eLogic)
            {
            case EHealthCalculateLogicName.LimitHP: pLogic = new Limit_MaxHP(); break;


            default: Debug.LogError("Error - Not Found Logic"); return(null);
            }

            _listLogicContainer.Add(new HealthCalculateLogic_Container(eEvent, iOrder, pLogic));
            return(pLogic);
        }