示例#1
0
        public override void OnEnter()
        {
            DActionIndicator dActionIndicator = new DActionIndicator();

            dActionIndicator.IndicatorId = MarkerID;
            Service.Get <EventDispatcher>().DispatchEvent(new ActionIndicatorEvents.RemoveActionIndicator(dActionIndicator));
            Finish();
        }
示例#2
0
        public void Start()
        {
            string indicatorId = GetInstanceID().ToString();

            indicatorData                     = new DActionIndicator();
            indicatorData.IndicatorId         = indicatorId;
            indicatorData.TargetTransform     = base.transform;
            indicatorData.IndicatorContentKey = IndicatorContentKey;
            indicatorData.TargetOffset        = Offset;
        }
 public void Awake()
 {
     animator      = GetComponent <Animator>();
     dispatcher    = Service.Get <EventDispatcher>();
     questService  = Service.Get <QuestService>();
     mascotService = Service.Get <MascotService>();
     indicatorData = new DActionIndicator();
     indicatorData.TargetTransform     = base.transform;
     indicatorData.IndicatorContentKey = QuestIndicatorContentKey;
     indicatorData.TargetOffset        = QuestIndicatorOffset;
     speechData = new DCinematicSpeech();
 }
示例#4
0
    public override bool Equals(object obj)
    {
        if (obj == null || !(obj is DActionIndicator))
        {
            return(false);
        }
        DActionIndicator dActionIndicator = obj as DActionIndicator;

        if (string.IsNullOrEmpty(dActionIndicator.IndicatorId))
        {
            return(false);
        }
        return(IndicatorId.Equals(dActionIndicator.IndicatorId));
    }
    private bool actionIndicatorRemoved(ActionIndicatorEvents.RemoveActionIndicator evt)
    {
        DActionIndicator indicatorByID = getIndicatorByID(evt.IndicatorData.IndicatorId);

        if (indicatorByID != null && actionIndicators.ContainsKey(indicatorByID))
        {
            if (actionIndicators[indicatorByID] != null)
            {
                Object.Destroy(actionIndicators[indicatorByID]);
            }
            actionIndicators.Remove(indicatorByID);
        }
        return(false);
    }
    private DActionIndicator getIndicatorByID(string indicatorID)
    {
        DActionIndicator result = null;

        foreach (DActionIndicator key in actionIndicators.Keys)
        {
            if (key.IndicatorId == indicatorID)
            {
                result = key;
                break;
            }
        }
        return(result);
    }
示例#7
0
 public override void OnEnter()
 {
     marker = GameObject.Find(MarkerName);
     if (marker != null)
     {
         indicatorData                     = new DActionIndicator();
         indicatorData.IndicatorId         = MarkerID;
         indicatorData.TargetTransform     = marker.transform;
         indicatorData.IndicatorContentKey = IndicatorContentKey;
         indicatorData.TargetOffset        = Offset;
         Service.Get <EventDispatcher>().DispatchEvent(new ActionIndicatorEvents.AddActionIndicator(indicatorData));
     }
     Finish();
 }
    private IEnumerator loadActionIndicator(DActionIndicator indicatorData)
    {
        AssetRequest <GameObject> assetRequest = Content.LoadAsync <GameObject>(indicatorData.IndicatorContentKey);

        actionIndicators[indicatorData] = null;
        yield return(assetRequest);

        if (indicatorData.TargetTransform != null && !indicatorData.TargetTransform.gameObject.IsDestroyed())
        {
            DActionIndicator indicatorByID = getIndicatorByID(indicatorData.IndicatorId);
            if (indicatorByID != null)
            {
                GameObject gameObject = Object.Instantiate(assetRequest.Asset);
                gameObject.transform.SetParent(indicatorData.TargetTransform);
                gameObject.transform.localPosition = indicatorData.TargetOffset;
                actionIndicators[indicatorData]    = gameObject;
            }
        }
    }
 private void SetTargets()
 {
     if (Target1 != null)
     {
         DActionIndicator dActionIndicator = new DActionIndicator();
         dActionIndicator.IndicatorContentKey = "Prefabs/ActionIndicators/ActionIndicatorArrow";
         dActionIndicator.TargetTransform     = Target1;
         dActionIndicator.TargetOffset        = new Vector3(0f, 1f, 0f);
         Service.Get <EventDispatcher>().DispatchEvent(new ActionIndicatorEvents.AddActionIndicator(dActionIndicator));
     }
     if (Target2 != null)
     {
         DActionIndicator dActionIndicator2 = new DActionIndicator();
         dActionIndicator2.IndicatorContentKey = "Prefabs/ActionIndicators/ActionIndicatorArrow";
         dActionIndicator2.TargetTransform     = Target2;
         dActionIndicator2.TargetOffset        = new Vector3(0f, 1f, 0f);
         Service.Get <EventDispatcher>().DispatchEvent(new ActionIndicatorEvents.AddActionIndicator(dActionIndicator2));
     }
 }
示例#10
0
 public AddActionIndicator(DActionIndicator indicatorData)
 {
     IndicatorData = indicatorData;
 }
示例#11
0
 public RemoveActionIndicator(DActionIndicator indicatorData)
 {
     IndicatorData = indicatorData;
 }