Beispiel #1
0
    private EGoodsQuality GetQuality(SkillCreateData data)
    {
        int value = (data.BasePower + data.SkillPower + data.Value - data.Diff) / 4;

        if (value <= 1000)
        {
            return(EGoodsQuality.FanPin);
        }
        else if (value <= 2000)
        {
            return(EGoodsQuality.ZhenPin);
        }
        else if (value <= 3000)
        {
            return(EGoodsQuality.ChaoPin);
        }
        else if (value <= 4000)
        {
            return(EGoodsQuality.JiPin);
        }
        else
        {
            return(EGoodsQuality.JuePin);
        }
    }
Beispiel #2
0
    public void startCreateSkill(SkillCreateData data)
    {
        var curTime = TimeUtil.ConvertDateTimeToLong(System.DateTime.Now);

        var info = new SkillCreateData();

        info.PupilId   = data.PupilId;
        info.SkillType = data.SkillType;
        info.SkillId   = data.SkillId;

        info.TotalTime      = 1 * 60;
        info.StartTime      = curTime;
        info.ChokeStartTime = info.StartTime + (long)(info.TotalTime * 0.6);
        info.EventStartTime = 0;
        info.FinishTime     = 0;

        Data = info;
        StartCreate();
    }
Beispiel #3
0
    /// <summary>
    /// 刷新页面
    /// </summary>
    public override void OnRefresh()
    {
        m_UI.m_ViewState.selectedIndex           = 0;
        m_UI.m_GroupUpTips.alpha                 = 0;
        m_UI.m_CreatingBookInfo.m_IconUp.visible = false;

        var skillCreateProxy = AppFacade.getInstance().RetrieveProxy(SkillCreateProxy.Name) as SkillCreateProxy;

        if (!skillCreateProxy.isCreatingSkill())
        {
            Data = new SkillCreateData();
            (m_UI.m_BtnSelectType as UI_GoodsSmallIcon).m_State.selectedIndex  = 0;
            (m_UI.m_BtnSelectSkill as UI_GoodsSmallIcon).m_State.selectedIndex = 0;
            ChangeViewState(EViewState.BuyList);
            return;
        }

        Data = skillCreateProxy.getData();
        if (Data.isCreateFinish())
        {
            ChangeViewState(EViewState.CreateFinished);
        }
        else if (Data.isEventFinish())
        {
            ChangeViewState(EViewState.CreatingAfterEvent);
        }
        else if (Data.isEventing())
        {
            ChangeViewState(EViewState.SelectEvent);
        }
        else if (Data.isChokeFinish())
        {
            ChangeViewState(EViewState.CreatingBeforeEvent);
        }
        else if (Data.isChoking())
        {
            ChangeViewState(EViewState.Choking);
        }
        else
        {
            ChangeViewState(EViewState.CreatingBeforeChoke);
        }
    }
Beispiel #4
0
    public UniqueSkillData CreateUniqueSkill(SkillCreateData data, string name)
    {
        var pupilDeploy = PupilDeploy.GetInfo(data.PupilId);

        var uniqueSkillInfo = new UniqueSkillData();

        uniqueSkillInfo.Id               = ++NextUid;
        uniqueSkillInfo.Name             = name;
        uniqueSkillInfo.CreatorName      = pupilDeploy.Name;
        uniqueSkillInfo.SkillId1         = data.SkillType;
        uniqueSkillInfo.SkillId2         = data.SkillId;
        uniqueSkillInfo.Quality          = GetQuality(data);
        uniqueSkillInfo.DiffValue        = data.Diff;
        uniqueSkillInfo.Level            = 1;
        uniqueSkillInfo.PracticePerLevel = 100;
        uniqueSkillInfo.Attr             = new PupilAttr();
        uniqueSkillInfo.SkillEffectId    = 1;
        uniqueSkillInfo.Value            = data.Value;

        UniqueSkillMap.Add(uniqueSkillInfo.Id, uniqueSkillInfo);
        return(uniqueSkillInfo);
    }
Beispiel #5
0
    public override void Execute(INotification notification)
    {
        SkillCreateData data = notification.Body as SkillCreateData;

        if (data.PupilId <= 0)
        {
            Debug.Log("还没有选择弟子");
            return;
        }

        if (data.SkillId <= 0)
        {
            Debug.Log("还没有选择残本");
            return;
        }

        if (data.SkillType <= 0)
        {
            Debug.Log("还没有选择心法");
            return;
        }

        var goodsProxy = Facade.RetrieveProxy(GoodsProxy.Name) as GoodsProxy;

        goodsProxy.RemoveItem(data.SkillType, EGoodsType.XinFa, 1);
        goodsProxy.RemoveItem(data.SkillId, EGoodsType.CanBen, 1);

        // 开始创建技能
        var skillCreateProxy = Facade.RetrieveProxy(SkillCreateProxy.Name) as SkillCreateProxy;

        skillCreateProxy.startCreateSkill(data);
        Facade.SendNotification(SkillCreateFacade.NotifyCreateStartSuccess);

        // 数据更新
        AppFacade.getInstance().DataUpdated();
    }
Beispiel #6
0
 public void CreateSkillFinish(SkillCreateData data, string name)
 {
     SendNotification(NotifyCreateFinish, data, name);
 }
Beispiel #7
0
 public void CreateSkill(SkillCreateData data)
 {
     SendNotification(NotifyCreateStart, data);
 }
Beispiel #8
0
 public override void OnUpdateData(params object[] d)
 {
     Data = d[0] as SkillCreateData;
 }
Beispiel #9
0
 public void resetData()
 {
     Data = new SkillCreateData();
 }
Beispiel #10
0
 public void finishCreateSkill()
 {
     Data = new SkillCreateData();
 }
Beispiel #11
0
 SkillCreateProxy(object data) : base(Name, data)
 {
     Data = new SkillCreateData();
 }