• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# StorySystem.StoryInstance类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中StorySystem.StoryInstance的典型用法代码示例。如果您正苦于以下问题:C# StoryInstance类的具体用法?C# StoryInstance怎么用?C# StoryInstance使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



StoryInstance类属于StorySystem命名空间,在下文中一共展示了StoryInstance类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Evaluate

 protected override void Evaluate(StoryInstance instance, object iterator, object[] args)
 {
     m_ObjPath.Evaluate(instance, iterator, args);
     m_ComponentType.Evaluate(instance, iterator, args);
     if (m_HaveObj) {
         m_ObjVarName.Evaluate(instance, iterator, args);
     }
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:8,代码来源:GeneralCommands.cs


示例2: Evaluate

 protected override void Evaluate(StoryInstance instance, object iterator, object[] args)
 {
     m_MsgId.Evaluate(instance, iterator, args);
     for (int i = 0; i < m_MsgArgs.Count; ++i) {
         IStoryValue<object> val = m_MsgArgs[i];
         val.Evaluate(instance, iterator, args);
     }
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:8,代码来源:GeneralCommands.cs


示例3: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     int objId = m_ObjId.Value;
     string value = m_Value.Value;
     EntityInfo charObj = ClientModule.Instance.GetEntityById(objId);
     if (null != charObj) {
         charObj.IsControlByStory = (0 == value.CompareTo("true"));
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:10,代码来源:ObjectCommands.cs


示例4: Evaluate

 protected override void Evaluate(StoryInstance instance, object iterator, object[] args)
 {
     m_Pos.Evaluate(instance, iterator, args);
     m_Radius.Evaluate(instance, iterator, args);
     m_Type.Evaluate(instance, iterator, args);
     m_EventName.Evaluate(instance, iterator, args);
     if (m_HaveSet) {
         m_SetVar.Evaluate(instance, iterator, args);
         m_SetVal.Evaluate(instance, iterator, args);
         m_ElseSetVal.Evaluate(instance, iterator, args);
     }
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:12,代码来源:GameLogicCommands.cs


示例5: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     Scene scene = instance.Context as Scene;
     if (null != scene) {
         int objId = m_ObjId.Value;
         string value = m_Value.Value;
         EntityInfo charObj = scene.SceneContext.GetEntityById(objId);
         if (null != charObj) {
             charObj.IsControlByStory = (0 == value.CompareTo("true"));
         }
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:13,代码来源:ObjectCommands.cs


示例6: Execute

 public bool Execute(StoryInstance instance, long delta, object iterator, object[] args)
 {
     if (IsCompositeCommand) {
         return ExecCommand(instance, delta, iterator, args);
     } else {
         if (!m_LastExecResult) {
             //重复执行时不需要每个tick都更新变量值,每个命令每次执行,变量值只读取一次。
             Evaluate(instance, iterator, args);
         }
         m_LastExecResult = ExecCommand(instance, delta);
         return m_LastExecResult;
     }
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:13,代码来源:IStoryCommand.cs


示例7: ExecCommand

        protected override bool ExecCommand(StoryInstance instance, long delta)
        {
            Scene scene = instance.Context as Scene;
            if (null != scene) {
                int objId = 0;
                if (m_ParamNum >= 5) {
                    Vector3 pos = m_Pos.Value;
                    float dir = m_Dir.Value;
                    int camp = m_Camp.Value;
                    int linkId = m_LinkId.Value;
                    objId = scene.CreateEntity(m_UnitId.Value, pos.X, pos.Y, pos.Z, dir, camp, linkId);
                    if (m_ParamNum > 6) {
                        int aiLogic = m_AiLogic.Value;

                        EntityInfo charObj = scene.SceneContext.GetEntityById(objId);
                        if (null != charObj) {
                            charObj.GetAiStateInfo().Reset();
                            charObj.GetAiStateInfo().AiLogic = aiLogic;
                            if (m_ParamNum > 7) {
                                int leaderId = m_LeaderId.Value;
                                charObj.GetAiStateInfo().LeaderID = leaderId;
                            } else {
                                charObj.GetAiStateInfo().LeaderID = 0;
                            }
                            IEnumerable aiParams = m_AiParams.Value;
                            int ix = 0;
                            foreach (string aiParam in aiParams) {
                                if (ix < AiStateInfo.c_MaxAiParamNum) {
                                    charObj.GetAiStateInfo().AiParam[ix] = aiParam;
                                    ++ix;
                                } else {
                                    break;
                                }
                            }
                        }
                    }
                    EntityInfo obj = scene.GetEntityById(objId);
                    if (null != obj) {
                        Msg_RC_CreateNpc msg = DataSyncUtility.BuildCreateNpcMessage(obj);
                        scene.NotifyAllUser(RoomMessageDefine.Msg_RC_CreateNpc, msg);
                    }
                }
                if (m_HaveObjId) {
                    string varName = m_ObjIdVarName.Value;
                    instance.SetVariable(varName, objId);
                }
            }
            return false;
        }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:49,代码来源:NpcCommands.cs


示例8: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     UserThread userThread = instance.Context as UserThread;
     if (null != userThread) {
         string msgId = m_MsgId.Value;
         ArrayList arglist = new ArrayList();
         for (int i = 0; i < m_MsgArgs.Count; ++i) {
             IStoryValue<object> val = m_MsgArgs[i];
             arglist.Add(val.Value);
         }
         object[] args = arglist.ToArray();
         userThread.StorySystem.SendMessage(msgId, args);
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:15,代码来源:GeneralCommands.cs


示例9: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     bool triggered = false;
     string name = m_Name.Value;
     float radius = m_Radius.Value;
     string type = m_Type.Value;
     string eventName = m_EventName.Value;
     UnityEngine.GameObject obj = UnityEngine.GameObject.Find(name);
     if (null != obj) {
         UnityEngine.Vector3 pos = obj.transform.position;
         if (type == "myself") {
             EntityViewModel view = EntityController.Instance.GetEntityViewById(ClientModule.Instance.LeaderID);
             if (null != view && null != view.Actor) {
                 if ((view.Actor.transform.position - pos).sqrMagnitude < radius * radius) {
                     GfxStorySystem.Instance.SendMessage(eventName, name, radius, type);
                     triggered = true;
                 }
             }
         } else if (type == "anyenemy" || type == "anyfriend") {
             EntityInfo myself = ClientModule.Instance.GetEntityById(ClientModule.Instance.LeaderID);
             ClientModule.Instance.KdTree.Query(pos.x, pos.y, pos.z, radius, (float distSqr, KdTreeObject kdObj) => {
                 if (type == "anyenemy" && EntityInfo.GetRelation(myself, kdObj.Object) == CharacterRelation.RELATION_ENEMY ||
                     type == "anyfriend" && EntityInfo.GetRelation(myself, kdObj.Object) == CharacterRelation.RELATION_FRIEND) {
                     GfxStorySystem.Instance.SendMessage(eventName, name, radius, type);
                     triggered = true;
                     return false;
                 }
                 return true;
             });
         }
     }
     string varName = m_SetVar.Value;
     object varVal = m_SetVal.Value;
     object elseVal = m_ElseSetVal.Value;
     if (triggered) {
         instance.SetVariable(varName, varVal);
     } else {
         instance.SetVariable(varName, elseVal);
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:41,代码来源:GameLogicCommands.cs


示例10: Evaluate

        protected override void Evaluate(StoryInstance instance, object iterator, object[] args)
        {
            if (m_ParamNum >= 5) {
                m_UnitId.Evaluate(instance, iterator, args);
                m_Pos.Evaluate(instance, iterator, args);
                m_Dir.Evaluate(instance, iterator, args);
                m_Camp.Evaluate(instance, iterator, args);
                m_LinkId.Evaluate(instance, iterator, args);

                if (m_ParamNum > 6) {
                    m_AiLogic.Evaluate(instance, iterator, args);
                    m_AiParams.Evaluate(instance, iterator, args);
                    if (m_ParamNum > 7) {
                        m_LeaderId.Evaluate(instance, iterator, args);
                    }
                }
            }
            if (m_HaveObjId) {
                m_ObjIdVarName.Evaluate(instance, iterator, args);
            }
        }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:21,代码来源:NpcCommands.cs


示例11: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     UserThread userThread = instance.Context as UserThread;
     if (null != userThread) {
         string key = m_Key.Value;
         object val = m_Value.Value;
         if (val is int) {
             int v = (int)val;
             GlobalData.Instance.AddInt(key, v);
         } else if (val is float) {
             float v = (float)val;
             GlobalData.Instance.AddFloat(key, v);
         } else {
             string v = val as string;
             if (null == v)
                 v = string.Empty;
             GlobalData.Instance.AddStr(key, v);
         }
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:21,代码来源:GameLogicCommands.cs


示例12: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     Scene scene = instance.Context as Scene;
     if (null != scene) {
         bool triggered = false;
         Vector3 pos = m_Pos.Value;
         float radius = m_Radius.Value;
         string type = m_Type.Value;
         string eventName = m_EventName.Value;
         if (type == "user") {
             scene.KdTree.Query(pos, radius, (float distSqr, KdTreeObject kdObj) => {
                 if (kdObj.Object.EntityType != (int)EntityTypeEnum.Hero) {
                     scene.StorySystem.SendMessage(eventName, pos, radius, type);
                     triggered = true;
                     return false;
                 }
                 return true;
             });
         } else if (type == "npc") {
             scene.KdTree.Query(pos, radius, (float distSqr, KdTreeObject kdObj) => {
                 if (kdObj.Object.EntityType != (int)EntityTypeEnum.Hero) {
                     scene.StorySystem.SendMessage(eventName, pos, radius, type);
                     triggered = true;
                     return false;
                 }
                 return true;
             });
         }
         string varName = m_SetVar.Value;
         object varVal = m_SetVal.Value;
         object elseVal = m_ElseSetVal.Value;
         if (triggered) {
             instance.SetVariable(varName, varVal);
         } else {
             instance.SetVariable(varName, elseVal);
         }
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:39,代码来源:GameLogicCommands.cs


示例13: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     string objPath = m_ObjPath.Value;
     object componentType = m_ComponentType.Value;
     UnityEngine.GameObject obj = UnityEngine.GameObject.Find(objPath);
     if (null != obj) {
         UnityEngine.Component component = null;
         Type t = componentType as Type;
         if (null != t) {
             component = obj.AddComponent(t);
         } else {
             string name = componentType as string;
             if (null != name) {
                 t = Type.GetType(name);
                 component = obj.AddComponent(t);
             }
         }
         if (m_HaveObj) {
             string varName = m_ObjVarName.Value;
             instance.SetVariable(varName, component);
         }
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:24,代码来源:GeneralCommands.cs


示例14: ExecCommand

 protected override bool ExecCommand(StoryInstance instance, long delta)
 {
     Scene scene = instance.Context as Scene;
     if (null != scene) {
         int sceneId = m_TargetSceneId.Value;
         object idObj = m_ObjId.Value;
         if (idObj is int) {
             int objId = (int)idObj;
             EntityInfo entity = scene.GetEntityById(objId);
             if (null != entity) {
                 User us = entity.CustomData as User;
                 if (null != us) {
                     RoomServer.RoomServer.Instance.PlayerRequestActiveRoom(sceneId, us.Guid);
                 }
             }
         } else {
             IList<int> list = idObj as IList<int>;
             if (null != list) {
                 List<ulong> guids = new List<ulong>();
                 for (int i = 0; i < list.Count; ++i) {
                     EntityInfo entity = scene.GetEntityById(list[i]);
                     if (null != entity) {
                         User us = entity.CustomData as User;
                         if (null != us) {
                             guids.Add(us.Guid);
                         }
                     }
                 }
                 if (guids.Count > 0) {
                     RoomServer.RoomServer.Instance.PlayerRequestActiveRoom(sceneId, guids.ToArray());
                 }
             }
         }
     }
     return false;
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:36,代码来源:GeneralCommands.cs


示例15: Evaluate

 protected override void Evaluate(StoryInstance instance, object iterator, object[] args)
 {
     m_Key.Evaluate(instance, iterator, args);
     m_Type.Evaluate(instance, iterator, args);
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:5,代码来源:GameLogicCommands.cs


示例16: AddStoryInstance

 private void AddStoryInstance(string storyId, StoryInstance info)
 {
     if (!m_StoryInstancePool.ContainsKey(storyId)) {
         m_StoryInstancePool.Add(storyId, info);
     } else {
         m_StoryInstancePool[storyId] = info;
     }
 }
开发者ID:dreamanlan,项目名称:CSharpGameFramework,代码行数:8,代码来源:ServerStorySystem.cs



注:本文中的StorySystem.StoryInstance类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Domain.Step类代码示例发布时间:2022-05-26
下一篇:
C# Integration.TestClientProvider类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap