Beispiel #1
0
    public static bool load(string filePath, IMessage message)
    {
        try
        {
            FileStream fs = new FileStream(filePath, FileMode.Open);
//                      CodedInputStream ctx = new CodedInputStream(fs);
            message.MergeFrom(fs);
        }
        catch (Exception e)
        {
            GSLogTool.exception("GSProtoBuffTool.init", e, string.Format("load file:{0} failed", filePath));
            message = null;
        }

        if (message == null)
        {
            GSLogTool.eFormat("GSProtoBuffTool.init", "filePath:{0} failed", filePath);
            return(false);
        }
        else
        {
            GSLogTool.dFormat("GSProtoBuffTool.init", "filePath:{0} success", filePath);
            return(true);
        }
    }
Beispiel #2
0
    public void changeTo(string name, params object[] parameters)
    {
        if (GSTest.GSDEBUG)
        {
            GSLogTool.wFormat("GSStateM.changeTo", "name:{0} parameters:{1}", name, parameters);
        }
        else
        {
            GSLogTool.dFormat("GSStateM.changeTo", "name:{0} parameters:{1}", name, parameters);
        }
        if (!mStates.ContainsKey(name))
        {
            GSLogTool.eFormat("GSStateM.changeTo", "name:{} not exit", name);
            return;
        }

        if (mCurState != null)
        {
            mCurState.onExit();
        }

        mCurState = mStates[name];

        mCurState.onEnter(parameters);
    }
Beispiel #3
0
    public void callCurState(string funcName, params object[] parameters)
    {
        if (mCurState == null)
        {
            GSLogTool.eFormat("GSStateM.changeTo", "mCurState == null");
            return;
        }

        mCurState.call(funcName, parameters);
    }
Beispiel #4
0
    public void remove(string name)
    {
        GSLogTool.dFormat("GSStateM.remove", "name:{0}", name);
        if (!mStates.ContainsKey(name))
        {
            GSLogTool.eFormat("GSStateM.remove", "name:{} not exit", name);
            return;
        }

        mStates.Remove(name);
    }
Beispiel #5
0
    public static void save(string fileName, IMessage message)
    {
        if (GSFileTool.getFileExit(fileName))
        {
            GSFileTool.deleteFile(fileName);
        }
        using (var output = File.Create(fileName))
        {
            message.WriteTo(output);
        }

        GSLogTool.dFormat("GSProtoBuffTool.save", "保存成功:{0}", fileName);
    }
Beispiel #6
0
    public void add(GSState state)
    {
        GSLogTool.dFormat("GSStateM.add", "state:{0}", state);
        string name = state.Name;

        if (mStates.ContainsKey(name))
        {
            GSLogTool.eFormat("GSStateM.add", "name:{} already exit", name);
            return;
        }

        mStates.Add(name, state);
    }
Beispiel #7
0
    public void call(string funcName, params object[] parameters)
    {
        if (!mFuncs.ContainsKey(funcName))
        {
            if (LuaTable.ContainsKey(funcName) == false)
            {
                GSLogTool.eFormat("GSState.call", "{0} funcName:{1} not eixt", this, funcName);
                return;
            }

            mFuncs[funcName] = LuaTable[funcName] as LuaFunction;;
        }

        ArrayList realParames = new ArrayList(parameters);

        realParames.Insert(0, this.LuaTable);
        mFuncs[funcName].Call(realParames.ToArray());
    }