/*设置对象数值*/ /*变量修改操作*/ //public uint AddVarChange(lc_VarChange.objType sourceType, uint source_id, int setTime, int RunType, int TypeParam, // lc_VarChange.objType eventTag, uint tag_id, matchVarChg[] invarchg) { // return objgather.AddVarChange(sourceType, source_id, setTime, RunType, TypeParam, eventTag, tag_id, invarchg); //} //新增变量修改 //public void DelVarChange(uint event_id) { // objgather.DelVarChange(event_id); //} //删除变量修改 //public int ExecVarChange(int nowtime) { // return objgather.ExecVarChange(nowtime); //} //执行变量修改 //事件 //public void AddEvent(uint event_id, string event_name, int judge_type) { // objgather.AddEvent(event_id, event_name, judge_type); //} //public void AddTrigger(uint event_id, lc_Object.GAMEOBJTYPE obj_type, int scope, string varname, int cond_type, int varvalue) { // objgather.AddTrigger(event_id, obj_type, scope, varname, cond_type, varvalue); //} //public void AddTrigger(uint event_id, uint triggerEvent_id) { // objgather.AddTrigger(event_id, triggerEvent_id); //} //public void showEvent() { // objgather.ShowEvent(); //} //对象附加规则操作 public int RelAddCanon(uint rel_id, uint canon_id) /*新增教规*/ { lc_Religion rel = GetObject <lc_Religion>(rel_id); lc_Canon canon = GetObject <lc_Canon>(canon_id); if (rel != null && canon != null) { if (rel.m_theorypt < canon.m_cost) { return(0); //理论点数不足 } else { rel.m_theorypt -= canon.m_cost; rel.RelAddCanon(canon); return(1); } //matchVarChg[] varchgarray = new matchVarChg[canon.chglist.Count]; //for( int i = 0; i < varchgarray.Length; i++) { // varchgarray[i] = new matchVarChg(canon.chglist[i].instruction, canon.chglist[i].varname, canon.chglist[i].chgnum, canon.chglist[i].instruction, canon.chglist[i].varname, -canon.chglist[i].chgnum); //} //uint event_id =objgather.AddVarChange(lc_VarChange.objType.CANON,canon_id,NowRound(),2,0,lc_VarChange.objType.RELIGION,rel_id,varchgarray); //rel.relAddCanon(canon_id, event_id); //objgather.ExecVarChange(1); /*立即轮询一次事件*/ //return 1; } else { return(-1); /*逻辑错误*/ } } /*宗教新增规则*/
}//构造函数 public lc_Canon(lc_Canon srcTag) : base(srcTag) { this.m_cost = srcTag.m_cost; this.chglist = new List <VarChg>(); for (int i = 0; i < srcTag.chglist.Count; i++) { VarChg newvarchg = new VarChg(srcTag.chglist[i].instruction, srcTag.chglist[i].varname, srcTag.chglist[i].chgnum, srcTag.chglist[i].objtype); chglist.Add(newvarchg); } }//拷贝构造函数
public int RelDelCanon(lc_Canon canon) { int index = listCanon.FindIndex(delegate(uint temp) { return(temp == canon.obj_id); }); if (index == -1) { return(-1); } else { canon.ExecLose(this); listCanon.RemoveAt(index); return(1); } }
public List <uint> listCanon; /*教规*/ public int RelAddCanon(lc_Canon canon) { int index = listCanon.FindIndex(delegate(uint temp) { return(temp == canon.obj_id); }); if (index != -1) { return(-1); } else { canon.ExecEffect(this); listCanon.Add(canon.obj_id); return(1); } }
} /*宗教新增规则*/ public int RelDelCanon(uint rel_id, uint canon_id) /*删除教规*/ { lc_Religion rel = GetObject <lc_Religion>(rel_id); lc_Canon canon = GetObject <lc_Canon>(rel_id); if (rel != null && canon != null) { rel.RelDelCanon(canon); return(1); //int index = rel.listCanonEvent.FindIndex(delegate (CanonEvent temp) { return temp.canon_id == canon_id; }); //if (index == -1) return -1; /*逻辑错误*/ //else { // objgather.DelVarChange(rel.listCanonEvent[index].event_id); // rel.listCanonEvent.RemoveAt(index); // return 1; //} } else { return(-1); /*逻辑错误*/ } } /*宗教删除规则*/