예제 #1
0
        public void Collect(MissionCollectionType mct)
        {
            var idx = curMissionData.Missions.FindIndex(s => { return(s.Key == mct); });

            if (idx != -1)
            {
                curMissionData.Missions[idx].Value += 1;
                if (MissionChangeDelegateDict.ContainsKey(mct))
                {
                    MissionChangeDelegateDict[mct]?.Invoke(
                        MissionDataHelper.MCT_2_Names(mct),
                        curMissionData.Missions[idx].Value,
                        OriginalMission.Missions[idx].Value);
                }
            }
            else
            {
                idx = curMissionData.ProtectMissions.FindIndex(s => { return(s.Key == mct); });
                if (idx != -1)
                {
                    curMissionData.ProtectMissions[idx].Value -= 1;

                    if (MissionChangeDelegateDict.ContainsKey(mct))
                    {
                        MissionChangeDelegateDict[mct]?.Invoke(
                            MissionDataHelper.MCT_2_Names(mct),
                            curMissionData.ProtectMissions[idx].Value,
                            OriginalMission.ProtectMissions[idx].Value);
                    }
                }
            }
        }
예제 #2
0
 public bool RegisterMissionItemPos(MissionCollectionType mct, RectTransform item)
 {
     if (!MissionItemPosDict.ContainsKey(mct))
     {
         MissionItemPosDict.Add(mct, item);
         return(true);
     }
     return(false);
 }
예제 #3
0
 /*
  *  item是missionItem 需要保存其位置,这个MissionItem,是用来定位在UI上位置的,用于特效使用!
  */
 public bool RegisterMissionChangeDelegate(MissionCollectionType mct, MissionChangeDelegate cb)
 {
     if (!MissionChangeDelegateDict.ContainsKey(mct))
     {
         MissionChangeDelegateDict.Add(mct, cb);
         return(true);
     }
     return(false);
 }
예제 #4
0
 public bool GetMissionItemPos(MissionCollectionType mct, ref Vector3 pos)
 {
     if (MissionItemPosDict.ContainsKey(mct))
     {
         pos   = Camera.main.ScreenToWorldPoint(MissionItemPosDict[mct].position);
         pos.z = 0;
         return(true);
     }
     return(false);
 }
예제 #5
0
 public static string MCT_2_SpriteNames(MissionCollectionType mct)
 {
     return(MissionCollectionTypeSpriteNames[(int)mct]);
 }
예제 #6
0
 public MissionPair(MissionCollectionType mct, int n)
 {
     Key   = mct;
     Value = n;
 }